
初心者です。参考書に沿ってVBAの勉強をしています。
Sub test()
ThisWorkbook.Worksheets("Sheet1").Cells(1.1)="VBA"
Next i
End Sub
こちらを標準モジュール内に書き込んだところ題名のようなエラーが発生しました。
VBAに慣れている方に相談したのですが、その方もわからないようなのでこちらに質問させていただきました。
シートの名前は正しいはずです(初期から変更していません)
アドバイスお願いします
No.2ベストアンサー
- 回答日時:
こんばんは。
答えは、#1さんの回答自体は、完璧だと思います。
しかし、
>「実行時エラー424、オブジェクトが必要です」
ということで、ミスタイプ自体は直したとします。
(添付画像 参照)
私も、VBAは、10年以上やっていて、それ相応に分かっているつもりでしたが、ご質問内容では、同じく分かりません。親オブジェクトから書く方法を、コンテナ型といいますが、その時に、実行時エラー '424'として発生するのは、親オブジェクトが見つからない場合だけです。
しかし、Excelでそのような現象になるとのは、今のところ思いつかないのです。
http://officetanaka.net/Excel/vba/error/executio …
このリンク先とは違うように思います。
原因のひとつとして考えられるのは、まず、アプリケーションそのものが違っているというとこです。ThisWorkbook が違っている場合です。つまり、Wordなどの別のVBAで実行しようとしていると考えられます。Excelだとすると、今は、原因を思いつきません。今までも、初心者の方のご質問は、非常に難問なものが多いような気がします。
以下はWordの標準モジュールで実行した場合です。なお、Cells(1.1) は、小数点以下が丸められますので、Cells(1)の意味ですが、Cells(1.5)は、2になって、B1を意味します。もしA1,A2 と書くのなら、カンマを入れて、Cells(1,1) Cells(2,1) と書くようにします。


No.1
- 回答日時:
こんにちは。
コードを拝見しましたが、まず、「i」の型を宣言しなければいけません。
また Cells(行,列)は「,」で区切る必要があります。
この場合、Next i とは For ...Next のように繰り返す動作をさせたいのでしょうか。
例えば、セルの「A1」から「A5」まで下方向に「VBA」と繰り返し5回入力させるとします。
Sub test()
Dim i As Integer
For i = 1 To 5
Sheets("Sheet1").Cells(i,1) = "VBA"
Next i
End Sub
ご質問に対する回答はこのようなものでよろしかったでしょうか。
検討違いでしたら、申し訳ございません。
ご確認ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA*セルに値があればシート名に反映 2 2023/02/21 14:52
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Excel(エクセル) VBAのエラーが直せません 4 2023/06/12 22:10
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
テキストボックス中の文字列の...
-
カラーダイアログの指定色で塗...
-
エクセルのVBAの標準モジュール...
-
[C#]static void 関数内でthis
-
【VB】【エクセル操作】 SaveAs...
-
VBScriptでファイルの日時順(降...
-
Excelでフィルタをかけると警告...
-
textBox isNot Nothing とは
-
ExcelVBAでのNZ関数について
-
VBAで既に開いている別アプリケ...
-
VBAで Set wb = Sheets(1).Cop...
-
VBA (Row とRowsの違いについて)
-
メモリ解放について(ASP)
-
ある文字列が全て数字であるか...
-
VBScriptでの起動済みのIEの操作
-
EXCEL VBA オートシェイプナン...
-
VBA:オートシェイプの線の長...
-
AccessVBA NULLについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
実行時エラー 3265「要求された...
-
VBAで既に開いている別アプリケ...
-
テキストボックス中の文字列の...
-
ExcelVBAでのNZ関数について
-
[VBA]CDOメッセージ送信エラー
-
EXCEL VBA オートシェイプナン...
-
VBAで Set wb = Sheets(1).Cop...
-
エクセルマクロエラー「'Cells'...
-
AccessVBAで「dim dbs as datab...
-
Excel VBAでWordの複数ファイル...
-
オブジェクトが見つかりません
-
CreateObjectとGetObjectの違い
-
エクセルVBAで配列内に空白デー...
-
オブジェクト変数またはWITHブ...
-
VBScriptからDLL参照設定したい
-
エクセルVBAでcode128のバー...
おすすめ情報