[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『転記 VBA』(ゆう)
お世話になります。
sheet1の3列に〇〇の表示があるとき、sheet1の9列にある数字をsheet2の8列2行から下方に転記したいのですが、
Dim ws As Worksheet
Dim i As Long
Set ws = Worksheets(1)
For i = 1 To ws.Cells(Rows.Count, 3).End(xlUp).Row
If ws.Cells(i, 3) = "〇〇" And ws.Cells(i, 9) <> "0" Then
Cells(i, 8).Value = ws.Cells(i, 9).Value
End If
Next
のコードで組むと転記されたときにsheet2の8列2行目に転記されず、
8列目20行目に転記されます。
わかりづらく申し訳ございませんが、何かアドバイスがあればお願いいたします。
< 使用 Excel:unknown、使用 OS:unknown >
Cells(i, 8).Value = ws.Cells(i, 9).Value なので、同じ行(i行目)に出力されます。 Sheet2に書き出す行は、Sheet1の行を表す変数 i とは別の変数を用意しないといけません (´・ω・`) 2021/09/26(日) 00:58
Dim ws As Worksheet
Dim i As Long
Dim j As Long
Set ws = Worksheets(1)
j = 1
For i = 1 To ws.Cells(Rows.Count, 3).End(xlUp).Row
If ws.Cells(i, 3) = "〇〇" And ws.Cells(i, 9) <> "0" Then
j = j + 1
Cells(j, 8).Value = ws.Cells(i, 9).Value
End If
Next
(よっちん) 2021/09/26(日) 08:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.