投稿日 | : 2007/01/12(Fri) 14:18 |
投稿者 | : tea |
Eメール | : |
URL | : |
タイトル | : Re: 全ての行で比較したいなら |
LESIAさん、花ちゃんさん、回答ありがとうございます。
> If frmMain.grdJournal.TextMatrix(Ro, 2) = "A" Then のように特定の列のデータと
> 比較しないと同じ答えになってしまいますよ。
花ちゃんさんが下記に示されたコードでよく理解できました。また、コードが簡潔で実行
速度も上がりました。と同時に自力の無さに悲しくなりました・・・。
本当にありがとうございます。
> すべての行のTeamChar のデータが入力されている列を検査したいかどちらなの
> ですか?
すべての行のTeamChar のデータです。
> 次回からコードを投稿される場合は、行毎に意図する事をコメントで記入して
> ください。
> コードが間違っているのか、仕様なのか判断できません(基本的な事で勘違いして
> おられると)
今後注意いたします。
> # 誤解されると困るので、全部のセルとはループで回して比較してしているセルの
> 事でループ以外は、黒になっているのでは。
> 全ての行に対して比較したいなら下記を試して見て下さい。
すいませんが、やはり最終行のみ黒色のままです・・・。
あともう少しで実現できそうなんです。
よろしくお願いします。
Dim Ro As Long, Co As Long
'ジャーナルの色分け
With frmMain.grdJournal
.Visible = False
'固定行を除いた行から最終行まで
For Ro = .FixedRows To .Rows - .FixedRows
'固定列を除いた列から最終列まで
For Co = .FixedCols To .Cols - .FixedCols
.Row = Ro
.Col = Co
'もし、各行の2列目が"A"だった場合
If .TextMatrix(Ro, 2) = "A" Then
'その行のセルの色をすべて赤色に表示する。
.CellForeColor = vbRed
Else
'それ以外の行のセルの色をすべて青色に表示する。
.CellForeColor = vbBlue
End If
Next Co
Next Ro
.Visible = True
End With