[[20170512134939]] 『セルと同じシート名を印刷する』(VBA初心者です) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セルと同じシート名を印刷する』(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についてお調べになった方がよいかと。
(名無し) 2017/05/12(金) 14:17

 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

ご教示頂きありがとうございます。
上記プログラムを実行したところ 
        実行時エラー"9"
                インデックスが有効範囲にありません
とでます。どうしたら実行できるか教えていただけないでしょうか。マクロ編集を開くとSheetName=の行に黄色くLINEが引かれていました。
宜しくお願いします。

 コメントする際は編集からではなくコメント欄から書いてください。

 >インデックスが有効範囲にありませんとでます

 「ファイル設定」シートがないのでは?
 Sheets("ファイル設定")
        ^^^^^^^^^^^^^^
           ↑
 ここに実際のシート名を入れてください。
(bi) 2017/05/12(金) 15:26

シート名を変えたところ印刷できました。ありがとうございます。
このマクロに左にヘッダー,中央にフッター両方を入れるマクロを教えて頂ければ幸いです。
(VBA初心者) 2017/05/15(月) 09:52

後出し追加は、マナー違反ですよ。
ヘッダフッタなら、マクロの自動記録を有効にしてから、手作業する様を記録してみると、必要なマクロが判ります。そこで得られたキーワードで、いろいろ調べてみてください。調べもしないで質問するのもマナー違反。
(???) 2017/05/15(月) 09:56

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.