• 締切済み

アクティブセルの結合解除および再結合

よろしくお願いします  任意のセルとその下のセルを結合しています。  R1C1形式でデーターを入れるときに、一旦結合を解いてデーター 入力後に再度結合させる。 ActiveCell.MergeCells = False ActiveCell.MergeCells = True で、実行したのですが、結合が解除されたままで再度結合することが できません。 再度結合する方法をお教えください。

みんなの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Sub try() Dim r As Range Set r = ActiveCell.MergeArea r.MergeCells = False MsgBox "解除" r.MergeCells = True MsgBox "結合" End Sub 例えばこんなとか?

1211M
質問者

お礼

n-junさん、ありがとうございました 解決しました 今後ともよろしくお願いします

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAショートカットキー セルの結合・解除

    VBAでエクセルで使用するショートカットキーを作成しております。 エクセルは2007を使用しています。 Ctrl+Shift+F で 選択したセルが、結合していたら解除、解除されていたら結合  という命令を作成しました。(ネットから拝借ですが、、、) 選択した範囲のセルに何も書かれていないときは良いのですが、何かが入力された範囲を 選択して、実行するとエクセル上で 【選択範囲には複数のデータ値があります。1つのセルとして結合すると、選択したセル範囲になるもっとも左上端になるデータのみが保持されます(空白セルは無視されます)】 という警告(?)ウインドウが表示されます。 その後「 OK 」 を押すと問題ないのですが「 キャンセル 」を選択すると VBAで ”実行時エラー’1004” RangeクラスのMergeCells プロパティを設定できません。 と エラーになってしまいます。 「キャンセル」を選択した際に、エラーにならないようにするには、どのように修正すれば良いか 教えて頂きたいです。 以下、作成したマクロです。 デバッグを確認すると[ .MergeCells = True ]の部分が黄色くなります。 ---------------------------------------------------------------------- Sub auto_open() Application.OnKey "+^F", "セルの結合解除" End Sub ’------------------------------ Sub セルの結合解除() With Selection If .MergeCells = False Then .MergeCells = True .HorizontalAlignment = xlCenter Else .MergeCells = False End If End With End Sub ---------------------------------------------------------------------- 何卒宜しくお願い致します。

  • エクセル2010のマクロについて、セル結合の解除

    全てのセルを選択して、結合されているセルがあったら全て解除したいのですが、 マクロの記録で作成すると、↓を何百回も繰り返すソースになってしまいます With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlCenter .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With 長すぎるとエラーになってしまいますし、何回繰り返すかもランダムなので、↑の処理を、 結合されたセルがなくなるまで繰り返すという設定にしたいのですが、可能でしょうか? よろしくおねがいします。

  • VBAでセルの結合と分割(解除)をお願いします

    宜しくお願いいたします。 H5とH6のどちらかに数字か記号が入っています以下30個のセルも同様です、H6にデータを入れH5とH6を結合するとセルの認識はH5を認識するのでH6のデータは他へコピー出来ないので結合したセルを再度分割して一行に並び変えているのに下記の構文で実行しているのですが結合にかなりの時間がかかっています。分割は瞬時にできています。 お願いしたい件は即時もしくはなるべく早い方法がありましたらお願いいたします。 こんな感じで作りました Sub 結合() For a = 8 To 38 Range(Cells(5, a), Cells(6, a)).Select Selection.Merge Range(Cells(7, a), Cells(8, a)).Select Selection.MergeSub 以降29個    ・    ・    ・ Next a End Sub 分割() Dim range1 As Range Set range1 = Range("H5:AL5") range1.MergeCells = False Set range1 = Range("H7:AL7") range1.MergeCells = False 以降29個   ・   ・    ・ End Sub 良い方法をご伝授宜しくお願いいたします

  • セル解除後、各行に値をコピーし結合するマクロ

    A1からC3のセルが結合しており、 そのセル結合を解除すると、A列のみ値がコピーされる。 コピーした後、各行ごとにセルを結合していく…… という処理をしたいと思い、 調べて下記のマクロまでなんとかこぎつけました。 Sub セル結合() Dim date1 As Variant Dim range1 As Range Application.DisplayAlerts = False For Each range1 In Selection.Rows If range1(1).MergeCells = False Then range1(1).Merge Else date1 = Selection.Rows(1).Value With range1 .UnMerge .WrapText = False .ShrinkToFit = False Selection.Value = date1 End With End If Next range1 End Sub ※実行範囲に関しては、  任意選択をした範囲にしたいため、  range(1)にて処理を行いました。 困っているのは、上記のマクロを実行すると、 最初の行のみ結合できないということ。 もうひとつが、 セル結合をしない時に値を左端にコピーすると、 文字が自動縮小されてしまいます。 縮小しないようにするには、 どのような処理を入れたら良いでしょうか? お力添え頂けますと幸いです。 よろしくおねがいします。

  • エクセルのマクロ:結合をずらして行う

    Sub abc() Range("F7:F8").MergeCells = True Range("G7:G8").MergeCells = True Range("H7:H8").MergeCells = True Range("F15:F16").MergeCells = True Range("G15:G16").MergeCells = True Range("H15:H16").MergeCells = True Range("F23:F24").MergeCells = True Range("G23:G24").MergeCells = True Range("H23:H24").MergeCells = True End Sub エクセルのマクロで、 こんな感じで8ずつ下にセルの結合を していきたいのですが、 ループもしくは Selection.Offset(8,0).Select などを使って一括で行う方法はありませんでしょうか? お願いします。

  • 行方向の同じ値のセルを結合するマクロ

    ネットで色々調べながら、A列方向の同じ値のセルを結合させるマクロ を作ってみたのですが、もっと簡単にできるようでしたら教えていただきたいです。 どうぞよろしくお願いいたします。 Sub セル結合() Dim r As Integer '行数 Dim i As Integer 'カウンタ r = Sheets(1).Range("a1").CurrentRegion.Rows.Count - 1 Application.DisplayAlerts = False For i = 1 To r Cells(i, 1).Activate '項目の一つ下のセルをアクティブに If ActiveCell.Value = ActiveCell.Offset(1).Value Then Range(ActiveCell, ActiveCell.Offset(1)).Merge End If Next Application.DisplayAlerts = True End Sub

  • エクセルの結合と解除

    エクセル2007を使用してます。 会社の前任者が作成したファイルで、セル3つの結合を解除したところ3つのセルにすべてデータ(文字)がはいってました。 セルって結合すると一番上もしくは左のデータが生きて、他のセルデータって削除されるのではなかったでしょうか? 試しに、解除したセル3つを再び結合→解除してみたところ、一番上のセルデータのみ生きて、残りセル2つのデータは削除されておりました。 結合元の複数セルのデータを削除せずに結合ってできるのですか? 方法があったら教えてください!よろしくお願い致します。

  • マクロで連続結合

    横に並ぶ3つ以上のセルを 縦に続けて結合したいのですが、 Sub Macro1() Selection.MergeCells = True Selection.Offset(1).Select End Sub これだと、最初に結合し、下にずらした時に 選択するセルが1つになってしまいます。 横に並ぶセルの数は一定なので、 最初に選択していた数だけ、 下にずらした時も 選択しているようにしたいです。 お願いします。

  • セル結合解除について

     75歳ですが教えて下さい。「セル結合解除」がうまくいきません。エクセルの説明のとおり中央揃えボタンを実行したが解除されない何かほかに原因があるのか教えてほしい。経験不足ですのでよろしくお願いいたします。なるべく早いことを願っています。

  • VBAで結合セルについて

    任意のセル(行)を選択して、入力画面より文字を入力し表示させます。 複数セルを選択した場合は、選択セルを結合して表示しています。 すでに入力されたセルを含んだセルを選択した場合は、エラーを表示したいと思っています。 未入力セルを選択、入力(結合)されたセルのみを選択した場合は、処理を実行します。 例えば、、、 1)「入力されたセル」のみ選択した場合 → 処理 2)「未入力セル」のみ選択した場合 → 処理 3)「入力されたセル」+「入力されたセル」を選択した場合 → エラー表示 4)「入力されたセル」+「未入力セル」を選択した場合 → エラー表示 5)「未入力セル」+「入力されたセル」を選択した場合 → エラー表示 6)「未入力セル」+「入力されたセル」+「未入力セル」を選択した場合 → エラー表示 下記プログラムでは、上記1)2)3)4)の場合の処理はうまくいくのですが、 5)6)の場合はエラーが表示されません。 ------------------------------------------------------ x = Selection(1).Column y = Selection(1).Column + Selection.Column.Count -1 z = ActiveCell.Row If ActiveCell.Value <> "" Then Set CheckRange = Sheet1.Range(Cells(z,x),(z,y)) If CheckRange.MergeCells Then (処理) Else Message"(エラー表示)" End End If Set CheckRange = Nothing End If ----------------------------------------------------- どのようにしたらよいのでしょうか。