• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel2003 VBAでの範囲選択)

Excel2003 VBAでの範囲選択

このQ&Aのポイント
  • Excel2003のVBAで範囲選択する方法を教えてください。
  • Selection.Offsetを使ってセルの移動はできるが、アクティブになったセルから2つ隣までの範囲選択の方法がわからない。
  • Selection.Offset(0, 2)として実行したがエラーが出てしまう。

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

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

Resize プロパティ 指定された範囲のサイズを変更します。サイズが変更されたセル範囲 (Range オブジェクト) を返します。 Selection.Resize(1,2).Select では?

ookami1969
質問者

お礼

そうですね!!! ありがとう御座います!!! そぉだ!そぉだ!! 助かりました!! ありがとう御座います!!!

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

関連するQ&A

  • VBA、セルの選択範囲について

    下記のような表を用意し、   A   B  C  D  E 1    1月 2月 3月 合計 2 Aさん 1  2  3  6 3 Bさん 1  2  3  6 4 Cさん 1  2  3  6 5 合 計 3  6  9  18 セルの範囲選択を指定し別シートの任意のセルへコピーをVBAで行いたいのですが、 Aさん、Bさん、Cさんという範囲を選択する為に、合計という文字は含みたくないので、 Range("A2").Select Range(Selection, Selection.End(xlDown).Offset(-1)).Select と記載し、これは出来ました。 同様に、 1月、2月、3月という範囲も同様にxlToRightを使用し選択出来ました。 Range("B1").Select Range(Selection.End(xlToRight).Offset(, -1), Selection).Select しかし、B2:D4の範囲の指定の仕方がわかりませんでした。 データのレコード数は一定ではないのでB2:D4というように範囲を指定する事は出来ません。 そのときに応じてDさん、Eさんと増えたり、4月、5月と増えたりするので。 何か方法があればご指導お願いします。

  • エクセルVBAでグラフの範囲を設定する方法

    お世話になっています。 グラフ自体は、作成済みのものを使用して、データの範囲だけを 変更させる方法を考えています。 A列に、データが入っている範囲を選択して、選択したセル範囲を グラフのデータ範囲としたいと思います。 現在、作成したプログラムは以下のものです。 当たり前なんでしょうが、以下のものではエラーになります。 Loopコマンドで、アクティブになったセルをグラフのデータ範囲に 設定する方法を教えてください。 よろしくお願いします。 Sub グラフ作成() ' Dim 範囲 As String Range("A1").Select Do Until ActiveCell = "" ActiveCell.Offset(1, 0).Activate Loop ActiveCell.Offset(-1, 0).Activate Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlUp)).Select   範囲 = ActiveCell ActiveSheet.ChartObjects("グラフ 1").Activate ActiveChart.SetSourceData Source:=Range(範囲) End Sub

  • 【EXCEL VBA】定数で与えられたセルを使いセル範囲を選択する方法

    【EXCEL VBA】定数で与えられたセルを使いセル範囲を選択する方法 VBA初心者です。よろしくお願いします。 実行したい処理は決めたのですが、Excelのレイアウトが未定です。 そこで、レイアウト変更を考慮し、処理対象セルを定数で与えています。 例えば、 Range("B2:B8").Select は、 Const IchI As String = "B2" Range(Range(IchI), Range(IchI).Offset(6, 0)).Select ・・・(1) としています。(これ自体おかしいのかもしれません。。。) しかし複数のセル範囲 例えば、 Range("B2:B8,F2:F8").Select の場合、どうしたらいいのかわかりません。 (1)自体おかしいのかもしれません。   良い方法があれば教えてください。 よろしくお願いします。

  • 【Excel VBA】数式の設定

    Excel2003を使用しています。 選択したセルの範囲に、  =ROUNDDOWN(RC[-1]*0.05/1.05,0) という数式が入力されるようにしたいのですが、ひとつのセル(ActiveCell)に対してだと、うまくいくのですが、選択範囲(Selection)にすると、うまくいきません。(実行時エラー'438' と出ていたような気がします) 選択範囲は、?行1列で、その都度指定してマクロを実行すると、上記の数式が入力されるようにしたいのですが、どのようにコードを記述したらよいのでしょうか。 よろしくお願いします。

  • ある範囲の書式を飛び飛びに貼り付けたい

    Excel2007でマクロ作成してる初心者です。  ある範囲の書式を移動しながら、書式を貼り付けていく  マクロの書き方がわかりません。どなたかご教示おねがいします。 Sub 書式の貼り付け() '"F14:AG28"の範囲に書式を設定 Range("F14:AG28").Select Selection.NumberFormatLocal = "h:mm;@" '"その範囲を24行だけ移動し、全く同じ書式を貼り付ける Selection.Copy Range("F38").Select ’24行目のセル Selection.PasteSpecial Paste:=xlPasteFormats '"その範囲をまた24行だけ移動し、全く同じ書式を貼り付ける   Range("F62").Select ’48行目のセル Selection.PasteSpecial Paste:=xlPasteFormats  これをシートの数だけ繰り返す。  ’・・・  ’・・・ Application.CutCopyMode = False Range("A3").Select End Sub

  • 日付の入ったセル範囲から、ある日付を選択したい(再

    今日、表題のとおりの質問に次のとおり教えていただきました。 自分としては、8月の21でなく、9月の21を選びたいです。 Sub 日付選択() Range("AL4:CU4").Select Selection.Name = "日付範囲" Range("日付範囲").Find(What:=Day(Range("AJ2")), LookIn:=xlValues).Select End Sub セルAJ2には、2015/9/21が入っています。 AL4からCU4には 8月18日から10月17日の間の、日にちだけが、はいっています。 上のコードを実行すると、8月21日を選択します。 これを9月21日のところを選択するようにしたいです。よろしくご教示お願いします。

  • カット&ペーストのマクロ(エクセル)

    Sub test1() Selection.Cut Destination:=Selection.Offset(0, -1) Selection.CurrentRegion.Select End Sub Sub test2() Selection.Cut Destination:=Selection.Offset(0, 1) Selection.CurrentRegion.Select End Sub K1:N1が選択状態になっている時にtest1を実行すると、4つのセルが一セル分だけ左に移動します。 test1を連続してもう一回実行すると二セル分だけ左に移動します。連続して3回だと三セル分です。 が、test2だと、test1と同様に実行回数分だけ全体を右に移動させることができません。どうしてでしょうか? 実行回数分だけ全体を右に移動させるには、どういった記述が必要でしょうか?

  • VBA 書式設定を保持したままセル内の文字を追記

    EXCEL2010で医療系マクロを作っています。 CheckBox1は、Selection.Offset(0, -1)のセル内の文字を取消線にする為のチェックボックスです。 TextBox11は、Selection.Offset(0, -1)のセル内の文字の下に追記する為のテキストボックスです。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If CheckBox1 = True Then ' ' '取消線がある場合 Selection.Offset(0, -1).Characters(InStr(Selection.Offset(0, -1), vbLf), 1000).Font.Strikethrough = True Selection.Offset(0, -1).Value = Selection.Offset(0, -1).Value + vbLf + TextBox11.Value ' ' '☆追記して改行以降を取消し追記を解除 Else ' ' '取消線がない場合 Selection.Offset(0, -1).Value = Selection.Offset(0, -1).Value + vbLf + TextBox11.Value ' ' '☆追記 End If ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ この場合、Selection.Offset(0, -1)の文字にすでに取消線が設定されている場合にそれが外れたり、元々ついていなかったのについたりします。 書式設定を保持したままセル内の文字を追記することは可能でしょうか? 何卒ご教示のほどよろしくお願いします。

  • 選択範囲を変数で最下端の次に移動したい

    Excel2007でマクロ作成中の初心者です。 以下のコードで、範囲のみを正常に移動できました。 Sub 範囲のみの移動() Dim tmp As String Range("BR30:EE91").Select Range(tmp).Offset(60, 0).Select End Sub 範囲("BR30:EE91")は、一定で変わらないのですが、 Offsetの (60, 0).Select  60は変わるのでこれを変数にしたいです。 これをデータ入力の最下端セル Range("BR30").End(xlUp)の 次のセルまで移動させたいのですが、変数の仕方がわかりません。 よろしくお願いします。

  • Excel2003 VBA ある列の範囲選択(?)

    お世話になります。 表題の件で ご相談が御座います。 以前 こちらで「入力された(貼り付けにも対応)数字でもアルファベットでも全角半角問わずに全部半角にする」 という強烈なコードをご教示いただいて便利に使わせていただいていたのですが 自分が余計なお願いをしてしまい(「対象の列を全部」と言ってしまいました) なので全65000行を確認しているのか(?)処理スピードが遅くなってしまいました。。。 ご教示いただいたコードは下記になるのですが Private Sub Worksheet_Change(ByVal Target As Range) Select Case Target.Column Case 6, 7 Target.Value = StrConv(Target.Value, vbNarrow) End Select End Sub その中で「Case 6, 7」この部分を「F7:F500,G7:G500」このようにしたいと思い 「Range」を付けて「Range("F7:F500", "G7:G500")」としてみましたが 実行時エラー(?)が発生してしまうようで上手く動作してくれません。。。 どのように書き換えたら「F7:F500,G7:G500」この部分だけに反映されるようになるのでしょか? どなたか お分かりになる方ご教示いただけますでしょうか。 宜しくお願い致します。 *ちなみに余談ではありますが「Excelの行」って何で65000行もあるんでしょうね? (65536という数がExcel的には都合がいいということは知っていますが。。) にしても普通そこまで使う前に重くなってブックを分けると思うのですが。。

専門家に質問してみよう