[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロの作成について』(rikko)
職場にて、ラベル印刷(3列6行18枚)をする際のマクロ等でご教授いただきたく、よろしくお願いいたします。
昼食と夕食のお弁当のラベルの作成依頼がありました。
曜日によって召し上がる方(1個ご注文の方も2個ご注文の方もあります)と、そうでない方がいるので
そのデータのSheetは作成があります。
そのデータをまとめたShettが 出力シート(昼) ←A1に印刷ラベルの名前を付けてあります。
B1 日付
C1 昼
D1 氏名
E1 お部屋番号
F1 カロリー・・・・ K1まで項目があり、50名〜80名程のご予約があります。
ラベルの雛型のShettは、ラベル印刷 としてあります。
=IF(ISBLANK(OFFSET(印刷ラベル,1,3)),"",OFFSET(印刷ラベル,1,3))
このラベルを印刷する場合、
Sub 昼ラベル印刷()
Dim i As Long, ix As Long
ix = Worksheets("出力シート(昼)").Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To ix Step 18
On Error Resume Next
Names("印刷ラベル").Delete
On Error GoTo 0
Names.Add Name:="印刷ラベル", RefersTo:="=出力シート(昼)$A$1"
Next i
End Sub
で作成しましたが、動きません。。。
マクロなど初心者で質問もうまくできていないかもしれませんが、どうぞご教授の程よろしくお願いいたします。
来月から稼働するとのことで急いでおります。
申し訳ありませんが、よろしくお願いいたします。
< 使用 Excel:Excel2007、使用 OS:WindowsXP >
肝心な印刷する部分のコードがないと思いますが、印刷用のシートは「ラベル印刷」でしょうか。 確認時に印刷はもったいないのでプレビューにしています。 問題なければ PrintOut に変更して使用ください。
Sub 昼ラベル印刷() Dim i As Long Dim ix As Long Dim n As Name ix = Worksheets("出力シート(昼)").Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To ix Step 18 For Each n In ActiveWorkbook.Names If n.Name = "印刷ラベル" Then n.Delete Exit For End If Next Names.Add Name:="印刷ラベル", RefersTo:="=" & Worksheets("出力シート(昼)").Cells(i, "A").Address(external:=True) Worksheets("ラベル印刷").PrintPreview '// 確認用 '// Worksheets("ラベル印刷").Printout '// 印刷用 Next End Sub (Mook) 2014/08/22(金) 17:26
上記のものを、コピーしてマクロ登録しましたが、
【インデックスが有効範囲にありません】と表示されてしまいます。
ix = Worksheets("出力シート(昼)").Cells(Rows.Count, 1).End(xlUp).Row
の行が黄色くマーカーされてしまいます。
それと、別のシート(名前:「昼」があります)に日付の入力があり、誰が何個頼んでいるのかのデータあります。
日付を指定すれば、↑のデータよりその人が1つ頼んでいれば1つのラベルを、2つ頼んでいれば2つラベル印刷をかけたいです。
上手く伝えられていないと思うので、Excelデータを添付したいのですが、方法がわかりません。
お伝えする方法があれば教えてください。
何度も申し訳ありませんが、よろしくお願いいたします。
(デイト) 2014/08/25(月) 17:07
デイトさんからフォローがありますが、 >【インデックスが有効範囲にありません】と表示されてしまいます。 は多分、シート名が間違っているので、シートの名前を直接コピーして■の部分に貼り付けた 方がよいと思います。 Worksheets("■")
データから印刷シートにマクロでデータを転記したいのであれば、ラベルシートの レイアウト とデータの列の情報を提示すればできないでしょうか。
例えば、 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 「昼」シートは B〜K列 までデータがあって、
「ラベル印刷」シートは3列×6段のフォーマットで、1段目は
A1 = B列のデータ F1 = B列のデータ K1 = B列のデータ A2 = C列のデータ F2 = C列のデータ K2 = C列のデータ A3 = F列のデータ F3 = F列のデータ K3 = F列のデータ A4 = G列のデータ F4 = G列のデータ K4 = G列のデータ
2段目は A7 = B列のデータ F7 = B列のデータ K7 = B列のデータ A8 = C列のデータ F8 = C列のデータ K8 = C列のデータ A9 = F列のデータ F9 = F列のデータ K9 = F列のデータ A10= G列のデータ F10= G列のデータ K10= G列のデータ
3段目以降 A13、A19、A25、A31 から配置されて6段目まであります。 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
と説明があれば、B列の日付にあわせてデータの配置をして印刷ということは サンプル提示ができると思います。 (Mook) 2014/08/25(月) 19:30
お手数をお掛けしました、本当に助かりました<(_ _)>
(rikko) 2014/08/26(火) 14:54
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.