- 締切済み
セル値
すみません エクセル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
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- chibita_papa
- ベストアンサー率60% (127/209)
プランクだったら 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
- mitarashi
- ベストアンサー率59% (574/965)
「セルA1とA2が共にブランクでなければ」というコードになってますよ。 それは書き間違いとして、論理演算子のつもりで、&を使っているのがまずいのでしょう。(Cなら&&ですが...) 両セルとも空の時、イミディエイトウィンドウで試してみると ?(Cells(1, 1).Value <> "" & Cells(2, 1).Value <> "") True ?(Cells(1, 1).Value <> "" And Cells(2, 1).Value <> "") False 前者は&のために、文頭から解釈される途中で論理演算結果が文字列に変換されてしまって、訳の分からない結果になっているのかもしれません。
お礼
ありがとうございました。 問題解決できました。
お礼
どうもありがとうございました。まだまだ勉強不足でした。