• ベストアンサー

エクセルマクロで数値の一致ができない

マクロで以下のコードを作成しましたが、うまくいきません。 If Left(Cells(3, 2).Value, 5) = Cells(3, 6).Value Then ……………………… End if Cells(3, 2),Cells(3, 6)の値が数値だと見かけでは一致していますが、 一致していないとされています。 ■うまくいかない Cells(3, 2)…123456789 Cells(3, 6)…12345 Cells(3, 2),Cells(3, 6)を文字に変えると問題なく動作します。 ■うまくいく Cells(3, 2)…abcdefgh Cells(3, 6)…abcde Cells(3, 2),Cells(3, 6)を数値でもうまくいくにはどうしたらいいのでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

Cells(3, 6).Value は数値のままですね。 以下の様にしてみては如何でしょうか Sub ボタン1_Click() If Left(Cells(3, 2).Text, 5) = Cells(3, 6).Text Then MsgBox ("同じです") Else MsgBox ("違います") End If End Sub

smorgas030
質問者

お礼

回答ありがとうございます。 Value を Text に変えるのですね。 早速やってみたらできました。 ありがとうございました。 ただ、処理速度が遅くなったようですが、Textに変えたせいでしょうか。 別にかまわないのですが。 ありがとうございました。

その他の回答 (1)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

Val関数を使えばどうでしょうか。 If val(Left(Cells(3, 2).Value, 5)) = Cells(3, 6).Value Then End If

smorgas030
質問者

お礼

回答ありがとうございます。 Val関数というのがあるのですね。 早速やってみたらできました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう