人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【EXCELマクロ】でこういう事は出来ますか? 詳しい方教えてくださいm(__)m
〔現在〕 データシートと印刷用シートがあります。
印刷用シートのA1に入力した番号を検索値としてデータシートA列にある“NO”からVLOOKUP関数で
値が返るような構成になっています。
印刷用シートのA1に印刷したい番号を入れて印刷、番号を入れて印刷という事を繰り返しています。
(100件以上ある)
〔やりたい事〕 データシートのB列に“印刷したいデータ”という項目を増やして、そこに例えば“1”と入力した
データのみ印刷用シートのA1に“NO”を入れて印刷を実行する。

●質問者: mokachan
●カテゴリ:コンピュータ 学習・教育
✍キーワード:データ マクロ 入力 印刷 検索
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● airplant
●50ポイント

フラグがついた番号をデータシートから持ってきて、印刷用シートへ入れて印刷すればいいと解釈しました。

下のような感じでどうでしょう? なお、フラグは"1"だけでなく何でもOKにしてあります。

Option Explicit

Const sDataSheet As String = "データ"
Const sPrintSheet As String = "印刷用"
Const First As Integer = 2 'フラグの開始行

Sub PrintAutomatic()

 Dim vNo() As Variant
 Dim Last As Integer, I As Integer, N As Integer
 Dim rCur As Range
 
 Sheets(sDataSheet).Select
 Last = Range("B65536").End(xlUp).Row
 
 '配列に実行する分のNoを入れる
 N = 0
 For I = First To Last
 If Cells(I, 2) <> "" Then
 N = N + 1
 ReDim Preserve vNo(N)
 vNo(N) = Cells(I, 1)
 End If
 Next
 
 '印刷する
 Sheets(sPrintSheet).Select
 For I = 1 To N
 Range("A1") = vNo(I)
 ActiveWindow.SelectedSheets.PrintOut
'お試し用 ActiveWindow.SelectedSheets.PrintPreview
 Next
 
End Sub
◎質問者からの返答

早速ありがとうございました。

今帰宅したばかりで脳みそが拒否しちゃいそうなので、

後ほどじっくり読ませて頂きます。


2 ● ardarim
●60ポイント

サンプルです。

おおむねあっていると思いますが、質問で意図されている内容が完全には理解できなかったので、必要に応じて手直ししてください。

Option Explicit
Option Base 0

Sub test()

 Dim PrintSheet As Worksheet
 Dim DataSheet As Worksheet
 Dim r As Long

 Set PrintSheet = Worksheets("印刷用シート")
 Set DataSheet = Worksheets("データシート")
 
 ' B1には"印刷したいデータ"という文字が入っていると仮定し、
 ' B2から始める
 r = 2
 
 ' A列にデータがなくなるまでループ
 Do While DataSheet.Cells(r, 1).Value <> ""
 If DataSheet.Cells(r, 2).Value = 1 Then
 ' データシートのA列から印刷用シートのA1に転記する
 PrintSheet.Cells(1, 1).Value = DataSheet.Cells(r, 1).Value
 
 ' 印刷用シートの再計算
 PrintSheet.Calculate
 
 ' 印刷
 PrintSheet.PrintOut
 End If
 r = r + 1
 Loop

End Sub
◎質問者からの返答

ありがとうございます。

後ほどゆっくり読ませていただきます。

文章だけで伝えるって難しいですね。。

国語からべんきょしなきゃいけないかしら^_^;

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