[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『他の複数ブックの日付セルから印刷』(キミコ)
よろしくおねがいします。
現在、担当者別の複数ブックがあります。 各ブックには、「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.