■ このスレッドは過去ログ倉庫に格納されています
ExcelVBAマスターきてくれ俺に力を貸してくれ
- 1 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:28:13.589 ID:zXQDnA+A0.net
- 以下不明点を答えよ
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
- 2 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:29:39.201 ID:gtcJxybE0.net
- 頼む誰か
- 3 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:30:43.854 ID:gtcJxybE0.net
- 誰か来てくれ
- 4 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:31:59.990 ID:AubZM2qT0.net
- 答えてやりたいが質問の意味がわからない
- 5 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:34:47.196 ID:gtcJxybE0.net
- 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→なんで変数jだけループ辞めんの?
If Hantei Then→なんでイコールの形になってないの?初期値はFALSEじゃないの?
'変数の値を"False"に戻す
Hantei = False
Else
'セルの背景色を変える(チェックする)
Cells(i, 1).Interior.ColorIndex = 6
End If
Next i
End Sub
- 6 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:35:37.764 ID:gtcJxybE0.net
- Next jは上のif文が適用されてもされなくてもループ辞めるんだよな?
- 7 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:37:22.303 ID:AubZM2qT0.net
- 1 初期化
初期化しないとデフォルトの値が入るから何が入るか詳しくないとわからん
2 next
ループやめてないぞ
ループ抜けてるのは上のexit for
3 =は省略されてるだけ
- 8 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:38:43.485 ID:gtcJxybE0.net
- >>7
デフォルトの値ってなに?
- 9 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:39:18.359 ID:AubZM2qT0.net
- >>8
プログラムによって違う
nextはループを続けるって意味な
- 10 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:39:32.785 ID:gtcJxybE0.net
- >>7
じゃあnextってなに?
イコールないなら初期値のFALSEが入るんじゃないの?
- 11 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:40:48.130 ID:AubZM2qT0.net
- >>10
省略したら1かtrueと比較する
if hentai = true
と同義
- 12 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:41:17.379 ID:FrhcZJdu0.net
- 初心者がvbaなんてめんどくせーもんやらないほうがいいと思うけどな
まともな言語やった方がいい
- 13 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:41:45.855 ID:gtcJxybE0.net
- >>9
簡単に日本語訳して
- 14 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:42:45.323 ID:AubZM2qT0.net
- >>13
何を?
まずはお前がまともな日本語を使ってくれ
- 15 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:42:45.722 ID:gtcJxybE0.net
- >>11
なるほどな
初期値になにが入っていようと1になるわけか
nextjが中間にあって
nextiが後ろにある意味がわからない
- 16 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:43:55.054 ID:DQwcEq0Xd.net
- for使うな
doでやれ
- 17 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:44:39.159 ID:+K5WBuwFa.net
- まず>>1はそれが何をするプログラムか分かってるのか
- 18 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:45:01.061 ID:AubZM2qT0.net
- >>15
比較対象、=の右辺の話な
初期化の話は今関係ない
プログラムの実行順に上から見てみろ
next jはfor jの次の行に戻るんだぞ
- 19 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:50:28.435 ID:gtcJxybE0.net
- >>18
jのループが全部終わったらどうなんの?
- 20 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:51:01.160 ID:AubZM2qT0.net
- >>19
全部終わる前に抜けるだろ
まずはググれよ
- 21 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:53:00.578 ID:gtcJxybE0.net
- >>20
抜けない場合もあるよ?
このプログラムはa列にあってc列にないもの探すんだ
急ぎこのプログラムを日本語化してくれ
- 22 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:53:44.649 ID:AubZM2qT0.net
- >>21
そこまでわかってるなら日本語化いらんだろ
- 23 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:54:54.883 ID:gtcJxybE0.net
- >>22
いや、それしかわかってない
たのむ
- 24 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:56:30.790 ID:AubZM2qT0.net
- >>23
嫌だ めんどい
仮にここで翻訳してもらったとしてもお前は一生VBA使えるようにならんぞ
- 25 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:56:52.116 ID:gtcJxybE0.net
- プログラムかけるやつってすげえわ
かっこいいわ
プログラマーなりたいな
今は営業マンだけど
- 26 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:57:12.546 ID:gtcJxybE0.net
- >>24
あとすこしでわかりそうなんだ
- 27 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 14:58:08.620 ID:AubZM2qT0.net
- >>26
じゃああと少し頑張ってね
- 28 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:03:51.258 ID:zXQDnA+A0.net
- 俺なりに日本語訳してみた
間違っていたら教えてくれ
VBA初めて3日です
変数宣言
変数に初期値を入れる わかりやすいように
変数iは2から一番下からみて最初に値の入ってセルまでをループする
変数jも同様
もしもA列とC列にループする上で同じのが見つかったら
変数にTUREを入れる
そしてループを抜ける
そんでまたjのループを繰り返す
もしも変数がTUREをもっていたら
FALSEに変える → なぜ?
セルの色を変える
そんでiのループを繰り返す
- 29 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:08:22.805 ID:zXQDnA+A0.net
- 教えてくれ
- 30 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:08:39.559 ID:FZ8eIvwMd.net
- for i = 1 To 10
for j = 1 To 20
[処理1]
Next j
[処理2]
Next i
この場合、iが2から10に変わるまで
「jが2から20に変わるまで処理1が繰り返されて、それが終わると処理2が実行される」
という処理が繰り返される
- 31 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:08:59.188 ID:AubZM2qT0.net
- >>28
下から見てじゃない
2から順に塊の一番下まで見る
falseに戻さなかったらずっとtrueだがいいのか?
- 32 :30:2017/12/01(金) 15:10:04.722 ID:FZ8eIvwMd.net
- 中途半端に書き換えて間違えた
正しくは
iが1から10に変わるまで
「jが1から20に変わるまで処理1が繰り返されて、それが終わると処理2が実行される」
という処理が繰り返される
- 33 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:11:13.044 ID:AubZM2qT0.net
- >>32
VBAのforはCとかと少し違う
逐次実行
- 34 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:12:16.653 ID:M9Qbq+IMd.net
- 学校の課題かなんかか?
- 35 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:17:13.134 ID:zXQDnA+A0.net
- >>32
つまり
iが a1でjが b2ならば
a1 b2.3.4.5
a2 b2 3 4 5
と増えるんだね
で、処理2っでなにをするんだい?
- 36 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:18:01.622 ID:AubZM2qT0.net
- >>32
ってかお前ループのネスト理解してないだろ
- 37 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:18:32.423 ID:zXQDnA+A0.net
- このプログラムは
nextjのあとにすぐnextiがきてもいいのでは?
処理1で全てのセルをみてるんだろ?
- 38 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:21:40.314 ID:zXQDnA+A0.net
- VBAって面白いけど奥が深いな
- 39 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:21:50.992 ID:AubZM2qT0.net
- >>37
1,2と同じセルを全てのC列について探す
2,2と同じ(ry
- 40 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:22:42.340 ID:AubZM2qT0.net
- 奥が深いどころかプログラミングの初歩の初歩で片足すら突っ込んでねえよ
- 41 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:23:46.550 ID:zXQDnA+A0.net
- >>39
略すな
- 42 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:24:16.536 ID:zXQDnA+A0.net
- 楽しいなVBA
初めてハローワールド出た時は感動もんだわ
- 43 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:24:47.693 ID:NiMlAtNF0.net
- 教えてもらってる立場でありながら命令するとはやりおる
- 44 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:27:03.895 ID:AubZM2qT0.net
- >>41
以下同文だよ
A列のセルと全てのC列を比べてるのがjのループ
A列のセルをすべて処理するのがiのループ
該当するセルの処理が背景色を変えるだけなら
塗りつぶしの処理をループ内に持ってくればお前の言ってることは可能
- 45 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:31:10.544 ID:M9Qbq+IMd.net
- 日本語化したってこいつには理解でないだろうな
- 46 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:32:45.715 ID:zXQDnA+A0.net
- >>45
ちな
mos エクセルエキスパート
- 47 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:38:55.287 ID:gb5dm5ma0.net
- -1
- 48 :以下、?ちゃんねるからVIPがお送りします:2017/12/01(金) 15:47:29.894 ID:M9Qbq+IMd.net
- じゃあ無理だわ
総レス数 48
13 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★