[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『他の複数ブックの日付セルから印刷』(キミコ)
よろしくおねがいします。
現在、担当者別の複数ブックがあります。 各ブックには、「2月」「3月」…のシートがあり その中に、同じフォーマットの表が並んでおり 1行目B列に日付(m月d日(aaa)があります。 各シート内には、表が縦に10〜20並んでいます。 表は1列目に日付、残り29列が文字と罫線で全30行です。 現在、日付をクリックしてから、下のマクロで表を印刷しておりますが
Sub Sample() On Error GoTo Error01 ActiveSheet.PageSetup.PrintArea = Activecell.Resize(30,7).Offset(0,-1).Address ActiveSheet.PrintOut ActiveSheet.PageSetup.PrintArea = "" Exit Sub Error01: MsgBox "範囲指定できません" End Sub
今回お聞きたいのは、マクロで複数ブックの日付を検索し、明日の表を いっぺんに印刷できるようにできないでしょうか?ということです。 (土日は休社ですので、金曜日は月曜の印刷にできると嬉しいですが) あまりにも調子がよすぎる内容で、難しいかもしれませんが よろしくお願いします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
Sub test() Dim d As Date Dim ret Dim s As String Dim r As Range Dim m As Long
d = WorksheetFunction.WorkDay(Date, 1) ret = Application.InputBox("印刷したい日付は?", "入力", Format(d, "yyyy/m/d")) If Not IsDate(ret) Then Exit Sub
d = CDate(ret) s = Format(d, "m月")
On Error Resume Next Set r = ActiveWorkbook.Sheets(s).Columns(2) m = Application.Match(CLng(d), r, 0) On Error GoTo 0
If m > 0 Then r.Cells(m).Resize(30, 7).Offset(0, -1).PrintPreview Else MsgBox "その日付は印刷できません" End If
End Sub
(マナ) 2015/02/18(水) 22:09
教えて頂いたマクロで印刷できました。 ここから、各ブックを巡回して検索するようにするのは どうしたら良いのでしょうか… 他の検索で printFiles = Array( _ "C:\Users\キミ\Desktop\A.xlsx", _ "C:\Users\キミ\Desktop\B.xlsx") みたいにブックを指定してするとよさそうですが、 他のブックを巡回して検索する方法がわかりません。 お手数をお掛けしますが、教えていただけるでしょうか。 (キミコ) 2015/02/19(木) 06:37
s = Format(d, "m月")
の後ろをこんなように変更でしょうか。
Dim wbPath For Each wbPath In Array( _ "C:\Users\キミ\Desktop\A.xlsx", _ "C:\Users\キミ\Desktop\B.xlsx") With Workbooks.Open(wbPath) On Error Resume Next Set r = .Sheets(s).Columns(2) m = Application.Match(CLng(d), r, 0) On Error GoTo 0
If m > 0 Then r.Cells(m).Resize(30, 7).Offset(0, -1).PrintPreview Else MsgBox wbPath & "では、その日付は印刷できません" End If .Close False End With Next (Mook) 2015/02/19(木) 14:20
教えて頂いた内容で、全てうまく行きました。 大変勉強になりました。 (キミコ) 2015/02/19(木) 18:52
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.