トップページ > プログラム > 2017年12月01日 > 4uYh51s/0

書き込み順位&時間帯一覧

3 位/176 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000011100110005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん (ワッチョイ 2aaf-1sOs)
デフォルトの名無しさん (ワッチョイ 2aaf-JjO2)
Excel VBA 質問スレ Part51

書き込みレス一覧

Excel VBA 質問スレ Part51
285 :デフォルトの名無しさん (ワッチョイ 2aaf-1sOs)[]:2017/12/01(金) 14:32:31.35 ID:4uYh51s/0
以下不明点を教えて
1なぜ変数を初期化するのか?
2なぜNextjでjだけループが終わるのか?
3If Hantei Then (もしも変数の場合は。。。) もはや意味がわからない
初心者にもわかりやすく答えよ

Sub CorrectCode()
Dim i As Long
Dim j As Long
Dim Hantei As Boolean

'変数の値を初期化する
Hantei = False

For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
For j = 2 To Cells(Rows.Count, 3).End(xlUp).Row
If Cells(i, 1) = Cells(j, 3) Then
'変数に"True"を代入する
Hantei = True
Exit For
End If
Next j

If Hantei Then
'変数の値を"False"に戻す
Hantei = False
Else
'セルの背景色を変える(チェックする)
Cells(i, 1).Interior.ColorIndex = 6
End If
Next i
End Sub
Excel VBA 質問スレ Part51
287 :デフォルトの名無しさん (ワッチョイ 2aaf-1sOs)[]:2017/12/01(金) 15:05:39.92 ID:4uYh51s/0
俺なりに日本語訳してみた
間違っていたら教えてくれ
VBA初めて3日です
基礎は本読んでるからわかっている


変数宣言

変数に初期値を入れる わかりやすいように

変数iは2から一番下からみて最初に値の入ってセルまでをループする
変数jも同様
もしもA列とC列にループする上で同じのが見つかったら
変数にTUREを入れる
そしてループを抜ける
そんでまたjのループを繰り返す
もしも変数がTUREをもっていたら
FALSEに変える → なぜ?
セルの色を変える
そんでiのループを繰り返す
Excel VBA 質問スレ Part51
290 :デフォルトの名無しさん (ワッチョイ 2aaf-1sOs)[]:2017/12/01(金) 16:20:04.74 ID:4uYh51s/0
>>288
なるほどわかりやすい
このプログラムを日本語化して
Excel VBA 質問スレ Part51
295 :デフォルトの名無しさん (ワッチョイ 2aaf-1sOs)[]:2017/12/01(金) 19:49:15.65 ID:4uYh51s/0
ちなみにこのコードはVBAエキスパート公式のだよ
Excel VBA 質問スレ Part51
296 :デフォルトの名無しさん (ワッチョイ 2aaf-JjO2)[]:2017/12/01(金) 20:08:56.93 ID:4uYh51s/0
似たようなソースコードを作ってみました
なぜだかエラーがでます

Sub test()

Dim i As Long
Dim j As Long
Dim U As Long

For i = 1 To Cells(Rows.Count, 1).End(xUp).Row
For j = 1 To Cells(Rows.Count, 3).End(xUp).Row

If Cells(i, 1) = Cells(j, 3) Then
U = 1
End If

Next j

If U = 1 Then
U = 0
Else
Cells(j, 3).ColorIndex = 3
End If

Next i

End Sub


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。