• ベストアンサー

【VBA】改行されたセルの条件

VBAにてA1のセルが画像のように改行されたセルであっても条件式で処理を行うようにしたいのですがうまくできません。 ↓式のように作成はしてみました どうしたら改行されたセルでも処理が行えるのでしょうか? Sub test() If Range("A1") = (行1行2の場合) Then 処理 End If End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • SI299792
  • ベストアンサー率47% (772/1616)
回答No.1

改行はコードで10です。 vbLfで表すことができます。   If Range("A1") = "行1" & vbLf & "行2" Then にしてください。

takasan_2525
質問者

お礼

ありがとうございます! 出来ました

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

エクセルは開発用ではないので、どうしても文字や数字の16進はあまり説明されない。ユティテイプログラムも無いようだ。 実は不便だと思う。 参考 http://www.tipsfound.com/vba/04001 http://officetanaka.net/excel/vba/tips/tips89.htm 例えば セルのA1に、abcと入れて、ALT+ENTERをいれてdeを入れる。 見かけは abc de に見える。 B1セルに =CODE(MID(A1,1,1))&"-" &CODE(MID(A1,2,1))&"-" &CODE(MID(A1,3,1))&"-"&CODE(MID(A1,4,1))&"-"&CODE(MID(A1,5,1))&"-"&CODE(MID(A1,6,1)) と入れると 97-98-99-10-100-101 と、なり、cとdの間に10(16進では0A)が入ることが判る。 ーー (1)これを除いてひかす比較するか (2)見えないけれど加えて比較するか 2通りある。 普通は(2)でやる。 Sub test01() If Range("A1") = "abc" & vbLf & "de" Then MsgBox "OK" Else MsgBox "NO" End If End Sub の実行でOKになる。 Sub test02() If Range("A1") = "abc" & "de" Then MsgBox "OK" Else MsgBox "NO" End If End Sub ではNOになる。 ーー 質問の行1、行2の表現は、エクセルのセルの行と紛らわしいので、表現に工夫すべきだと思う。セル内第1行など。

takasan_2525
質問者

お礼

わー賢いですね^^;