No.5ベストアンサー
- 回答日時:
つまりこういうことですか?
●"シート2"は、以下のような感じ。
━━━━━━┳━━┳━━━
受注ナンバー ┃顧客┃請求額
━━━━━━╋━━╋━━━
1001┃ A社┃10000
━━━━━━╋━━╋━━━
1002┃ B社┃20000
━━━━━━╋━━╋━━━
1003┃ C社┃50000
━━━━━━╋━━╋━━━
●"シート1"の特定のセルに、たとえば「1001」と入力すると、上記の表から得た「A社」、「10000円」などという情報が各欄に表示される。
●上記"シート1"の特定のセルに「1001」を入力して印刷、「1002」を入力して印刷、…、という一連の繰り返し作業を自動で行わせたい。
以上でよければ、以下のようにできます。
Public Sub PrintAll()
Dim rngOrderNoArray As Range
Dim rngOrderNoForm As Range
Dim rngOrderNo As Range
Set rngOrderNoArray = Worksheets("シート2").Range("A2:A100") ★"シート2"の受注ナンバーの範囲
Set rngOrderNoForm = Worksheets("シート1").Range("A1") ★"シート1"の入力欄
For Each rngOrderNo In rngOrderNoArray
rngOrderNoForm.Value = rngOrderNo.Value
Worksheets("シート1").PrintOut
Next
End Sub
あくまでもサンプルです。上記を実行すると冒頭の動作を「A2:A100」など設定した分だけ繰り返します。途中でキャンセルできるようにしたり、などは必要に応じて追加してください。
No.6
- 回答日時:
Range(Cells(x,y),Cells(z,u)).PrintOutがポイントです。
印刷する範囲がいつも一定であればx、y、z、uは定数字です。
変わるなら、プログラム内で計算や場所(セル範囲)の表を持つ。
納品書の定位置に受注シートデータから持ってくるのは
(別質問に答えたものですが)下記の「データを移す」のところが参考に
なるでしょう。
ほかにも2シートの扱いなど参考になるでしょう。応用が広く、すっきり
していると自負しています。(全体は他の問題用ですから気にしないで)
Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("sheet1")
Set sh2 = Worksheets("sheet2")
'最下行数を知る
d = sh1.Range("A65536").End(xlUp).Row
MsgBox d
j = 1 'sheet2の先頭行
m = "XXX" 'Sheet1の第1行以外の値をセット
For i = 1 To d
'---A列直前の行と変わったか
If sh1.Cells(i, "A") = m Then
Else
'----変わったときA,B列をSheet2へ移す
sh2.Cells(j, "A") = sh1.Cells(i, "A") ’データを移す
sh2.Cells(j, "B") = sh1.Cells(i, "B")
m = sh1.Cells(i, "A")
j = j + 1 'Sheet2の次行へ
End If
Next i
End Sub
仕事にVBAを使うには、中級以上のスキルがいります。覚悟の程を。
No.4
- 回答日時:
>シート1の納品書内の受注ナンバーを入力する
番号の入力は納品書の「セル」と言うことでしょうか?
>シート2のデーターが自動で入る
納品書の「受注ナンバー」に入力された番号を基に機能するのですね?
この動作はボタンで実行するのですか?
それとも、シートのイベント(自動)ですか?
印刷は手動?
---------------------------------
基本的には、納品書作成(記入)マクロに受注番号を渡して納品書を作成して印刷、の繰返しをすれば良いだけです。
注番が連番の数値なら簡単ですが、それ以外なら面倒になります。
sub 連続印刷
’受注番号指定処理(開始番号・終了番号設定)
do
注番作成処理
call 請求書作成(注番)
印刷処理
終了判定処理
Loop
End Sub
のような流れになります。
No.3
- 回答日時:
こんにちは。
・シート1に納品書のフォームがある。
・シート2には数100件以上入る顧客注文リスト表がある。
・シート1の納品書に、シート2のデーターが自動で入るようになっている。
・注文リスト内全件が自動に納品書に反映され印刷したい。
結局、これだけの内容からですと、現状では、残念ながら、VBAでの解決にまでには結びつかないのではないかと思います。
ここで回答できる範囲としては、コーディングのトラブルやいくつかのピンポイントで示せるテクニックを書くだけで、初期からコードを書くものは限られています。今、具体的なコーディングでお困りのことがあれば、お教えできるかと思いますが、そうでないとしたら、私には不可能です。
No.2
- 回答日時:
こんばんは。
単純に回答が付けられないのは、「打ち出す」ものは、ひとつのシートの中のものか、それとも複数のシート全なのかどうかということですね。
もし、ひとつのシートの中のものだとすれば、同じものをプリントアウトするわけではありませんから、当然、内容が変わっていくはずです。それら、プリントアウトする前段階の部分がはっきりしないと、Do ~ While などと教えても何も役に立たないような気がします。
この回答への補足
ありがとうございます。
シート1に納品書のフォームがあり、シート2には数100件以上は入る顧客注文リスト表があります。シート1の納品書内の受注ナンバーを入力する事により、シート2のデーターが反映されシート1の納品書にデーターが自動で入るようにしました。件数は日によりまちまちですが(数件から数100件)注文リスト内全件が自動に納品書に反映され印刷したいと思います。
全くの素人でチャレンジしているので説明もうまくできませんがどうぞよろしくお願い致します。
No.1
- 回答日時:
単純に印刷するにはPrintOutメソッドを使います。
Worksheets("納品書1").PrintOut
複数のシートなら、
Sheets(Array("納品書1", "納品書2", "…")).PrintOut
とか。
もちろん「すべてのシート」だとか、あるフォルダの中のファイルをすべて、順番に開いていって印刷、ということも可能です。
そういう場合には、For 文などで必要な分だけ同じことを繰り返します。これがループです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBAで複数のシート印刷設定 1 2022/09/07 12:03
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- Visual Basic(VBA) VBAで不特定枚数印刷をしたいです。 4 2022/08/02 07:30
- Excel(エクセル) エクセルで条件付き書式を使わずにセルの文字の色を変える方法を教えて下さい 8 2023/07/28 01:15
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) Excel VBAプルダウンの値を変えながら2枚ずつ印刷する方法? 4 2022/05/27 13:04
- プリンタ・スキャナー コンビニのマルチコピーの性能について教えて下さい。 5 2023/05/10 03:05
- プリンタ・スキャナー エプソン EW-452Aの自動両面印刷やり方が分かりません 1 2022/09/30 21:25
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Java Java 南京錠 2 2023/02/04 11:46
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
Excelで連続印刷をするマクロ
Excel(エクセル)
-
空白行になるまでループし、印刷するマクロを教えて下さい
その他(コンピューター・テクノロジー)
-
エクセルで140人をマクロをつかって連続印刷?
その他(データベース)
-
-
4
オートフィルタのリストを順番に印刷できるマクロ
Windows Vista・XP
-
5
開始行と最終行を指定して差し込み印刷するマクロ
Excel(エクセル)
-
6
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
7
連続で印刷すると画像が更新されない(Excelのイメージコントロール)
Visual Basic(VBA)
-
8
印刷枚数をセルの数値としたい
Excel(エクセル)
-
9
エクセル連番自動印刷について
Excel(エクセル)
-
10
EXCEL マクロ 条件の合ったシートだけ印刷したい
Excel(エクセル)
-
11
エクセル、マクロで番号を読込して連続印刷を行いたいです
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
ブック名、シート名を他のモジ...
-
エクセルのシート名変更で重複...
-
エクセルで通し番号を入れてチ...
-
VBAで同じシート名のコピー時は...
-
【Excel VBA】Worksheets().Act...
-
同じ作業を複数のシートに実行...
-
XL:BeforeDoubleClickが動かない
-
【Excel VBA】ブックを開いた時...
-
VBA 入力月で該当シートを選択...
-
【ExcelVBA】全シートのセルの...
-
【VBA】特定の文字で改行(次の...
-
Excelマクロのエラーを解決した...
-
EXCEL VBAで複数シート内のセル...
-
userFormに貼り付けたLabelを変...
-
特定の文字を含むシートだけマ...
-
エクセルのマクロについて教え...
-
実行時エラー'1004': WorkSheet...
-
エクセルVBA 別シートからのコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
excelのマクロで該当処理できな...
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
同じ作業を複数のシートに実行...
-
ブック名、シート名を他のモジ...
-
特定の文字を含むシートだけマ...
-
実行時エラー'1004': WorkSheet...
-
VBA 存在しないシートを選...
-
エクセルのシート名変更で重複...
-
XL:BeforeDoubleClickが動かない
-
シートが保護されている状態で...
-
Excel VBA 複数行を数の分だけ...
-
実行時エラー1004「Select メソ...
-
【Excel VBA】Worksheets().Act...
-
Excelマクロのエラーを解決した...
-
エクセル・マクロ シートの非...
-
VBAで同じシート名のコピー時は...
-
ExcelのVBAのマクロで他のシー...
-
【VBA】色のついたシート名を取得
おすすめ情報