- 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
|