[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルと同じシート名を印刷する』(VBA初心者です)
こんにちは。
シート名が1週から45週まであり,他のシート名"ファイル設定"の画面のkセルG4からシート名を選択して印刷プレビュー,印刷をしようとしたところ,
以下のVBAをマクロに記録したところ,
見当たらないとメッセージが出てしまいました。
Sub シート印刷()
Dim sheetName As String
Dim sh As Worksheet
sheetName = LCase(Range("G5").Value) 'シート名を取得(大文字小文字の違いを間違いをしないために小文字で統一)
For Each sh In Worksheets 'ブック内の全シートをチェック
If LCase(sh.Name) = sheetName Then 'シート名が同じ?
sh.PrintOut 'シート印刷
Exit Sub '終了
End If
Next
MsgBox "見つかりません" '途中で見つからなかったので、エラー表示
End Sub
おそらく,漢字表記の入っているシート名なので"見つかりません"とエラーが出たと思います。初心者なので全くわからずご教授いただけたらと思い書き込みました。出来れば印刷するシートをA4版横にシート内容が入れば嬉しいです。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
LCaseはアルファベットの大文字を小文字にするので今回のケースでは使えません。 あと「ファイル設定シート」のG4セルを基準とするのに sheetName = LCase(Range("G5").Value) でシート名が指定されていませんね。(G5ではなくG4ですよね?)
Sub シート印刷()
Dim SheetName As String Dim sh As Worksheet
SheetName = StrConv(Sheets("ファイル設定").Range("G4").Value, vbNarrow) 'シート名を取得(大文字小文字の違いを間違いをしないために小文字で統一)
For Each sh In Worksheets 'ブック内の全シートをチェック If StrConv(sh.Name, vbNarrow) = SheetName Then 'シート名が同じ? sh.PrintOut 'シート印刷 Exit Sub '終了 End If Next
MsgBox "見つかりません" '途中で見つからなかったので、エラー表示
End Sub (bi) 2017/05/12(金) 14:21
インデックスが有効範囲にありません とでます。どうしたら実行できるか教えていただけないでしょうか。マクロ編集を開くとSheetName=の行に黄色くLINEが引かれていました。 宜しくお願いします。
コメントする際は編集からではなくコメント欄から書いてください。
>インデックスが有効範囲にありませんとでます
「ファイル設定」シートがないのでは? Sheets("ファイル設定") ^^^^^^^^^^^^^^ ↑ ここに実際のシート名を入れてください。 (bi) 2017/05/12(金) 15:26
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.