advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 103 for フォーマット 自動 印刷 (0.009 sec.)
フォーマット (1423), 自動 (14517), 印刷 (5708)
[[20200122120739]]
#score: 8138
@digest: 350d5a84cceff31a7ba0abed0d2069fe
@id: 82036
@mdate: 2020-01-23T06:38:25Z
@size: 7535
@type: text/plain
#keywords: dummydatermaker (15241), mybothprint (15241), startset (15241), printlayermake (15241), 囲- (14841), 行範 (11287), 囲if (9713), mary (9554), base (7591), 列), (7546), 両面 (5909), 面印 (5282), 列). (4520), 二枚 (4399), 隠居 (4194), 囲as (4142), 行, (3999), 日分 (3552), 列as (3410), 行+ (2962), 行as (2548), ロ初 (2483), 印刷 (2433), 居じ (2392), 分( (2374), じー (2307), printout (2255), 用紙 (2254), cells (2096), 名", (2005), 行= (1799), 右上 (1510)
『特定セルが”0”の場合印刷しない連続印刷のやり方を教えてください』(マクロ初心者)
1シートの中に30日分(1日1ページ仕様)があるのですが、特定のセルに入力がない場合はその日の分(該当ページ)を印刷しないマクロはどのようにすればいいですか? 特定セルに入力がない場合は、ページごとに右上のセルに「0」が表示されるようになっています。 < 使用 Excel:unknown、使用 OS:Windows10 > ---- 何がどうなっているのかわかりませんが、分かる範囲での回答ならこんな具合ではないでしょうか? Sub test() Dim 行 As Long Const 列 As String = "D" Const 行範囲 As Long = 10 For 行 = 1 To 311 Step 行範囲 If Cells(行, 列).Value = 0 Then '印刷しない Else Range(Cells(行, 列), Cells(行 + 行範囲 - 1, "A")).PrintOut End If Next 行 End Sub (稲葉) 2020/01/22(水) 12:36 ---- こんにちは ^^ 既に適切なアドバイスが提示されていますが、。。。とりあえず。。。^^; いろいろ方法はあるとおもいますが。。。 わたしなら。。。印刷設定は別シートにでも 好きなようにフォーマットして、別シートには 30日分を30行で(一日分を1行に全て納めます(列は有るだけいくらでも?)格納しておき 順に1行ずつ読んで条件が合えば必要な物を必要なだけ印刷用シートへ転記して印刷 を日数分繰り返すと思います。 でわでわ、頑張ってくださいね。。。m(_ _)m (隠居じーさん) 2020/01/22(水) 12:51 ---- 稲葉さん すみません(;゚Д゚) 説明が足りない中、返信していただいてありがとうございます。 1シートの中に、1日1ページの日誌を横に6ページ、縦に5ページの計30ページあります。 1ページの内訳は、横にA〜Fの6列、縦に38行あり、入力する日と入力しない日があります。 入力がない日は各ページのF1に相当する場所(右上)が「0」となる様にしてあります。 その中で、入力が終わっているページのみ印刷したいです。 ちなみに、先ほど教えていただいたマクロの物に、★の部分を5回いれるとですか? ★ Dim 行 As Long Const 列 As String = "D" Const 行範囲 As Long = 10 For 行 = 1 To 311 Step 行範囲 If Cells(行, 列).Value = 0 Then '印刷しない Else Range(Cells(行, 列), Cells(行 + 行範囲 - 1, "A")).PrintOut End If Next 行 Sub test() Dim 行 As Long Const 列 As String = "D" Const 行範囲 As Long = 10 For 行 = 1 To 311 Step 行範囲 If Cells(行, 列).Value = 0 Then '印刷しない Else Range(Cells(行, 列), Cells(行 + 行範囲 - 1, "A")).PrintOut End If Next 行 ★×縦に5ページ分 End Sub (マクロ初心者) 2020/01/22(水) 13:47 ---- 隠居じーさん ありがとうございます。 たとえば、 入力する事項を一覧にして1シートにし、別シートに表を作って、vlookup関数で反映されるようにして、 下記のようなマクロで行うということでしょうか? Sub 連続印刷() Dim i As Integer Dim LastRow As Integer Worksheets("表").Select With Worksheets("一覧") LastRow = .Range("A65536").End(xlUp).Row For i = 2 To LastRow Range("F1").Value = .Range("A" & i).Value ActiveSheet.PrintOut Next End With End Sub (マクロ初心者) 2020/01/22(水) 14:00 ---- あ!はい (#^^#) そんな感じです 要らない分は条件文で排除しますです。 んな感じの方が私は扱いやすい様に 感じますです。。。ま!一案ですので ご考察の何かの足しにでもなれば幸甚です。 m(_ _)m (隠居じーさん) 2020/01/22(水) 14:20 ---- 隠居じーさん ありがとうございます。 これをさらに両面印刷にすることって可能ですか? (マクロ初心者) 2020/01/23(木) 10:27 ---- おはよ〜ございます。 ^^ あの〜両面印刷って。。。そのぉ。。。 例えば30日分ですと、表に1日の情報、裏に 2日の情報、二枚目の用紙の表に3日分二枚 目の用紙の裏に4日分。。。繰り返し最後ま でとか、との理解で、宜しいでしょうか。 (隠居じーさん) 2020/01/23(木) 10:35 ---- >>(隠居じーさん) 2020/01/23(木) 10:35 の理解で良いのでしたら。。。奇数の日を先に全て印刷して あと、用紙を裏返して、偶数の日を印刷します。マクロを二 つに分けても良いですし、Msgbox 何かで一時停止させても 可能なのでは無いでしょうか両面印刷対応プリンターに関し ては扱ったことが御座いませんので他の方の回答をお待ちく ださいませ。悪しからずご了承ください。。。m(_ _)m でわでわ。 (隠居じーさん) 2020/01/23(木) 10:56 ---- 追伸 印刷しない日もあるのでしたら 印刷するものだけををどこかに 格納して、昇順に並び替え、て 同じようにすれば良いかと、。 。。。かなりアナログ的で。。 済みません。。m(_ _)m (隠居じーさん) 2020/01/23(木) 11:04 ---- こんにちは ^^ ちょっとつくってみました。 何かの足しにでも。役立たずでしたらゴミ箱ポイ してくださいね。m(_ _)m でわでわ '*************************************************************************************** '* 新規BOOKにてお願いいたします。 '* 左から一番目、と二番目のシートが処理対象の為全ての情報は更新されます。 '* マクロ実行中は面倒でも強制中断はしないほうが良いかと思います。手当たり '* 次第にコード実行が自動で中断される現象が惹起する危険があります。。w(◎o×)w '*************************************************************************************** Option Explicit Sub OneInstanceMain() StartSet DummyDaterMaker PrintLayerMake MyBothPrint End Sub Private Sub StartSet() If Worksheets.Count < 2 Then Worksheets.Add Worksheets(Worksheets.Count) Worksheets(2).Range("C:E").ColumnWidth = 12 End If End Sub Private Sub DummyDaterMaker() Dim Y As Long Dim D As Date Dim Mary Rnd -6: Y = 2 Mary = Array("A", "B", "C", "D", "E", "F") D = DateSerial(2020, 1, 1) With Worksheets(1) .UsedRange.Clear .Cells(1).Resize(1, 5) = Array("日付", "店名", "商品名", "個数", "金額") Do Until Y >= 31 + 2 .Cells(Y, 1) = D .Cells(Y, 1).NumberFormatLocal = "m/d" .Cells(Y, 2) = "越後屋-" & Mary(Int((5 - 0 + 1) * Rnd + 0)) .Cells(Y, 3) = "うどん" .Cells(Y, 4) = Int((300 - 1 + 1) * Rnd + 1) .Cells(Y, 5) = .Cells(Y, 4) * 250 Y = Y + 1 D = D + 1 DoEvents Loop End With Erase Mary End Sub Private Sub PrintLayerMake() With Worksheets(2) .UsedRange.Clear .Cells(2, 2) = "ご 案 内" .Cells(5, 3) = "日 付" .Cells(6, 3) = "店 名" .Cells(7, 3) = "商 品" .Cells(8, 3) = "個 数" .Cells(9, 3) = "金 額" End With End Sub Private Sub MyBothPrint() Dim Base As Variant Dim I As Long Dim J As Long With Worksheets(1) Base = .Cells(1).CurrentRegion End With With Worksheets(2) For I = 2 To UBound(Base, 1) If I Mod 2 = 0 Then .Cells(5, 5) = Base(I, 1) .Cells(6, 5) = Base(I, 2) .Cells(7, 5) = Base(I, 3) .Cells(8, 5) = Base(I, 4) .Cells(9, 5) = Base(I, 5) .PrintPreview End If Next MsgBox "用紙を上下裏表確認後クリックしてください。" For I = 2 To UBound(Base, 1) If I Mod 2 <> 0 Then .Cells(5, 5) = Base(I, 1) .Cells(6, 5) = Base(I, 2) .Cells(7, 5) = Base(I, 3) .Cells(8, 5) = Base(I, 4) .Cells(9, 5) = Base(I, 5) .PrintPreview End If Next End With Erase Base End Sub (隠居じーさん) 2020/01/23(木) 15:38 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/202001/20200122120739.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97057 documents and 608302 words.

訪問者:カウンタValid HTML 4.01 Transitional