• ベストアンサー

VBAで、結合したセルの位置を変えたい

エクセル2007のVBAですが、たとえば結合したセルG11があります。 このセルに、マクロ実行時に値を渡してセルの場所を変えることはできますか? たとえば(横の値,縦の値)とし、(1,0)という値を渡すとセルの位置はH11となり、 (0,1)という値を渡すとG12となる。 (-1,0)ならF11、といった感じです。 可能でしょうか?よろしくお願いします。

noname#144096
noname#144096

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

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

VBAにはOffsetというのが在る。勉強のこと。 ただVBAのOffsetは(行のずれ、列のずれ)で表す。 >結合したセルがあります、そのセルを対象にしたような質問だが、本課題でどういう影響があるのか。 丁寧に記述すること。この質問は珍奇であるので、わかりにくい。 >値を渡してセルの場所を変えることはできますか G11の値をコピー的に指定したセルにセットするというのか。 == 全体的にどういうシーンで、どういうことをしたいのか説明すること。部分的にコードレベルのことの質問異なっているが、 初心者の思いつき方法ではないのか。みなに、こんなことを考えることが最善か聞いてみたら。

noname#144096
質問者

お礼

なんとかやりたいことができました、ありがとうございました。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

縦横情報は相違していますが、Offsetメソッドで可能です。 例えば、セルの選択はRange("G1").Offset(縦の値,横の値).Select

noname#144096
質問者

お礼

なんとかやりたいことができました、ありがとうございました。

関連するQ&A

  • 結合されたセルの移動 VBA

    「結合されたセルの一部を変更することはできません」と言うメッセージイベントでVBAを実行するにはどうしたらよいでしょうか? 結合されたセルあるいは複数の結合されたセルを選んで移動する場合、移動先が自分のセルに重なると、「結合されたセルの一部を変更することはできません」と言うメッセージが現れます。 これを回避するには一旦何も無い離れたところに移動し、それから再び目的の場所に移動します。 私の技能では以下のようなマクロになると思います。 最初に元の結合セルを選び、場所を覚えるマクロを実行しする。 次に移動先を指定し、「一旦何も無い離れたところに移動し、それから再び目的の場所に移動」するマクロを実行します。 これをワン・アクションで、「結合されたセルの一部を変更することはできません」と言うメッセージが出るタイミングで実行するにはどうしたらよいでしょうか。 よろしくお願い申し上げます。

  • 結合セルに結合していないセルの値を貼り付けたいです。

    結合セルに結合していないセルの値を貼り付けたいです。 シート1の1行目の[A1-B1-C1-D1]を結合しています。以下同じように[E1-F1-G1-H1]…のように4つづつ結合しています。 この行に、シート2のA1→B1→C1と続く結合していないセルのデータを貼り付けたいのですが、やりかたがわかりません。色々やってみたのですが、うまくゆきません。ご教授お願いいたします。

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

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

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

  • VBA 結合セルに名前を付ける

    作成中のマクロで、 「B9とB10を結合したセルに名前を付ける」 作業を入れたいのですが、 Range("B9:B10").Name = "あああ" とすると、マクロを実行した時にエラーになってしまいます。 Range("B9").Name = "あああ" としても、エラーになりました。 エラーが出ないvbaを教えてほしいです。

  • 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で結合したセルがクリアできない

    コードは以下のように記述してあります。 Worksheets("Sheet2").Activate 'Sheet2のセルをクリア Range("B5,B6,D5:D6,F5:F6,G5,G6,A10:M54").MergeArea.ClearContentsb 別のシートの複数のセルをクリアしたいのですが、結合されたセルがクリアできないと エラーがでます。 結合セルはD5:D6とF5:F6です。 何が間違っているのでしょうか? Excel2013です。

  • EXCEL VBA 結合したセルの制御

    いつもお世話になっております。 Excelで、VBAを使っているのですが、結合されたセルの値を Cells(Row,Column).ClearContents を使ってクリアしようとするとエラーになってしまいます。 結合されたセルには、Cells()のメソッドは処理不能なのでしょうか? どなたかご存知の方がいらっしゃいましたら教えてください。

  • 二つのセルを結合させたセル間での計算について

    EXCEL2007の初歩的な計算式の導入方法について、お聞きします。 二つのセルを結合させたセル間での足し算、引き算を別なセルに 入れたいのですが、どうしたら良いのか、わかりません。 教えてください。   たとえば、セルCとセルDを結合させ、さらにセルGとセルHも結合さ せ、その結合セル間での和、差を別なセルJに表示させるような計算 式を、セルJに表したいのですが、うまくいきません。二つのセルを結 合させない単独のセル間での計算であれば、簡単にいくのですが。 ただ縦、横のSUMであれば、セルを結合させてもうまくいくようです。 このように、セルを結合させない、単独のセル間での計算であれば、 問題なく出来るようですが、レイアウト関係で、こう言ったセルを結合 させるような事になってしまいました。

  • エクセルのセル~結合セルへのコピーの仕方を教えて

    フォーマットのセルがありますが 結合セルで出来ています マクロの設定も含まれているようです Aの一列の中で上下2つのセルで一つになっています それが五行あります 左にはエクセルのもともとの枠の番号が1から10まであって Aの縦のセルの数は五行です そのAの縦に名簿のセルを例えば5名分貼り付けますと もともとの結合前のセルに戻って5行貼り付けられてしまいます 左にあるエクセルのもともとの枠の番号ですと1から5までに 貼り付けられるのです わたしはもともとの結合セルの5つのセルにはめ込みたいのですが いっぺんには出来ません 一つづつですとできます なぜなのでしょう 結合セルにまとめてコピーできる方法を教えてください マクロの設定はくずれてもあらかじめ消してもかまいません 私がしたいのは コピーして改めて作ったものの印刷だけです よろしくお願いします

専門家に質問してみよう