トップページ > プログラム > 2016年05月17日 > Ju7Z8cl/

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

3 位/209 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000222006



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Excel VBA 質問スレ Part41©2ch.net

書き込みレス一覧

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
ありがとうございました。
それだけでよかったですね。


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