
質問です。下記のようにコードを書いたのですが、エラーが出て
先へ進めません。修正箇所のご指摘とできれば修正後のものをお願いします。
内容はワークシートの中身をプリントするかしないかだけなのですが。
Public Sub PrintWorksheets2()
'declare variables and assign address
Dim intPrint As Integer, intCount As Integer, wkbHours As Workbook, shtCurrent As Worksheet
Set wkbHours = Application.Workbooks("t9-ex-e9.xls")
'ask user if he or she wants to print the worksheet
shtCurrent = wkbHours
For intCount = 1 To wkbHours.Worksheets.Count
intPrint = MsgBox(prompt:="Print " & shtCurrent.Name & "?", Buttons:=vbYesNo + vbExclamation)
If intPrint = vbYes Then 'if user wants to print
shtCurrent.PrintPreview
End If
Next intCount
End Sub
No.3ベストアンサー
- 回答日時:
Next for statementの意味がよくわかりませんが、
For Eachを使いたくないのであれば、
> shtCurrent = wkbHours
> For intCount = 1 To wkbHours.Worksheets.Count
この2行を入替えて
For intCount = 1 To wkbHours.Worksheets.Count
Set shtCurrent = wkbHours.Worksheets(intCount)
こんな感じでどうでしょうか?
すごい!できました!
setはfunctionの文頭のdim statementのすぐ下以外も持ってこれるんですね。
勉強になりました!有り難うございます!
No.2
- 回答日時:
#1です。
すみません訂正です。Eachの記述が抜けていました。
×For shtCurrent In wkbHours.Worksheets
○For Each shtCurrent In wkbHours.Worksheets
大変丁寧にありがとうございます。
for each...nextでのやり方は大丈夫なのですが、
Next for statementで解決方法を探しているのです。
shtCurrentはどの用にセットすればいいのでしょうか。
set shtCurrent =Application.Workbooks("t9-ex-e9.xls").Worksheets("...")
だとまだエラーが出てしまいます。
因みにワークシートは3枚エクセルファイルの中にあります。
No.1
- 回答日時:
これがNGですね。
×shtCurrent = wkbHours
・shtCurrentとwkbHoursの型が違います。
・Setステートメントの記述がありません。
・ループの中に入っていません。
環境がないので試していませんが、下記のコードでどうでしょうか?
'shtCurrent = wkbHours
'For intCount = 1 To wkbHours.Worksheets.Count
For shtCurrent In wkbHours.Worksheets
:
Next 'intCount
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) エクセル マクロ(A1:A10)までの中で一番多く出た数字をB10に表示 6 2023/04/25 17:01
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
改行
-
配列を使っての文字列抽出について
-
phpからmysqlのテーブルにデー...
-
Shift-jisのPerlから、UTF-8、E...
-
表という文字の扱いについて
-
FORMメソッドでvalueがうまく渡...
-
pythonのopencv
-
正規表現
-
プログラミングを教えて下さい
-
ポーリングとHTMLデータのリロ...
-
C言語課題です。なんとか教え...
-
I2C接続のLCDディスプレイを使う
-
c言語の簡単な演算なのですがわ...
-
perl
-
perlの型と8進数、10進数
-
VBAのNext forでエラーが出て困...
-
python で数を順番に表示させたい
-
関数reverseの戻り値
-
誕生日パラドックス
-
日本語を入れた変数の中に指定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
シェルスクリプトで、空白(ス...
-
16進の10進変換について
-
Pythonでコンソールをクリアす...
-
【至急!!!】python言語で本を見...
-
c言語 16進数の2進数への変換
-
関数「exists」と「defined」の...
-
変数名に変数を使用
-
変数の中は文字列か数値か調べ...
-
eval文中の+
-
ソケットでのデータ送受信につ...
-
awk の int()に関数について
-
アカウントプログラムについて
-
I2C接続のLCDディスプレイを使う
-
ダブルクォーテーションの中に...
-
動的ハッシュを作って取り出し...
-
PerlのDate::Simpleが動かない?
-
pythonで演算子を変数に代入す...
-
python'高階関数'について
-
「HSP」でキャラコードを使って...
-
pythonで改行を含めてfindする方法
おすすめ情報