Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


392 / 13645 ツリー ←次へ | 前へ→

【80576】変数の参照が不正ですを直したい モリチャン 19/3/13(水) 22:54 質問[未読]
【80577】Re:変数の参照が不正ですを直したい マナ 19/3/13(水) 23:14 発言[未読]
【80578】Re:変数の参照が不正ですを直したい よろずや 19/3/14(木) 10:17 発言[未読]
【80650】Re:変数の参照が不正ですを直したい モリチャン 19/3/26(火) 22:23 お礼[未読]

【80576】変数の参照が不正ですを直したい
質問  モリチャン E-MAIL  - 19/3/13(水) 22:54 -

引用なし
パスワード
   以下の様なマクロ部分のプログラムです。他にフォーム部分がありますが動かすとコンパイルエラ:Nextで指定された変数の参照が不正ですと表示します。そして、Next iのiの部分が強調されますので、変数i関係が違うと思いますがどう直したらよいでしょうか?
Sub main()
Application.ScreenUpdating = False
Workbooks.Open Filename:=gfilename
sinn = ActiveWorkbook.Name
Sheets("規格値").Select
Range("E10").Select
ActiveCell.Offset(0, 0).Range(Cells(2, 1), Cells(15, 7)).Select
Selection.ClearContents
Workbooks.Open Filename:=dfilename
For i = 1 To 7
For k = 1 To 14
Data = ActiveWorkbook.Name
Windows(sinn).Activate
Range("E10").Select
ActiveCell.Offset(k - 1, i - 1).Select
Windows(Data).Activate
D = Val(Mid(TESTNO, (k - 1) * 2 + 1, 2))
Range(Cells(D, 1), Cells(D, 6)).Copy
Windows(sinn).Activate
Selection.PasteSpecial Paste:=xlFormula
Next i
Windows(Data).Activate
ActiveWindow.Close
If i = 7 Then Exit For
Application.ScreenUpdating = True
MsgBox ("終了しました")
End Sub

【80577】Re:変数の参照が不正ですを直したい
発言  マナ  - 19/3/13(水) 23:14 -

引用なし
パスワード
   ▼モリチャン さん:

まずは、インデントから
ht tp://kabu-macro.com/word/sa-so/zisage.html

次に、変数宣言
ht tp://officetanaka.net/excel/vba/beginner/11.htm

質問は、それからで。

【80578】Re:変数の参照が不正ですを直したい
発言  よろずや  - 19/3/14(木) 10:17 -

引用なし
パスワード
   マルチポストで、あちらでも適切な回答が付かないですね。

突っ込み処満載で、どっから手を付けていいやら。

コンパイルエラーの前に、
どんな表でどんな処理をしたいのかを説明すると、
適切な回答が付くかも。

【80650】Re:変数の参照が不正ですを直したい
お礼  モリチャン  - 19/3/26(火) 22:23 -

引用なし
パスワード
   ▼モリチャン さん:
>以下の様なマクロ部分のプログラムです。他にフォーム部分がありますが動かすとコンパイルエラ:Nextで指定された変数の参照が不正ですと表示します。そして、Next iのiの部分が強調されますので、変数i関係が違うと思いますがどう直したらよいでしょうか?
>Sub main()
>Application.ScreenUpdating = False
>Workbooks.Open Filename:=gfilename
>sinn = ActiveWorkbook.Name
>Sheets("規格値").Select
>Range("E10").Select
>ActiveCell.Offset(0, 0).Range(Cells(2, 1), Cells(15, 7)).Select
>Selection.ClearContents
>Workbooks.Open Filename:=dfilename
>For i = 1 To 7
>For k = 1 To 14
>Data = ActiveWorkbook.Name
>Windows(sinn).Activate
>Range("E10").Select
>ActiveCell.Offset(k - 1, i - 1).Select
>Windows(Data).Activate
>D = Val(Mid(TESTNO, (k - 1) * 2 + 1, 2))
>Range(Cells(D, 1), Cells(D, 6)).Copy
>Windows(sinn).Activate
>Selection.PasteSpecial Paste:=xlFormula
>Next i
>Windows(Data).Activate
>ActiveWindow.Close
>If i = 7 Then Exit For
>Application.ScreenUpdating = True
>MsgBox ("終了しました")
>End Sub


以上の記載は、EXCELファイルの試験条件規格を、📉ファイルに転送する目的で作ったのですが、ロジックが未熟で、3月25日分がある程度完成したファイルなので
閉じさせていただきます。ご回答ありがとうございました。

392 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free