Excel VBA質問箱 IV

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

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


11417 / 13646 ツリー ←次へ | 前へ→

【16158】差込印刷にひとつのシートで2つのシート... さる 04/7/18(日) 1:15 質問[未読]
【16160】Re:差込印刷にひとつのシートで2つのシー... IROC 04/7/18(日) 1:29 回答[未読]
【16200】Re:差込印刷にひとつのシートで2つのシ... さる 04/7/20(火) 18:18 質問[未読]
【16203】Re:差込印刷にひとつのシートで2つのシ... IROC 04/7/20(火) 18:24 発言[未読]
【16209】Re:差込印刷にひとつのシートで2つのシ... さる 04/7/20(火) 22:24 質問[未読]
【16210】Re:差込印刷にひとつのシートで2つのシ... IROC 04/7/20(火) 22:42 回答[未読]
【16212】Re:差込印刷にひとつのシートで2つのシ... さる 04/7/20(火) 23:08 質問[未読]
【16213】Re:差込印刷にひとつのシートで2つのシ... IROC 04/7/20(火) 23:51 回答[未読]

【16158】差込印刷にひとつのシートで2つのシート...
質問  さる E-MAIL  - 04/7/18(日) 1:15 -

引用なし
パスワード
   どうしても一つ目のシートだけに読み込んでも、
二つ目のシートが出てこない。
コードの方法が間違えていますか?
どなたへ教えてください。
ご指導お願いします。


Sub 一人ずつ印刷_click()

Dim PrintMenu As Long
Dim i As Long

With Worksheets("全体データ")’----ひとつ目のシートです。

  For i = 3 To .Range("A65536").End(xlUp).Row
  
    Worksheets("プロフィール").Range("CE46").Value = .Cells(i, 1).Value '整理番号
    Worksheets("プロフィール").Range("AG35").Value = .Cells(i, 2).Value '氏名
    Worksheets("プロフィール").Range("AG34").Value = .Cells(i, 3).Value '社員番号
    Worksheets("プロフィール").Range("CO53").Value = .Cells(i, 7).Value '判定結果A-1
    Worksheets("プロフィール").Range("CO54").Value = .Cells(i, 9).Value '判定結果A-2
    Worksheets("プロフィール").Range("CO55").Value = .Cells(i, 11).Value '判定結果A-3
    Worksheets("プロフィール").Range("CO56").Value = .Cells(i, 13).Value '判定結果A-4
    Worksheets("プロフィール").Range("CO57").Value = .Cells(i, 15).Value '判定結果A-5
    Worksheets("プロフィール").Range("CO58").Value = .Cells(i, 17).Value '判定結果A-6
    Worksheets("プロフィール").Range("CO59").Value = .Cells(i, 19).Value '判定結果A-7
    Worksheets("プロフィール").Range("CO60").Value = .Cells(i, 21).Value '判定結果A-8
    Worksheets("プロフィール").Range("CO61").Value = .Cells(i, 23).Value '判定結果A-9
    Worksheets("プロフィール").Range("CO63").Value = .Cells(i, 25).Value '判定結果B-1
    Worksheets("プロフィール").Range("CO64").Value = .Cells(i, 27).Value '判定結果B-2
    Worksheets("プロフィール").Range("CO65").Value = .Cells(i, 29).Value '判定結果B-3
    Worksheets("プロフィール").Range("CO66").Value = .Cells(i, 31).Value '判定結果B-4
    Worksheets("プロフィール").Range("CO67").Value = .Cells(i, 33).Value '判定結果B-5
    Worksheets("プロフィール").Range("CO68").Value = .Cells(i, 35).Value '判定結果B-6
    Worksheets("プロフィール").Range("CO70").Value = .Cells(i, 37).Value '判定結果C-1
    Worksheets("プロフィール").Range("CO71").Value = .Cells(i, 39).Value '判定結果C-2
    Worksheets("プロフィール").Range("CO72").Value = .Cells(i, 41).Value '判定結果C-3
    Worksheets("プロフィール").Range("CO73").Value = .Cells(i, 43).Value '判定結果C-4
    Worksheets("プロフィール").Select
   Next i
   End With
    
With Worksheets("ストレスポイント変換")’----二つ目のシート
  For i = 3 To .Range("A65536").End(xlUp).Row
  
    Worksheets("プロフィール").Range("N141").Value = .Cells(i, 49).Value '仕事
    Worksheets("プロフィール").Range("N142").Value = .Cells(i, 50).Value '精神
    Worksheets("プロフィール").Range("N143").Value = .Cells(i, 51).Value '身体
    Worksheets("プロフィール").Range("N144").Value = .Cells(i, 52).Value '疲労
    Worksheets("プロフィール").Range("N145").Value = .Cells(i, 53).Value '抑うつ
 
