[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『あるセルに入力されている時、そのリンク先のシートを一括印刷』(ユウスケ777)
マクロの全くの初心者ですが以下の条件で一括印刷をしたいです。
?@シート1の特定のセルに文字が入力されている時、その該当する別のシートを一括印刷をする。
【全社員】←シート名
[1] [2] [3]
[1] Aさん 1234 Aさんの詳細
[2] Bさん (空白) Bさんの詳細
[3] Cさん 4567 Cさんの詳細
[4] Dさん 6532 Dさんの詳細
[5] Eさん (空白) Eさんの詳細
別シートで「Aさんの詳細」「Bさんの詳細」,,,,,があります。
列3の「○さんの詳細」をクリックするとハイパーリンクで
それぞれの専用のシートにジャンプします。
ここで、列2に数字が入力されている時、それぞれの専用シート先を一括で印刷できる設定をご教授していただけませんでしょうか?
上記の例ですと、Aさん、Cさん、Dさんの専用のシートを印刷したいです。
(空白のB,Eさんは印刷不要です)
以上、宜しくお願い致します。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
1)2列目を上から順番に調べて、以下を繰り返す
2)空白でなかったら
3)隣のセルのハイパーリンク先アドレスを調べて
4)そのセルのシートを求めて
5)そのシートを印刷
このうちの何番がわかりませんか。
シート名が、Aさん、Bさん、…であれば、もっと簡単です。
(マナ) 2017/05/14(日) 14:54
これがシート名ですか?
(マナ) 2017/05/14(日) 16:40
Option Explicit
Sub test() Dim c As Range
For Each c In Range("c1", Range("c" & Rows.Count).End(xlUp)) If c.Offset(, -1).Value <> "" Then Worksheets(c.Value).PrintPreview End If Next
End Sub
(マナ) 2017/05/14(日) 16:57
1)すべてのシートについて、以下を繰り返す
2)シート名が、3列目のどの行にあるか調べて
3)その行の2列目のセルが空白でなかったら
4)そのシートを印刷
Option Explicit
Sub test2() Dim ws As Worksheet Dim m
For Each ws In Worksheets m = Application.Match(ws.Name, Columns(3), 0) If IsNumeric(m) Then If Cells(m, "B").Value <> "" Then ws.PrintPreview End If End If Next
End Sub
(マナ) 2017/05/14(日) 20:48
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.