• ベストアンサー

エクセルVBAでRangeの表現の仕方

popesyuの回答

  • ベストアンサー
  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.5

もっと基本的なところからおさらいするというか、それ以前に落ち着いてコードを書きましょう 例えば半角スペースを空けるというのもそうですが、補足にあるのも × Sheets("Sheet5) ○ Sheets("Sheet5") こうなります。単純ミスについてはその箇所がちゃんとエラーとして表示されているのですから、よく見直せば気付けるはずです。 日本語の文章なら、一文字抜けたり句点の位置がずれたりしても大意はつかめるし特に問題はないのですが、プログラム言語の場合は、一文字でも間違えたらその時点で動かないのです。

catshoes01
質問者

お礼

ありがとうございます! 下記でOKでした。 Sheets("Sheet5").Range("F" & "C2" & ":H603").Copy Destination:=Worksheets("Sheet2").Range("A6:G") 上下行は一行です。

関連するQ&A

  • Range表現

    excel Range(”A3:F5”).Select 以下範囲に罫線を引く ここで 変数:値 s1:3 s2:5 s3:1 ‘Aを意味 s4:6  ‘Fを意味 する。s1からs4までの変数を使って Range(”A3:F5”).Select 同等の意味を表現するには、どうすればいいですか。

  • EXCEL VBA Rangeについて

    プログラム初心者です。 EXCEL VBAに以下のようなRangeプロパティがあります。 CountNumは変数なのですが、 どのような内容を示しているのか分かりません。 教えていただけますでしょうか。 宜しくお願いします。 Worksheets("A情報").Range("C4:CS" & CountNum + 2)

  • VBAのRangeについて

    VBAのRangeについて質問があります。 以下のような表があった場合、VBAにて動的に図を作成したいのですが、Rangeの使い方がよく分かっておりません。 A列   B列  C列    D列  E列・・・ --------------------------------------------     りんご バナナ  すいか ・・・ A店   200円  100円  500円 ・・・ B店   180円  130円  800円 ・・・ C店   220円  150円  650円 ・・・ やりたいことは、 ・A列とB列を選択してグラフを作成 ・A列とC列を選択してグラフを作成 ・A列とD列を選択してグラフを作成   ・・・・・・ というようなグラフを作成したいと考えております。(列は動的です。) 【駄目だった例】 Range(Range(Cells(1, 1), Cells(4, 1)), Range(Cells(1, 3), Cells(4, 3))).Select このように書くと、A列からC列まで全て選択されてしまいます。 (A列とC列だけ選択して、B列は除外したい。) ご存知の方がおりましたら、回答していただけると助かります。

  • VBAで、セル(Range)のオブジェクトが取得できない

    セルの情報を取得したいのですが、何故か以下のように書くと上手い具合に取得できません(A、B、Cは数値の変数)。 ------ Dim Rng As Range 'セル範囲を格納 Set Rng = Worksheets(1).Range(Cells(A, B), Cells(A, C)) ------ 以下のようにしてやると、何とか取得できます。 Worksheets(lngASNo + 1).Select Set Rng = Range(Cells(A, B), Cells(A, C)) どこが悪いのでしょうか? もし、判る方がいらっしゃいましたら、よろしくお願いいたします。

  • VBAのRangeについて

    先の質問で教えていただいたRangeの事でお教えねがいたいのですが Range("B4") = Textbox1.textの ”B4 "の部分の4(行)が  GYO と言う変数で定義してある場合どのようにすればよいのかわかりません。 質問の説明が下手ですみません。 

  • エクセルVBAで

    いつもお世話になります。 変数で set a=range("a1:B10") という使いかたしますよね。そこで質問なんですが、複数個の範囲を変数に放り込みたい時は如何すればいいのでしょうか? 例 set a=range("a1:B10")、range("g7:h13")、・・・ みたいな感じです。 宜しくお願いします。

  • エクセルのVBAで悩んでいます。

    いつもありがとうございます。 エクセルのVBAで悩んでいます。 セルの範囲指定をVBAで行いたいのです。 ただし、引数に数値変数を使用する為、Cellsプロパティを使います。 すると、離れている範囲の範囲指定が出来ないのです。 例えば、Rangeプロパティだと、 Range("A5:E5,A9:E32").Select こうなるところを、 A9:E32 を変数に置き換えたくて、 Range("A5:E5", Cells(g, 1), Cells(h, 5)).Select と、するとエラーが出ます。 VBAの前文は次の通りです。 Private Sub CommandButton1_Click() a = Me.TextBox1.Value b = Me.TextBox2.Value Set c = Range("a:a").Find(what:=a, LookIn:=xlValues, lookat:=xlWhole) Set d = Range("a:a").Find(what:=b, LookIn:=xlValues, lookat:=xlWhole) 'MsgBox c + d e = c.Address 'MsgBox e f = d.Address 'MsgBox f g = Range(e).Row MsgBox g h = Range(f).Row MsgBox h Range(Cells(g, 1), Cells(h, 5)).Select End sub よろしくお願い致します。

  • EXCEL VBAのRangeプロパティについて

    EXCEL VBAのRangeプロパティについて 下の2つのプログラムで表示されるメッセージは、 プロシージャAは"$B$1" プロシージャBは"$A$1" なのですが、Rangeプロパティはどういう使われ方をしているのでしょうか? お教えくださいませ。 ・プロシージャA Sub test1() Cells(1, 2).Activate MsgBox ActiveCell.Range("A1").Address End Sub ・プロシージャB Sub test2() Cells(1, 2).Activate MsgBox ActiveSheet.Range("A1").Address End Sub

  • エクセルVBAでデータ検索の方法

    自分は技術者ではないのですがエクセルのVBAで質問があります。 エクセルで作ったデータをフォームから検索して一件ずつ表示するにはどうしたらよいでしょうか? 途中まで作ったのですが、自分の方法としては「シート1」にあるデータを変数に入れ、その変数をフォームに出力させるというものなんですが、もっと簡単な方法はないでしょうか? 変数a = 2 : 変数b = 1 For 変数a = 2 To 65536 If Sheets("シート1").Range("A" & 変数a) = Empty And 変数a = 2 Then MsgBox "データがありません" GoTo 終わり ElseIf Sheets("シート1").Range("A" & 変数a) <> Empty Then 項目1(変数b) = Sheets("シート1").Range("A" & 変数a) 項目2(変数b) = Sheets("シート1").Range("B" & 変数a) 項目3(変数b) = Sheets("シート1").Range("C" & 変数a) 変数b = 変数b + 1 ElseIf Sheets("シート1").Range("A" & 変数a) = Empty Then GoTo 終わり End If Next 終わり: こんな感じにしたいです。↓ ​http://hp1.cafesta.com/hp/album_photo_read.do?hpid=miya05&menu_...​

  • EXCELのVBAでRange("A1:C4")を変数にする方法を教え

    EXCELのVBAでRange("A1:C4")を変数にする方法を教えて下さい。 Sub Sample1() Range("A1:C4").Borders.LineStyle = True End Sub 上のマクロの"A1:C4"を変数にして成立させるにはどのように設定すればいいのでしょうか? 以下の方法ではエラーになってしまうので、宜しくお願いします。 Sub Sample1() HENSU = Chr(34) & "A1" & ":" & "C4" & Chr(34) Range(HENSU).Borders.LineStyle = True End Sub