Next i
End With

PrtMsg:
 PrintMenu = MsgBox("印刷を実行してもいいですか?。 もし中止したい場合はEscキーを数回に押して下さい" & Chr(13) & _
         " [は い]   : 印刷実行" & Chr(13) & _
         " [いいえ]   : 印刷プレビュー" & Chr(13) & _
         " [キャンセル] : 次を読込", 3, "確認")
   
          If PrintMenu = 6 Then 'はい(印刷実行)
       MsgBox "印刷します。"
       Worksheets("プロフィール").PrintOut’---読み込むシート
    

    ElseIf PrintMenu = 7 Then 'いいえ(印刷プレビュー)
       Worksheets("結果表").PrintPreview
       GoTo PrtMsg 'プレビューを閉じた後、確認メッセージに戻る。
    
    ElseIf PrintMenu = 2 Then 'キャンセル(何もしない)
      
    End If
End Sub

【16160】Re:差込印刷にひとつのシートで2つのシ...
回答  IROC  - 04/7/18(日) 1:29 -

引用なし
パスワード
   >F8キーでステップ実行して、
>ローカルウィンドウで変数を確認

は、試されましたか?


回答者には、シートの状況が分からないので、
ひとまず、ローカルウィンドウで変数を確認しては如何ですか?

【16200】Re:差込印刷にひとつのシートで2つのシ...
質問  さる E-MAIL  - 04/7/20(火) 18:18 -

引用なし
パスワード
   ▼IROC 様
>>F8キーでステップ実行して、
>>ローカルウィンドウで変数を確認
>
>は、試されましたか?
>
>
>回答者には、シートの状況が分からないので、
>ひとまず、ローカルウィンドウで変数を確認しては如何ですか?

シートの状況を説明できなくて申し訳はありません。

ひとつのシートだけ読込なら問題なく印刷できますが
二つのシートを読込すると実行すると最終データを飛ばして表示してます。
どこか悪いでしょうか?
ご指南お願いします。

昨日圧縮メールで送りましたのでご覧ください。
よろしくお願いします。

【16203】Re:差込印刷にひとつのシートで2つのシ...
発言  IROC  - 04/7/20(火) 18:24 -

引用なし
パスワード
   繰り返します。

>F8キーでステップ実行して、
>ローカルウィンドウで変数を確認
は、試されましたか?

回答者には、シートの状況が分からないので、
ひとまず、ローカルウィンドウで変数を確認しては如何ですか?


【16209】Re:差込印刷にひとつのシートで2つのシ...
質問  さる E-MAIL  - 04/7/20(火) 22:24 -

引用なし
パスワード
   ▼IROC さん
>繰り返します。
>
>>F8キーでステップ実行して、
>>ローカルウィンドウで変数を確認
>は、試されましたか?
>
>回答者には、シートの状況が分からないので、
>ひとまず、ローカルウィンドウで変数を確認しては如何ですか?
>
確認したら

5行目のWorksheets("プロフィール").Range("CE46").Value = .Cells(t, 1).Value '整理番号
次は「プロフィール」のマクロに移動させていました。
終わったら6行目に移動させてまだ「プロフィール」のマクロ
に移動。繰り返しでした。
どこに悪いか?原因が分からないです。

Dim PrintMenu As Long
Dim t As Long
Dim j As Long

