Excel VBA質問箱 IV

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

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


1420 / 13646 ツリー ←次へ | 前へ→

【74605】結合するかしないかの条件の付け方 KK 13/8/6(火) 1:26 質問[未読]
【74606】Re:結合するかしないかの条件の付け方 kanabun 13/8/6(火) 10:41 発言[未読]
【74607】Re:結合するかしないかの条件の付け方 KK 13/8/6(火) 11:03 お礼[未読]

【74605】結合するかしないかの条件の付け方
質問  KK  - 13/8/6(火) 1:26 -

引用なし
パスワード
   並び替えを行う際にセルの結合の解除をしてしまいました
それを直そうと思ったのですがデータの数が多く手作業で行うには骨が折れそうだったので
組もうと思ったのですがうまくいかず質問させていただきます

データには2種類あって
1.F〜Qの各セルに文字や数値が入力されているもの
2.Fのみに文字や数値が入力されているもの
となっています
ここで2.のほうの形を合わせるために
2.のみをF〜Qまで結合させたいと思っています
FをアクティブにしてF〜Qまでを結合する
  Range(Selection, Selection.Offset(0, 11)).Select

  Dim r As Range
  If StrComp(TypeName(Selection), "Range", 1) = 0 Then
  For Each r In Selection.Rows
    If r(1).MergeCells = False Then
    r.Merge
    With r.Rows
    .HorizontalAlignment = xlLeft
    .VerticalAlignment = xlBottom
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
   End With
  Else
   With r
   .UnMerge
   .HorizontalAlignment = xlGeneral
   End With
  End If
 Next r
 End If
ここまでは組めたのですがこれでは一つ一つ押していかなければならないので
G3からG3967までで空白セルがあれば自動的にその行のF〜Qまでを結合する
このやり方を教えていただきたいです

拙い質問文で申し訳ありませんがどうかよろしくお願いいたします

【74606】Re:結合するかしないかの条件の付け方
発言  kanabun  - 13/8/6(火) 10:41 -

引用なし
パスワード
   ▼KK さん:

>G3からG3967までで空白セルがあれば自動的にその行のF〜Qまでを結合する

勘ちがいしてるかもしれません。
Sub Try3()
  Dim r As Range
  Dim c As Range, c1 As Range
  
  Set r = [F3:F3967]
  r.Resize(, 12).UnMerge
  On Error Resume Next
    Set c = r.Columns(2).SpecialCells(xlBlanks)
  On Error GoTo 0
  If Not c Is Nothing Then
    For Each c1 In c
      c1.Offset(, -1).Resize(, 12).Merge
    Next
  End If

End Sub

【74607】Re:結合するかしないかの条件の付け方
お礼  KK  - 13/8/6(火) 11:03 -

引用なし
パスワード
   kanabun さん
早速のご返事ありがとうございます。
早速動かしてみたところ無事に結合が必要な全てのデータが
結合されていました
一時はどうなるかと思っていたのですが本当に助かりました
ありがとうございました

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