ここから本文です

VBA セルの範囲を変数に格納する方法について

oyc********さん

2019/6/1700:11:52

VBA セルの範囲を変数に格納する方法について

例えば、C5:C25を格納したい場合です。
また、実際はC5も変数化してます。

Dim n As Long
Dim WB1 As workbook
Dim SH1 As worksheet
Dim ObjR1 As Range

Set WB1 = ThisWorkbook
Set SH1 = WB1.Worksheets("Sheet1")
n = SH1.Cells(1,3)End(xlDown).Row

Set ObjR1 = SH2.Range(Cells(n,3),Cells(n + 25,3)).Value

Debug.Print(ObjR1)

これでエラー424とか少し変えてもエラー13で引っかかります。

もしくはセル範囲を変数に格納する方法は全く異なるのでしょうか?

VBA初心者ですが、ご教授お願いいたします。

閲覧数:
37
回答数:
1

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tra********さん

2019/6/1700:24:36

1)
n = SH1.Cells(1,3)End(xlDown).Row



n = SH1.Cells(1, 3).End(xlDown).Row


2)
Set ObjR1 = SH2.Range(Cells(n,3),Cells(n + 25,3)).Value



Set ObjR1 = SH1.Range(SH1.Cells(n, 3), SH1.Cells(n + 25, 3))

シートの指定を行ってないセル参照がどのシートを参照するのか、考えてみてください。

3)
Debug.Print(ObjR1)



Debug.Print (ObjR1.Address)

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる