Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10346 / 13644 ツリー ←次へ | 前へ→

【22323】1ページに複数分印刷 koshimizu 05/2/16(水) 11:18 質問[未読]
【22327】Re:1ページに複数分印刷 IROC 05/2/16(水) 13:20 回答[未読]
【22363】Re:1ページに複数分印刷 koshimizu 05/2/17(木) 8:47 質問[未読]
【22367】Re:1ページに複数分印刷 IROC 05/2/17(木) 9:19 回答[未読]
【22369】Re:1ページに複数分印刷 koshimizu 05/2/17(木) 9:44 お礼[未読]

【22323】1ページに複数分印刷
質問  koshimizu E-MAIL  - 05/2/16(水) 11:18 -

引用なし
パスワード
   こんにちは。
下記のマクロでSheet1からSheet2へ印刷をしていますが1枚1人分

Sheet2の用紙1枚に4人又は6人が表記させるにはどこを変更したら
良いのか教えて下さい。

(Sheet1)
A   B   C   D
No. 氏名  郵便番号 住所
1 ○○  100-0001 東京
2 ××  111-0001 埼玉
3 ○×  222-0001 神奈川
4 △△  333-0001 千葉

.
.

(Sheet2)
 A   B   C  D  .......I  J  K   L
1   100-0001        111-0001 
2   東京           埼玉
3   ○○           ××
4
5
6   222-0001        333-0001 
7   神奈川          千葉
8   ○×          △△


開始No = InputBox("開始Noを入力")
再入力:
  終了No = InputBox("終了Noを入力。")
  Sheets("Sheet2").Select
  If 開始No > 終了No Then
   GoTo 再入力
  End If
  For I = 開始No + 1 To 終了No + 1
   Range("b5") = Sheets("Sheet1").Range("B" & I)
   Range("b2") = Sheets("Sheet1").Range("c" & I)
   Range("b3") = Sheets("Sheet1").Range("d" & I)    
   ActiveSheet.PrintOut Copies:=1
  Next
  Sheets("Sheet1").Select
End Sub

【22327】Re:1ページに複数分印刷
回答  IROC  - 05/2/16(水) 13:20 -

引用なし
パスワード
   >For I = 開始No + 1 To 終了No + 1
ループ間隔を Step 4 にし、


>   Range("b5") = Sheets("Sheet1").Range("B" & I)
>   Range("b2") = Sheets("Sheet1").Range("c" & I)
>   Range("b3") = Sheets("Sheet1").Range("d" & I)   
ここをシートのレイアウトに応じて変更して下さい。

【22363】Re:1ページに複数分印刷
質問  koshimizu E-MAIL  - 05/2/17(木) 8:47 -

引用なし
パスワード
   IROC さん おはようございます。
アドバイスいただきありがとうございます。
ためしましたが、うまく出来ません。

>>For I = 開始No + 1 To 終了No + 1
>ループ間隔を Step 4 にし、
>
>
>>   Range("b5") = Sheets("Sheet1").Range("B" & I)
>>   Range("b2") = Sheets("Sheet1").Range("c" & I)
>>   Range("b3") = Sheets("Sheet1").Range("d" & I)   
>ここをシートのレイアウトに応じて変更して下さい。

For i = 開始No + 1 To 終了No + 1
  For n = 開始No + 1 To 終了No + 1 Step 4
   Range("b5") = Sheets("Sheet1").Range("b" & n)
   Range("b2") = Sheets("Sheet1").Range("c" & n)
  Range("b3") = Sheets("Sheet1").Range("d" & n)
Next
 For b = 2 To 3 Step 1
  Range("i5") = Sheets("Sheet1").Range("b" & b)
   Range("i2") = Sheets("Sheet1").Range("c" & b)
   Range("i3") = Sheets("Sheet1").Range("d" & b)
Next
For c = 3 To 4 Step 1
  Range("b13") = Sheets("Sheet1").Range("b" & c)
   Range("b10") = Sheets("Sheet1").Range("c" & c)
   Range("b11") = Sheets("Sheet1").Range("d" & c)
 Next
 For d = 4 To 5 Step 1
  Range("i13") = Sheets("Sheet1").Range("b" & d)
   Range("i10") = Sheets("Sheet1").Range("c" & d)
   Range("i11") = Sheets("Sheet1").Range("d" & d)
Next
Next

For Nextの使用方法とネスト??が理解できないためだと思います。
宜しくお願いします。

【22367】Re:1ページに複数分印刷
回答  IROC  - 05/2/17(木) 9:19 -

引用なし
パスワード
   For i = 1 To 100 Step 4
  Range("B3").Value = Sheets("Sheet1").Range("B" & i)
  Range("B1").Value = Sheets("Sheet1").Range("C" & i)
 Range("B2").Value = Sheets("Sheet1").Range("D" & i)

  Range("I3").Value = Sheets("Sheet1").Range("B" & i+1)
  Range("I1").Value = Sheets("Sheet1").Range("C" & i+1)
 Range("I2").Value = Sheets("Sheet1").Range("D" & i+1)

  Range("B8").Value = Sheets("Sheet1").Range("B" & i+2)
  Range("B6").Value = Sheets("Sheet1").Range("C" & i+2)
 Range("B7").Value = Sheets("Sheet1").Range("D" & i+2)
   :
   :
   :

Next i

【22369】Re:1ページに複数分印刷
お礼  koshimizu E-MAIL  - 05/2/17(木) 9:44 -

引用なし
パスワード
   IROC さん
こんにちは。

Range("B" & i+1) ("B" & i+2)なんですね。
勉強になりました。お手数をおかけしました。
ありがとうございます。今後とも宜しくお願い致します。

10346 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free