• ベストアンサー

エクセルVBAでの、結合したセルの扱いについて質問です

エクセルVBAでの、結合したセルの扱いについて質問です A1とA2が結合されていたとします。 A1の値は、Range("A1")で取得できますが、 A2の値を取得しようとした場合、何もかえってきません 空の文字列が返ってきます。 A2がA1と結合されている、という情報を取得するにはどうしたらいいでしょうか。 ずっと困っていて、また困ったので聞いてみようと思いました。 よろしくお願いいたします。

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

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

結合されているか否かはMergeCellsプロパティでわかるようです。 で、MergeAreaプロパティで結合範囲が取得できるので、その中の左上セル(Cells(1, 1))を取得すればその結合セルの値を取ることができます。

関連するQ&A

  • エクセルVBAでセル結合

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

  • VBAでの結合セルのコピー&ペースト

    こんにちは。 EXCELのVBAでマクロを作成しています。 セルの値のコピー&ペーストを行おうとしているのですが、結合されているセルのペーストのときに、「同じ結合セルが必要です」とエラーになってしまいます。 例えば、A1とA2が結合されたセル+A3をコピー Worksheets(x).Activate Range("A1:A3").Selection Range("A1:A3").Copy 別のシートで、B1とB2が結合されたセル+B3にペースト Worksheets(y).Activate Range("B1:B3").Paste セルの結合を解除すればうまくいきます・・・ セルを結合したままペーストしたいのですが、どうやら間違っているようです(ノ_・。) どなたか教えてください。 よろしくお願いします。

  • エクセルVBAでセル選択

    エクセル2000でリストを作成し、VBAで編集しようとしています。 A列に入力されているコードの先頭に「’」をつけて文字列とするための関数をB2のセルからA列のデータが入力されている最後のセルの隣までコピーしたいと思っています。 A列の最終セルを取得するVBAは分かったのですが、その値をB列の選択範囲として使用する方法がわかりません。 エクセルVBAは全くの初心者です。 どなたか教えてください!

  • VBA 結合セルの

    EXCELにて結合セルを含む表の白紙化をしようとおもいます。しかしなぜか結合セルの部分はうまくいきません。 どうすればよいでしょうか。 range("A1:A6").clearcontents A1からA9に結合セル3つ含んでいます。

  • VBAを使ったセルの結合

    パソコンとVBA使用初心者です。 今仕事でVBAを使ってプログラムを作成しようとしています。 皆様にご教授していただきたいことが在ります。 ・ABCDEFGH…… 1あ ア 2 イ 3 ウ 4 エ 5 オ 6い ア 7 イ 8 ウ 9う ア 10え ア 11 イ 12 ウ 13お ア 14 イ 15 わかりにくいかもですが上のようなエクセルがあり A1から次の文字手前のセルまでを結合したいのですが、どのように書いたら出来ますか? それと最後の方のA13とA14だけの結合でその下は処理しない方法ありますか? 必ずC列には文字が入っています。 すいません…カタカナはC列です。 ひらがなはA列に飛び飛びで記入してあります

  • エクセル2013VBA結合セルの間のセル位置取得

    いつもお世話になってます。 エクセル2013VBAで質問です。 B3:B4セルが結合されています。また、C3:AG3セル(31セル分)も結合されています。 その時、C4:AG4セルを取得したいのですが位置がずれて思うように取得できません。 どのような指定をすればよろしいでしょうか? お手数ですがお願いいたします。 下記は試してみてだめだったもののうちの一つです。 Sub test() Range("B3").Offset(0, 1).MergeArea.Select Range("B3").Offset(1, 0).Resize(1, 31).Select End Sub

  • VBAにてエクセルのセルを結合するには?

    VBAにて、エクセルのセルを結合したいのですが? やっていることは、Access97よりVBAで、 Excel97へファイルを落とし込んでいるのですが 罫線を引いたり、列幅等をかえることはできたのですが セルを結合する方法がわかりません。 よろしくおねがいします。

  • Excel VBAでセルの整列

    Excel VBAでセルの整列 現在、VBAを勉強中の者です。 最近、勉強を始めたばかりですが、この前何とかVBAを用いてセルの塗り潰しが出来る様になりました。 そこで、今度は色が塗り潰されたセルを添付した画像のように整列したいと考えていますが、どんな風にすれば良いのか見当がつきません。 誰か、教えてください。 やりたい事は、A列に結合されているセルがいくつか存在していて、B列を挟んでC列にA列に関連する文字が入力されています。 そして、C列には予めセルが塗り潰されている箇所がありますが、今回、C列において塗り潰されているセルのみを、結合されているセルの最終行に移動させたいのです。

  • Excelの結合したセルの検索

    Excelで列方向に結合したセルを検索し、結合セルの先頭の行番号を 取得する方法を考えていますが、良いアイディアが浮かびません。 VBAで良い方法、又はサンプルがありましたら教えて下さい。

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

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

専門家に質問してみよう