• 締切済み

セル値

すみません エクセルVBA勉強中のものですが、セルA1とA2がブランクだったら、セルB1に”あ”を表示するという式を作ったのですがうまく動いてくれません ご指導のほどお願いします。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Cells(1, 1).Value <> "" & Cells(2, 1).Value <> "" Then Cells(1, 2).Value = "あ" End If End Sub

みんなの回答

回答No.2

プランクだったら Cells(1, 1).Value = "" ブランクでなかったら Cells(1, 1).Value <> "" になります。 & は使わずに And と書きます。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Cells(1, 1).Value = "" And Cells(2, 1).Value = "" Then Cells(1, 2).Value = "あ" End If End Sub

ytsugie
質問者

お礼

どうもありがとうございました。まだまだ勉強不足でした。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

「セルA1とA2が共にブランクでなければ」というコードになってますよ。 それは書き間違いとして、論理演算子のつもりで、&を使っているのがまずいのでしょう。(Cなら&&ですが...) 両セルとも空の時、イミディエイトウィンドウで試してみると ?(Cells(1, 1).Value <> "" & Cells(2, 1).Value <> "") True ?(Cells(1, 1).Value <> "" And Cells(2, 1).Value <> "") False 前者は&のために、文頭から解釈される途中で論理演算結果が文字列に変換されてしまって、訳の分からない結果になっているのかもしれません。

ytsugie
質問者

お礼

ありがとうございました。 問題解決できました。

関連するQ&A