• ベストアンサー

エクセルについての質問です。

エクセルについての質問です。 マクロを作成しましたが、セルの結合のマクロの場合、 マクロ実行の際に、 <選択範囲には複数のデータ値があります。 一つのセルとして結合すると、選択したセル範囲にある もっとも上端にあるデータのみが保持されます。空白セルは 無視されます> という警告が出てしまいます。 でないようにしたいのですが、 可能ですか?

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

例えばセル範囲A1:C3で Sub test01() Range("A1:c3").MergeCells = True End Sub を実行したとき。 セル範囲に何も値が無い 1セルだけに値が在る 場合は出ないようだが、2つのセル以上に値があると警告が出るようだ。 VBAで警告を出ないようにするのは、 Application.DisplayAlerts = False http://www.relief.jp/itnote/archives/001936.phpなど解説あり。 なのでこれでこのMergeCellsの1ステップだけFalseにして、直ぐMergeCellsの後で Application.DisplayAlerts = Trueに戻しておく。

mame1218
質問者

お礼

大変わかりやすい回答をありがとうございました。 BAとさせていただきました。

その他の回答 (1)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

下記のようにします。 Application.DisplayAlerts = False Selection.Merge Application.DisplayAlerts = True

mame1218
質問者

お礼

ありがとうございました。 参考にさせていただきました!

関連する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 ---------------------------------------------------------------------- 何卒宜しくお願い致します。

  • EXCEL

    EXCELで、 (1) 例えばA1に『著作権』、B2、B3、B4にその言葉についての 『説明』が入力されていたとします。  B2~B4 の セルの結合を行うと、  『選択範囲には複数のデータ値があります。  1つのセルとして結合すると選択したセル範囲にある最も左上端にあ るデータのみが保持されます(空白セルは無視されます)』  とコメントが出て  結合したセルには B2に入力した内容しか残らなくなってしまいま す。  こうなると『説明』の部分をすべて打ち直し、または他のセルにうつ してから貼り付け作業を行わなくてはなりません。  なんとか良い方法はありませんか?    (2)またA列には用語を、B列以降はその用語の説明をどんどん入れて  いき、最後にA列のデータ並べ替え(五十音順)を行いたいのです  が、A列の並べ替えをおこなっても、用語説明が数行にわたる為、  B列以降を一緒に並べかえすることができません。 (1)だけでも良いので回答いただければとおもいます。

  • エクセルでセル結合しようとすると

    A1に著者名、B1に作品名、C1に出版社、D1に出版年と入力した10行ほどデータを、セル結合によって一行ずつ一つのセルにしたいと思い、 全データを選択した状態で、 ツールバーにドラッグした「横方向に結合」をクリックすると、 「選択範囲には複数のデータ値があります。1つのセルとして結合すると選択したセル範囲にある最も左上端にあるデータのみが保持されます」 と出て、左端以外のデータが消えちゃうんですけど、全てのデータを保存するのはできないんでしょうか?

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

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

  • Excel(セルの結合マクロ)

    いつもお世話になっております。 Excelのマクロで、選択範囲の中で、下のセルが空白のものは、上のセルと結合されるマクロを作りたいと考えています。 (例1:A1セルに”TEST”が入力されており、A2,A3セルが空白として、A1:A3を選択し、マクロを実行するとA1からA3がセル結合される  例2:A1に”TEST2”B2に"TEST3"が入力されており、A1:B3を選択すると、A1からA3が結合され、B2とB3も結合される) 説明が下手で申し訳ないのですが、お力を貸していただけませんでしょうか? よろしくお願いいたします。

  • 確認/警告メッセージのトラップ(エクセルVBA)

    複数の行、列からなるセル範囲に値設定しているとします。このセル範囲に対し、行もしくは、列単位でセルの結合を行うと、"選択範囲には複数のデータ値があります。1つのセルとして結合すると、選択したセル範囲にある最も左上端にあるデータのみが保持されます。・・・・”と表示され、”OK”、”キャンセル”ボタンが表示されます。この”OK”、”キャンセル”ボタンのトラップって出来ますか?(関数の戻り値のように) 別の言い方をすると、複数行、列に対して結合を行うと、一度”OK”ボタンを押しても、次の行列で結合を行おうとすると再びメッセージが表示されます。一度、”OK”を押すと次からメッセージが表示されない(トラップできれば、DisplayAlerts = Falseとできるのですが?)ように出来ますか?キャンセルが押された場合、エラー"実行時エラー1004"が発生しますが、明確にキャンセルボタンが押されたと判断する方法ってありますか? どなたか、詳しい方教えて頂けないでしょうか?宜しくお願い致します。

  • Excelでセルとセルを結合したいのですが・・・

    質問させていただきます。 Excel2007を使っています。 複数のセルを結合して一つのセルにまとめる作業をしているのですが、 =A1&" "&A2&" "A3 のようにすると結合できました。&" "&でスペースも確保できました。 しかし、結合するデータの中に空白があります。 データの中の空白を無視し、スペースを消してほしいのですがどうすればよいかわかりません。 例えば、A1にデータがない場合、スペースが空いてからA2が出てきます。 その空白をなくす方法を教えてください。お願いします。

  • エクセル2003を利用しています。

    エクセル2003を利用しています。 ジャンプ機能の基本的なことなんですが教えてください。  新規作成したシートで未入力の複数セルを範囲選択し、ジャンプ機能で「空白セル」を選ぶと「該当セルが見つかりません」となります。範囲選択したセル全部が空白セルとして認識されるだろうと思ったのですが、なぜなのでしょうか?

  • Excel VBA - 空白の結合

    以下のようなExcelのシートがあります。 A2からC7を選択した後、マクロを走らせて空白セルを結合したいです。   A B C 1 (空白) DDD (空白) 2 ABC 123 (空白) 3 (空白)(空白)(空白) 4 DEF GHI DEF 5 (空白)(空白)(空白) 6 (空白) 789 123 7 (空白)(空白)(空白) 8 GHI JKL MNO A3はA2と結合、A5,6,7はA4と結合、B列、C列も同様です。 要は、空白セルを上にある値の入ったセルと結合したいのです。 ただ、C2が選択範囲外のC1と結合すると困るので、先頭行の空白は、上の選択範囲外セルと結合しないようにしたいです。C2とC3は、結合しませんが、結合する仕様でも問題ありません。 (A2と同じ値をA3に入れた方がいいという意見があると思いますが、会社の表なので結合しないといけません。) ※以前、似たような質問をしましたが、少し違います。(これは未解決です。)

  • エクセル2013 セル結合 一度にできる?

    これまで、エクセルでセル結合の(やや?)特殊な機能を使用していました。 それは「横方向への結合」といったような機能でした。 複数のセルを選択し、 そのボタン(機能)を実行すると、 選択範囲が、全て、横方向に結合されます。 これによって、一度に複数の、横方向に結合されたセルを作ることができました。 一行分のセルを結合してから、次にフィルやコピーで増やしていくよりも、手間が一つ省けるので便利だと思っていました。 エクセル2013に変わって、この機能を示すボタンが見つかりません。 これは、なくなってしまったのでしょうか?

専門家に質問してみよう