• ベストアンサー

Excel 結合について

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

  • nene99
  • お礼率78% (152/194)

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

  • ベストアンサー
  • 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

  • Excel コピーについて

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

  • エクセルVBAでセル結合

    いつもお世話になっています。 エクセル2003でVBAを使って下記をしたいのでその、VBA構文を教えて下さい。 特定の列のあるセルに文字が入っています。 (文字が入っている列は固定ですが、行番号はデータによって変わります。例えば、Aデータの場合は「J30」、Bデータの場合は、「J55」だったりします。) この文字が入っているセルをVBAで検索し、検索したセルを右隣のセルと結合します。(先ほどのAデータの場合、J30:Z30に結合します。) 更に、文字が入っているセルが2以上の複数の場合があります。(先ほどのAデータの場合、「J30」と「J40」と「J45」という感じです。文字が入っているセルの数はデータにより異なります。) 結合が終わり、このシートのデータがあるところだけに罫線を引きます。(このシートのデータというのは、前述の文字とそれ以外は、「数字」と「・」です。 ややこしいですが、よろしくお願いします。

  • Excelの結合について

    Excel2010で結合されていない台帳から結合されている台帳へ貼り付けるには、どうしたらよろしいのでしょうか? 文字数が多くセルに表示がされないので、結合することいたしました。 文字の色も反映させて張り付けしたいです。 (例) コピー元は全て結合されていなく、「6行・13行・22行」を結合されているセルに貼り付けたい。 それ以外の行も結合なしで貼り付ける。 コピー先は「6行と7行・14行と15行・24行と25行」と結合すると行がズレるので結合されているセルに貼り付けたい。 セルの行幅を広げるのに限界があり現状セルの結合しかないのですが、文字を小さくしないで表示させる方法が他にもあれば、セルの結合に拘りません。 よろしくお願いします。

  • Excel VBAで結合セルに連番を振っていくには?

    Microsoft Excel 2003での質問です。 表を作成しました。 結合セルが複数ある1列に(セル数はまちまち・複数の列には非結合)、連番を振っていく作業をしています。 これをVBAを使って自動化したいのです。 列に連番がすでに入力されている最終行の下のセル(つまりこれから連番が入る空白セル)を選択、 範囲指定し(セル数はまちまちなのでこれは手作業)、 セルを結合させるまではできたのですが、 この結合させたセルに、[(一つ上の結合セル)+(1)]の値を入力させるにはどうプログラムしたらよいでしょうか? わかりにくい説明で恐縮ですが、どなたかご教示ください。

  • エクセル:結合したセルの高さ自動設定

    EXCEL2000で結合したセルの高さ自動設定がききません。 結合したセルは ・文字の配置 横位置:左詰 縦位置:上詰め ・文字の制御 折り返して全体を表示 セルを結合する になっています。 セルを5つ結合して、その結合したセルの横幅を文字列が 越えたら次の行にいって、かつその折り返し部分が見えるように したいんです。 結合していない単体のセルの場合は、折り返され、かつ 折り返し部分が見えるように高さが変わります。 結合したセルでの高さ自動設定はできないのでしょうか? 教えてください。よろしくお願いします。

  • EXCELで同じ値のセルを結合したいのですが。。。

    よろしくお願いします。 OSはwindows2000で、EXCEL2000を使用しています。 A列内に数字が昇順に入っています。 数字によって、行数がばらばらで1~1000の値が入っていますが、全体では、5000行のデータです。 同じ値のセルを結合したいのです。 現状は、1から順に選択して、セルの結合しています。 早く出来る方法ありますか? よろしくお願いします。

  • エクセルの結合したセル

    こんにちわ。 上下に結合したセルがAの列に並んでいます。A1、2で一つ、A2、3で一つというふうに。 そこに日付が入っています。 Bの列も同様にあり、そこには文字列が入っています。 それらを一つのセルにまとめたものを別のシートに作ろうと思いました。 文字列と日付なので&とTEXTを使い、うまくいったのですが、一番上を合わせて、下へスライドコピーしたらデータが飛び飛びになってしまいました。 結合した場合番地が上のセルの番地になります。A1,2なら番地はA1。 なのでA2には何も数値がないので、空白扱いとなってしまいました。 データ量が多いので、できればスライドさせて一気にやりたいのですが、なにかいい方法はありませんでしょうか? 難解な文章で申し訳ありません。。

  • エクセルで結合したセルをグラフにしたい

    エクセルでグラフ(レーダーチャート)を作成するにあたって、複数のセルを結合した箇所を1データ(セル)として認識させたいのですが、結合前の空白のセルもカウントしてしまいます。 現在、具体的な「グラフ データの範囲として」 ='〇〇シート'!$M$19:$M$25,'〇〇シート'!$O$19:$P$25 となっておりますが、 どの列でも23、24行目を結合しているので、見た目は結合されているので あるはずのない24行目が認識されていて、レーダーチャート上で空白になってしまいます。 どうにかして24行目を外して計算したいのですがどのようにグラフのデータ範囲を選択すればいいのでしょうか?

  • マクロ セルを自動的に結合したい

    A列~C列に文字がバラバラ入っています。(多くても50行辺りまで) 文字が入っているセルの下に空白がいくつが並んでいます。 次の文字があるまで文字+空白をまとめて結合したいのです。 力をお借りできないでしょうか? 宜しくお願いします。

  • Excel VBA 全てのセルを読み込み、背景色で判断

    VBA初心者です。環境はWindowsXP,Excel2003です。 よろしくお願い致します。 1~3のシートの全てのセルを読み込んで、背景色が赤色のセルの文字をシート4にコピペしたいのです。 このとき、赤色になるセルの列は必ずF~ABまで結合されています。 替わるのは何行目かという行数のみです。 (結合セルは、最初のH列と見なせば良いのであれば気にしないで下さい。) さらに、赤色のセルをコピペする際に、 赤色のセルから上に上がって、 最初の空白のあるセルの下3行も一緒にコピペして シート4に連れて行きたいのです。 ほとんどのセルは文字と数字で埋まっていますので、 空白セルを条件にすると組み易いかと考えました。 【シート4】は下記のようになる予定です。  ABCDEFGHIJKLMNOPQRSTU 1~背景色が赤かったシート1のセル~~~~~ 2~を上に行って最初の空白のあったセルの~~ 3~下3行の丸々コピペ~~~~~~~~~~~ 4~~背景色が赤かったシート1のセル内容~~ 5~背景色が赤かったシート2のセル~~~~~ 6~を上に行って最初の空白のあったセルの~~ 7~下3行の丸々コピペ~~~~~~~~~~~ 8~~背景色が赤かったシート2のセル内容~~ 9~背景色が赤かったシート1のセル~~~~~ 10~を上に行って最初の空白のあったセルの~~ 11~下3行の丸々コピペ~~~~~~~~~~~ 12~~背景色が赤かったシート1のセル内容~~ カナリの初心者なため、組まれたものは読めるのですが、 最初から組む事がなかなか出来ません。 お手数をおかけしますが、 どなたか分かる方がいらっしゃったらお願い致します。

専門家に質問してみよう