- Excel VBA 質問スレ Part41©2ch.net
267 :デフォルトの名無しさん[]:2016/05/17(火) 19:14:32.23 ID:Ju7Z8cl/ - If文が大量になってしまいまとめたいのですが、
For i To Lastrow ※Sheet3の最終行 Set fnd = (Sheet2.Columns(2).Find(Sheet3.Cells(i,2))) if Not (fnd Is Nothing) Then if Sheet3.Cells(i,1) = Sheet2.Cells(fnd.Row,1) Then Else Sheet3.Cells(i,1)interior.ColorIndex = 3 End if if Sheet3.Cells(i,2) = Sheet2.Cells(fnd.Row,2) Then Else Sheet3.Cells(i,2)interior.ColorIndex = 3 End if if Sheet3.Cells(i,3) = Sheet2.Cells(fnd.Row,3) Then Else Sheet3.Cells(i,3)interior.ColorIndex = 3 End if ・ ・ ・ if Sheet3.Cells(i,20) = Sheet2.Cells(fnd.Row,20) Then Else Sheet3.Cells(i,20)interior.ColorIndex = 3 End if Else Sheet3.Cells(i,2).EntireRow.Interior.ColorIndex = 4 End If Next i という風にしているのですが、もう少しまとめらないかと思いました。 まとめられるのでしょうか?
| - Excel VBA 質問スレ Part41©2ch.net
268 :デフォルトの名無しさん[]:2016/05/17(火) 19:17:20.83 ID:Ju7Z8cl/ - if Sheet3.Cells(i,2) = Sheet2.Cells(fnd.Row,2) Then
Else Sheet3.Cells(i,2)interior.ColorIndex = 3 End If はいらなかったです。失礼しました。
| - Excel VBA 質問スレ Part41©2ch.net
270 :デフォルトの名無しさん[]:2016/05/17(火) 20:24:22.15 ID:Ju7Z8cl/ - >>269
switch文とはどのように使うのでしょうか? 今調べて見てるのですが・・・
| - Excel VBA 質問スレ Part41©2ch.net
272 :デフォルトの名無しさん[]:2016/05/17(火) 20:35:42.07 ID:Ju7Z8cl/ - >>271
そうでした。申し訳ありません。 わざわざ=で、Elseを入れる意味はないですね。 その上で、このIf文をもう少しまとめる方法はないでしょうか?
| - Excel VBA 質問スレ Part41©2ch.net
275 :デフォルトの名無しさん[]:2016/05/17(火) 21:35:27.61 ID:Ju7Z8cl/ - >>273
Set fnd = (Sheet2.Columns(2).Find(Sheet3.Cells(i, 2))) If Not (fnd Is Nothing) Then の部分をFor j = 1 To 20 の中に入れてましたが、 よく考えたら、一度検索して見つかったらその行を確認していってるので、 中に入れてたら、何度もヒットさせる余計な処理になってしまってました。 ありがとうございました。
| - Excel VBA 質問スレ Part41©2ch.net
276 :デフォルトの名無しさん[]:2016/05/17(火) 21:42:55.17 ID:Ju7Z8cl/ - >>274
ありがとうございました。 それだけでよかったですね。
|
|