• ベストアンサー

Excel 結合について

Excel2000を使用しています。 データが入っているシートがあります。 ある1つの列について、下の行を見て、次の文字があるところまで、次々とセルの結合を行いたいのですが、VBAを教えてください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

「次の文字があるところまで」はややくせ者です。セルの表示は何もなくても、実は数式が入っている場合もあります。このような場合はどうするのでしょうか? 以下のマクロは数式があっても表示が空白なら、結合対象としています。 マクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はシート画面に戻って処理対象の列を選択後、ALT+F8を押してマクロ一覧からマクロ名を選択して実行してください。 Sub CellsMerge() Dim col, cnt As Integer Dim idx As Long On Error GoTo end0  col = Selection.Column  Application.ScreenUpdating = False  Application.DisplayAlerts = False  For idx = Cells(65536, col).End(xlUp).Row To 1 Step -1   If Cells(idx, col) = "" Then    cnt = cnt + 1   Else    If cnt > 0 Then     ActiveSheet.Cells(idx, col).Resize(cnt + 1, 1).Merge    End If    cnt = 0   End If  Next idx end0:  Application.DisplayAlerts = True  Application.ScreenUpdating = True End Sub もし数式セルは「空白でない」にするなら9行目を以下に置き換えます  If Cells(idx, col) = "" And Cells(idx, col).HasFormula = False Then

nene99
質問者

お礼

いつも大変お世話になっております。 この度もおかげさまで、解決致しました。 どうもありがとうございます!! 本当に助かりました。 また次回もどうぞよろしくお願いいたします。

関連するQ&A

専門家に質問してみよう