dポイントプレゼントキャンペーン実施中!

Excelマクロで質問です。変数宣言をしてmyRowで得た数値を使って、以下の処理を行うには、どうマクロを組んだら良いのか教えて下さい。(myRowで得た値が120と仮定します)

(1)A2からD120の範囲指定
(2)A2からD12(→myRowの1/10、120/10=12。myRow/10は正しい使い方でしょうか?)の範囲指定
(3)もうひとつmyRowを使用する場合、
  Dim myRow2 As Long
  myRow2 = ....のように使用して良いのでしょうか?

以上、よろしくお願いします。

A 回答 (2件)

(1)A2からD120の範囲指定



Range("A2:D" & myRow).Select

(2)A2からD12(→myRowの1/10、120/10=12。myRow/10は正しい使い方でしょうか?)の範囲指定

Range("A2:D" & myRow / 10).Select

ただし、myRow / 10と計算させた場合、計算結果が整数にならないとエラーになりますので注意が必要です。

Int(myRow / 10)とすれば(取り出した整数が望む結果になるかどうかは分かりませんが)とりあえず整数にはなります。

(3)もうひとつmyRowを使用する場合、

よろしいですが

Dim myRow(2) As Long

として
myRow(1) myRow(2)としたほうが後々なにか使い勝手が良くなると思われます。
myRow(変数)として利用できますから。
    • good
    • 0
この回答へのお礼

ありがとうございます。整数にならなかった場合まで配慮いただき感謝いたします。助かりました。

お礼日時:2010/10/03 23:27

>(1)A2からD120の範囲指定



Range(Cells(2, 1), Cells(myRow, 4)).Select

とか

Range("A2:D" & myRow).Select


>(2)A2からD12(→myRowの1/10、120/10=12。myRow/10は正しい使い方でしょうか?)の範囲指定

やってみればわかりますよ。
正しくなかったとしても、PCが壊れたりしませんからやってみましょう。

Range(Cells(2, 1), Cells(myRow / 10, 4)).Select


>(3)もうひとつmyRowを使用する場合、
  Dim myRow2 As Long
  myRow2 = ....のように使用して良いのでしょうか?

これもやってみればわかることです。
myRow と myRow2 はまったく別物ですので、何の問題もありません。

(ホグペン)
    • good
    • 0
この回答へのお礼

ありがとうございます。一応やってみてうまく行ったのですが、果たして正しい記述なのか不安がありまして。(A2からD120の範囲指定は、試行錯誤しましたがうまく行きませんでした)素早いご回答に感謝いたします。

お礼日時:2010/10/03 23:24

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