Excel VBA質問箱 IV

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

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


446 / 13645 ツリー ←次へ | 前へ→

【80279】シートの追加貼り付け ノンボ 18/12/22(土) 9:24 質問[未読]
【80280】Re:シートの追加貼り付け マナ 18/12/22(土) 9:42 発言[未読]
【80281】Re:シートの追加貼り付け ノンボ 18/12/22(土) 20:44 お礼[未読]

【80279】シートの追加貼り付け
質問  ノンボ E-MAIL  - 18/12/22(土) 9:24 -

引用なし
パスワード
   VBA勉強中です。よろしくお願いします。
                                            下記データがあります。(データのシート)
  品名    
2 りんご    
3 みかん    
4 ばなな    
6 いちご    
 データと請求書、2つのシートがあります。請求書のシートを4つ(請求書のシートは5つになります)追加します。追加した各シートのセルに、データのシートのセルの値(2行目から6行目)を順番に貼り付けたいです。シート請求書1にはりんご、シート請求書2にはみかん、シート請求書3にはばなな・・・ 下記コードを書きましたが、すべての請求書シートに1つの同じ品名しか貼りつきません。どのようにコードを編集したらよいか教えてください。
よろしくお願いします。

Sub test()
  Dim ht
  For ht = 2 To 5
  Worksheets("請求書").Copy after:=Worksheets(ht)
  Dim i
  For i = 3 To 5
  Worksheets(ht).Range("a3") = Worksheets("データ").Cells(i, 1).Value
  Next
  Next
End Sub

【80280】Re:シートの追加貼り付け
発言  マナ  - 18/12/22(土) 9:42 -

引用なし
パスワード
   ▼ノンボ さん:

シートを追加しながら転記します。
そうすると、ループは1回で済みます。

Sub test2()
  Dim i As Long
 
  For i = 2 To 5
    Worksheets("請求書").Copy after:=Worksheets(Worksheets.Count)
    Range("a3").Value = Worksheets("データ").Cells(i, 1).Value
  Next

End Sub

【80281】Re:シートの追加貼り付け
お礼  ノンボ E-MAIL  - 18/12/22(土) 20:44 -

引用なし
パスワード
   ▼マナ さん:
>▼ノンボ さん:
>
>シートを追加しながら転記します。
>そうすると、ループは1回で済みます。
>
>Sub test2()
>  Dim i As Long
> 
>  For i = 2 To 5
>    Worksheets("請求書").Copy after:=Worksheets(Worksheets.Count)
>    Range("a3").Value = Worksheets("データ").Cells(i, 1).Value
>  Next
>
>End Sub
マナさんへ
 さっそくご回答いただきまして、大変ありがとうございます。
 完璧にうまくできました。大変勉強になりました。
 本当にありがとうございました。

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