Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3243 / 13644 ツリー ←次へ | 前へ→

【63315】結合されたセルの数 超初心者 09/10/26(月) 12:43 質問[未読]
【63317】Re:結合されたセルの数 seg 09/10/26(月) 13:12 発言[未読]
【63318】Re:結合されたセルの数 SS 09/10/26(月) 13:13 発言[未読]
【63319】Re:結合されたセルの数 Jaka 09/10/26(月) 13:43 発言[未読]
【63334】Re:結合されたセルの数 超初心者 09/10/28(水) 12:25 お礼[未読]
【63335】Re:結合されたセルの数 Jaka 09/10/28(水) 13:36 発言[未読]

【63315】結合されたセルの数
質問  超初心者  - 09/10/26(月) 12:43 -

引用なし
パスワード
   超初心者です。
A1:J1のセルの範囲で結合されたセルの数を値を求めたいと思っています。
例えば、A1:C1のセルが結合されていれば、「3」という値を得たいと思っています。
よろしくお願いいたします。

【63317】Re:結合されたセルの数
発言  seg  - 09/10/26(月) 13:12 -

引用なし
パスワード
   Sub test()
  For i = 1 To 255
    ' MergeArea
    For Each MrgCell In Cells(1, i).MergeArea
      cnt = cnt + 1
    Next
    ' MergeCells
    If (Cells(1, i).MergeCells) Then
      cnt1 = cnt1 + 1
    End If
  Next
End Sub

上記を工夫してカウントしてください。
2つの方法がありますが、セルが結合されていれば
カウントされます。

また、これ以外にも便利な方法があるかもです。

【63318】Re:結合されたセルの数
発言  SS  - 09/10/26(月) 13:13 -

引用なし
パスワード
   ▼超初心者 さん:
マクロの記録でセルの結合を試してみると以下のコードが出来ましたので
MergeCells = True のセル個数を数える方法で作ってみました。
但しこの方法では2個、2個の2組の結合があっても4個とカウントしてしまいます。
その辺りが必要ならば再度質問なされば識者の方の回答があると思います。

Sub Macro2()
' Macro2 Macro
' マクロ記録日 : 2009/10/26 ユーザー名 :
  Range("E1").Select
  With Selection
    .HorizontalAlignment = xlGeneral
    .VerticalAlignment = xlCenter
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = True <=====
  End With
End Sub

Sub test()
  Dim Myrng As Range
  Dim s As Range
  Dim i As Integer
  Dim RA As String
  
  Set Myrng = Range("A1:J1")
    For Each s In Myrng
      If s.MergeCells = True Then
        i = i + 1
        If RA = "" Then
          RA = s.Address
        Else
          RA = RA & " , " & s.Address
        End If
      End If
    Next
  Set Myrng = Nothing
  MsgBox RA & " の " & Chr(10) & i & " 個が結合セルです。"
End Sub

>超初心者です。
>A1:J1のセルの範囲で結合されたセルの数を値を求めたいと思っています。
>例えば、A1:C1のセルが結合されていれば、「3」という値を得たいと思っています。
>よろしくお願いいたします。

【63319】Re:結合されたセルの数
発言  Jaka  - 09/10/26(月) 13:43 -

引用なし
パスワード
   実際、なにをなさりたいのか、何が知りたいのか、
中途半端というか、少ない例えなので良く解りませんが。
全部のセル総辺りでチェック。

Dim Cel As Range
For Each Cel In Range("A1:M50")
  If Cel.MergeCells = True Then
   If Cel.Address = Cel.MergeArea.Cells(1).Address Then
     Ct = Ct + Cel.MergeArea.Cells.Count
   End If
  End If
Next
MsgBox Ct

【63334】Re:結合されたセルの数
お礼  超初心者  - 09/10/28(水) 12:25 -

引用なし
パスワード
   超初心者です。教えていただきありがとうございました。
充分説明ができずにすみませんでした。
またよろしくお願いいたします。

【63335】Re:結合されたセルの数
発言  Jaka  - 09/10/28(水) 13:36 -

引用なし
パスワード
   あ、何となく解った。

セル範囲.結合セル.Count

見たいな物は無いです。

3243 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free