[[20210923194552]] 『for nextで日付の貼り付け』(あき) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『for nextで日付の貼り付け』(あき)

お世話になります。

for nextを使って帳票に日付を入れて行きたいのですがどの様にしたら
良いか分からず質問させて頂きます。

まず、やりたい事は

sheet1のセルc2からc11に入っている日付をsheet2のg19から26行間隔で
出力したいのですが初心者なので記述が分かりません。

勘違いしているコードだと思いますが修正をお願いします。

sub test()

Dim myd As Range
Dim c As Range
Dim i As Long

set myd -worksheets("sheet1").Range("c2:c11")

For Each c in myd

For i = 19 to 260 step 26

  cells(i,7).value = c.value

next
next

end sub

正直なところ分かっていません。
お手柔らかにお願いします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


こうです

 i=19
 For Each c in myd
   cells(i,7).value = c.value
   i = i+26
 next

(マナ) 2021/09/23(木) 20:20


本題とは違いますが、

場合によっては、こうする必要があります。

  worksheets("sheet2")cells(i,7).value = c.value

(マナ) 2021/09/23(木) 20:24


 こんばんは!
書き方は色々あると思います。
原文を最大限尊重したとすると、、こんな↓書き方になりました。
まぁ、、何かの参考にでもなれば幸いです。。。

 Option Explicit
Sub test()
Dim myd As Range
Dim i As Long
Dim k As Long
Set myd = Worksheets("sheet1").Range("c2:c11")
For i = 19 To 260 Step 26
    k = k + 1
    Worksheets("sheet2").Cells(i, 7).Value = myd(k, 1).Value
Next
End Sub
(SoulMan) 2021/09/23(木) 20:31

 For Each を使うなら、下記とか。

 Sub test()
    Dim myd As Range
    Dim c As Range, c2 As Range

    Set myd = Worksheets("sheet1").Range("C2:C11")
    Set c2 = Worksheets("sheet2").Range("G19")

    For Each c In myd
        c2.Value = c.Value
        Set c2 = c2.Offset(26)
    Next
 End Sub

(hatena) 2021/09/23(木) 21:15


 Sub test()
  Dim i As Long
  For i = 0 To 9
   Worksheets("sheet2").Cells(i * 26 + 19, "G").Value = _
   Worksheets("sheet1").Cells(i + 2, "C").Value
  Next
 End Sub

こんなのでも。
(きまぐれおじさん) 2021/09/23(木) 21:59


マナ様、SoulMan様、hatena様、きまぐれおじさん様
返答ありがとうございます。
夜勤で返事が遅れました。

自分で作ったコードをカットインしてF8を押しながら確認
して挙動がおかしいので質問させて頂きました。
コードの書き方はいろいろあるのですね!
今後の参考にさせて頂きます。

本当にありがとうございました。
(あき) 2021/09/24(金) 04:18


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.