With Worksheets("全体データ")

  For t = 3 To .Range("A65536").End(xlUp).Row
  
    Worksheets("プロフィール").Range("CE46").Value = .Cells(t, 1).Value '整理番号
    Worksheets("プロフィール").Range("AG35").Value = .Cells(t, 2).Value '氏名
    Worksheets("プロフィール").Range("AG34").Value = .Cells(t, 3).Value '社員番号
    Worksheets("プロフィール").Range("CO53").Value = .Cells(t, 7).Value '判定結果A-1
    Worksheets("プロフィール").Range("CO54").Value = .Cells(t, 9).Value '判定結果A-2
    Worksheets("プロフィール").Range("CO55").Value = .Cells(t, 11).Value '判定結果A-3
    Worksheets("プロフィール").Range("CO56").Value = .Cells(t, 13).Value '判定結果A-4
    Worksheets("プロフィール").Range("CO57").Value = .Cells(t, 15).Value '判定結果A-5
    Worksheets("プロフィール").Range("CO58").Value = .Cells(t, 17).Value '判定結果A-6
    Worksheets("プロフィール").Range("CO59").Value = .Cells(t, 19).Value '判定結果A-7
    Worksheets("プロフィール").Range("CO60").Value = .Cells(t, 21).Value '判定結果A-8
    Worksheets("プロフィール").Range("CO61").Value = .Cells(t, 23).Value '判定結果A-9
    Worksheets("プロフィール").Range("CO63").Value = .Cells(t, 25).Value '判定結果B-1
    Worksheets("プロフィール").Range("CO64").Value = .Cells(t, 27).Value '判定結果B-2
    Worksheets("プロフィール").Range("CO65").Value = .Cells(t, 29).Value '判定結果B-3
    Worksheets("プロフィール").Range("CO66").Value = .Cells(t, 31).Value '判定結果B-4
    Worksheets("プロフィール").Range("CO67").Value = .Cells(t, 33).Value '判定結果B-5
    Worksheets("プロフィール").Range("CO68").Value = .Cells(t, 35).Value '判定結果B-6
    Worksheets("プロフィール").Range("CO70").Value = .Cells(t, 37).Value '判定結果C-1
    Worksheets("プロフィール").Range("CO71").Value = .Cells(t, 39).Value '判定結果C-2
    Worksheets("プロフィール").Range("CO72").Value = .Cells(t, 41).Value '判定結果C-3
    Worksheets("プロフィール").Range("CO73").Value = .Cells(t, 43).Value '判定結果C-4
    Worksheets("プロフィール").Select
 Next t
End With
  
With Worksheets("ストレスポイント変換")
  For j = 2 To .Range("A65536").End(xlUp).Row
  
    Worksheets("プロフィール").Range("K144").Value = .Cells(j, 1).Value '社員番号
    Worksheets("プロフィール").Range("K146").Value = .Cells(j, 2).Value '氏名
    Worksheets("プロフィール").Range("CN142").Value = .Cells(j, 49).Value '仕事
    Worksheets("プロフィール").Range("CN143").Value = .Cells(j, 50).Value '精神
    Worksheets("プロフィール").Range("CN144").Value = .Cells(j, 51).Value '身体
    Worksheets("プロフィール").Range("CN145").Value = .Cells(j, 52).Value '疲労
    Worksheets("プロフィール").Range("CN146").Value = .Cells(j, 53).Value '抑うつ
 
    Worksheets("プロフィール").Select


PrtMsg:
 PrintMenu = MsgBox("印刷を実行してもいいですか?。 もし中止したい場合はEscキーを数回に押して下さい" & Chr(13) & _
         " [は い]   : 印刷実行" & Chr(13) & _
         " [いいえ]   : 印刷プレビュー" & Chr(13) & _
         " [キャンセル] : 次を読込", 3, "確認")
   
          If PrintMenu = 6 Then 'はい(印刷実行)
       MsgBox "印刷します。"
       Worksheets("プロフィール").PrintOut
    

    ElseIf PrintMenu = 7 Then 'いいえ(印刷プレビュー)
       Worksheets("プロフィール").PrintPreview
       GoTo PrtMsg 'プレビューを閉じた後、確認メッセージに戻る。
    
    ElseIf PrintMenu = 2 Then 'キャンセル(何もしない)
     End If
 Next j
End With
 
End Sub

【16210】Re:差込印刷にひとつのシートで2つのシ...
回答  IROC  - 04/7/20(火) 22:42 -

引用なし
パスワード
   >どこに悪いか?原因が分からないです。

本当にステップ実行してみましたか・・?


>  For t = 3 To .Range("A65536").End(xlUp).Row
    :
> Next t

For〜Nextでループするのですから、
この範囲でループを繰り返して、
それが終わってから、以下の行になります。

1つのFor〜Nextのループ内で
印刷までを、処理しなければダメなのではないですか?

【16212】Re:差込印刷にひとつのシートで2つのシ...
質問  さる E-MAIL  - 04/7/20(火) 23:08 -

引用なし
パスワード
   ▼IROC さん:
>>どこに悪いか?原因が分からないです。
>
>本当にステップ実行してみましたか・・?
>
>
>>  For t = 3 To .Range("A65536").End(xlUp).Row
>    :
>> Next t
>
>For〜Nextでループするのですから、
>この範囲でループを繰り返して、
>それが終わってから、以下の行になります。
>
>1つのFor〜Nextのループ内で
>印刷までを、処理しなければダメなのではないですか?


はいステップ実行しましたが
印刷するコードが外れていました。
どうやって印刷コードを入るようにするのは?
何か命令文がありますか?

【16213】Re:差込印刷にひとつのシートで2つのシ...
回答  IROC  - 04/7/20(火) 23:51 -

引用なし
パスワード
   For〜Nextの使い方を調べてみて下さい。

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