度々お邪魔しております。。
rng as Range
rng = Worksheets("基本").Range("A1").CurrentRegion
このように構文を作ると型が違いますと怒られます。as Long にしてもだめでした。
表の範囲を取得したいと思っているのですが、、
それで、
Private Sub CommandButton4_Click()
Dim rng As Range
Dim i As Long
Dim j As Long
With Worksheets("基本")
i = .Rows(.Rows.Count).Row
j = .Columns(.Columns.Count).Column
rng = .Range("A1").Resize(i, j)
としましたが、オブジェクト変数またはwithブロック変数が設定されていませんとかえってきます。
設定しているように思えるのですが、、
何が違うのでしょうか、、
No.2ベストアンサー
- 回答日時:
> rng = Worksheets("基本").Range("A1").CurrentRegion
Range型変数への代入には Set 文を使うのでは?
http://officetanaka.net/excel/vba/variable/04.htm
https://docs.microsoft.com/ja-jp/office/vba/api/ …
> as Long にしてもだめでした。
CurrentRegion はRange型ですから、Long にする意味がありません。
・「型が違います」と出る→マニュアルで調べたらLong型だ→as Longにする
なら、まだ理屈が通ります(正しい修正とは限らないが)。
根拠もなくLongにしても治るわけがありません。
プログラミングは理屈の塊です。
エラーメッセージは、必ずしも「真の原因」を示すものではありません。
例えば「Nextに対するForがありません」というエラーメッセージが出ても
「メッセージ通りFor文が抜けている」
「むしろNextの方が不要」
「Next 変数名 の 変数名の対応が間違えている」
等のケースが考えられます。
エラーメッセージは参考に、「真の原因」を考えて修正しましょう。
= (代入)はLet文の省略形です。
https://docs.microsoft.com/ja-jp/office/vba/lang …
おそらく
・Letの変数はLong等が対象→Range型はLet文の対象外→「型が違います」
という流れだと予想します。
ご回答いただきましてありがとうございます。
あ・・・・ やってもた。。。の一言でございます。
ユーチューブで、2次元配列を1次元配列に閉じ込めるとかで、long 型の変数に、
CurrentRegion はRange型であっても、できるのかなと、、、いや、、理解が足りないのは明白なので、もう一度、動画見直します。
No.3
- 回答日時:
元々 Resize したいサイズはどの程度なの?
質問文から推測すると、
>rng as Range
>rng = Worksheets("基本").Range("A1").CurrentRegion
dim rng as Range
set rng = Worksheets("基本").Range("A1").CurrentRegion
って事なのでは?
いつもご回答いただき、まことにありがとうございます。
リサイズ、10,10ぐらいです。
今後、かなりのデータ量になりそう(以前お世話になった、システムのデータ量が、年内には、エクセルの限界を突破して、200万行ぐらいになりそうなので、、)こういうのもありかなと思って、やってみました。
Set ,,,あ。。。。 の一言でございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで教えて頂きたいのですが? 1 2022/04/29 02:36
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) findメソッドの変数について 6 2023/06/23 08:01
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エラーの意味は? Lvalue req...
-
C言語 列挙型(enum型)変数について
-
テキストボックスの値を変数に...
-
C言語 アロー演算子について質...
-
VBAでダブルコーテーション入り...
-
7行テトリスコードで分からな...
-
Variant型で宣言してるのにEmpt...
-
EXCEL/VBA 変数の値をクリップ...
-
i++と++i ってどう違うのですか?
-
verilog HDLの[=]と[<=]の使い分け
-
VB6.0 DataGridでのfirstRowの...
-
VBA 1行で複数の代入を行った...
-
C言語(高校1年の内容)について
-
画像のプログラムに関して質問...
-
初心者が簡単なPowerShellスク...
-
Access2003 オートナンバーの現...
-
Excel-vba 文字列と変数を...
-
初心者プログラミング
-
VisualStudio2022でC言語プログ...
-
プログラミングについての質問...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
エラーの意味は? Lvalue req...
-
C言語 列挙型(enum型)変数について
-
EXCEL/VBA 変数の値をクリップ...
-
整数xxxが大き過ぎますというエ...
-
テキストボックスの値を変数に...
-
[VBS]変数を定数に変換する方法...
-
Variant型で宣言してるのにEmpt...
-
jsp~jspにhiddenを使って変数...
-
processing エラーで、 "cannot...
-
python の 連鎖代入の文法
-
i++と++i ってどう違うのですか?
-
プログラミングで変数と関数の...
-
C言語 アロー演算子について質...
-
「%」を使って、偶数か奇数かを...
-
JavaScriptをURLから直接実行し...
-
VBA 1行で複数の代入を行った...
-
ExcelのVBAでをA列に第0〜19項...
-
無名関数のメリットがよくわか...
-
コマンドプロンプト バッチ|結...
おすすめ情報
みなさま今回もご回答いただき誠にありがとうございます。
set でございました。。。
今回もベストアンサーを選ばせていただき、終了とさせていただきますが、今後とも、、を何回も増やしておりますが、、
よろしくお願い申し上げます。