4列目からデータを入力していきたいのですがデータが5列目からになってしまいます
原因がどこにあるかよろしければ教えてください
Sub TestList()
Dim i As Long
Dim j As Long
Dim flgFind As Long
Dim maxRow As Long
Dim maxRow_l As Long
Dim strMat, lngNum
With ActiveSheet
maxRow = .Cells(Rows.Count, 211).End(xlUp).Row
maxRow_l = 1
For i = 4 To maxRow flgFind = 0 For j = 4 To maxRow_l strMat = Cells(i, 211).Value If strMat = .Cells(j, 214).Value Then flgFind = 1 Exit For End If Next j If flgFind = 0 Then .Cells(j, 214).Value = strMat maxRow_l = maxRow_l + 1 End If Next i
End With
End Sub
> 4列目からデータを入力していきたいのですがデータが5列目からになってしまいます
「列」ですか?
すみません縦ズレなんで行ですね
> すみません縦ズレなんで行ですね
質問は編集できますので修正してください。
211列と214列にはどのようなデータがありますか?質問のコードを検証するために必要なデータを提示できますでしょうか?
具体的にどのような処理を行いたいのか
質問文から想像できませんでしたが、
for j = 4 To maxRow_l
のとき 【maxRow_l】の値が 4以下の場合は
for j = 4 To maxRow_l の中身のプログラムは全く実行されません。
具体的に
1週目 maxRow_l は 1
2週目 maxRow_l は 2
3週目 maxRow_l は 3
4週目 maxRow_l は 4
なので実際
for j = 4 To maxRow_lの中身が実行されるのは
5週目からになります。
これは意図した動きではないのでは?と思っています。
ご存じの上でこのプログラムにしていたら申し訳ありません
ご確認お願いします。
for j = 3 To maxRow_l
にすると4行目から始まるのですが
3行目に入力している上書きされているのか
データが消えてしまいます
3行目に入力している物は消したくないのですがどうすればよいでしょうか?