アプリ版:「スタンプのみでお礼する」機能のリリースについて

よろしくお願いします。

c が変数のとき
Range("A"&C&":B30) この表現を利用するとエラーになります。
どうすれまよろしいのでしょうか?

A 回答 (6件)

もっと基本的なところからおさらいするというか、それ以前に落ち着いてコードを書きましょう


例えば半角スペースを空けるというのもそうですが、補足にあるのも
× Sheets("Sheet5)
○ Sheets("Sheet5")
こうなります。単純ミスについてはその箇所がちゃんとエラーとして表示されているのですから、よく見直せば気付けるはずです。

日本語の文章なら、一文字抜けたり句点の位置がずれたりしても大意はつかめるし特に問題はないのですが、プログラム言語の場合は、一文字でも間違えたらその時点で動かないのです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/01/27 09:05

#1などでご指摘の不都合を取り去り


Sub test02()
c = 8
Range("A" & c & ":B4").Select
End Sub
を実行するとエラーにならずに、範囲指定しましたが。
Sub test03()
c = "B"
Range(c & "2:B4").Select
End Sub
Sub test04()
c = "B2:c8"
Range(c).Select
End Sub
番地だから?数だから?特別?不勉強で良くわかりません。
ーー
私はRange(Cells(・,・),Cells(・,・))を使うことが多い。
ーー
エクセルVBAで、他の型のケースで、変数で置き換え(間接的表現)ができないケースがありますね。
今どれだか思い出せないが。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ここで、当方も こちらを利用しようと思います。
Range(Cells(・,・),Cells(・,・))
科学技術計算系なので。

ここでのC2値 はアドレスです。セルの位置が条件によって
可変になります

お礼日時:2007/01/27 09:10

こんばんは。

Wendy02です。

>Range("F"& C2 &":H603")

C2 というのは変数ではないですね。
セルだと思います。そうしたら、セルに、数字が代入されているハズですから、一旦、数値を取ってあげないといけません。

  Range("C2").Value

>Range("A6:G")

これは、完結していませんが、Copyメソッドでは、左上端にセルを合わせることによって、コピーした大きさに、貼り付けられます。しかし、そうでない場合は、また、補足で書いてください。

サンプル:
Dim i As Long
With Sheets("Sheet5")
If IsNumeric(.Range("C2").Value) Then
  i = .Range("C2").Value
 .Range("F" & i & ":H603").Copy Worksheets("Sheet2").Range("A6")
End If
End With

この回答への補足

ありがとうございます。
C2は 変数です。アドレスが可変になっていますので。

補足日時:2007/01/27 08:58
    • good
    • 0

こんばんは。



> Range("A"&C&":B30)

まず、「&(アンパサンド)」がくっつきすぎています。半角スペースを開けてください。「&」は別の意味になってしまいます。「"」が抜けています。赤く表示されていますから、掲示板に聞く前に試行錯誤してください。

回答例

Dim c As Long
c = 2
Range("A" & c & ":B30").Select

'-------------------
'これも同じだけど、少し、扱いが面倒です。
'しかし、場合によっては、こちらが良い時もあります。全て数字だからです。
Range(Cells(c, 1), Cells(30, 2)).Select


なお、変数名 c は、一般的には、セル(Cell)になります。
インクリメンタルな変数は、i,j,k などが主に使われます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
下記コードでエラーです。
Sheets("Sheet5).Range("F"& C2 &":H603").Copy _ Destination:=Worksheets("Sheet2").Range("A6:G")
Fの文字がハイライトします。

>Range(Cells(c, 1), Cells(30, 2)).Select
こちらの方がまぎれないようでよいですね。考慮してみます。

お礼日時:2007/01/26 20:10

&C&の部分のCの後にスペースが必要なのではないでしょうか?


&C &ならエラーにはなりません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
下記でエラーになります。
Sheets("Sheet5).Range("F"&C2 &":H603").Copy _ Destination:=Worksheets("Sheet2").Range("A6:G")

C2 が変数です。 Fの文字がエラーのとき塗りつぶされた状態になります。

お礼日時:2007/01/26 20:06

質問の内容がわかりません。


もっと解りやすく 説明してください。
    • good
    • 0
この回答へのお礼

判りにくい表現ですみません。
当然と思った書式でエラーがでてしまうのです。

お礼日時:2007/01/26 20:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!