アプリ版:「スタンプのみでお礼する」機能のリリースについて

B1にセルをおきます。A1の内容を比較します。
if A1=0
then B1を空セルに
else A1をB1に代入
endif
同様にA列の内容を比較し結果をB列に格納します。
VBAではどのように記述しますか?

A 回答 (3件)

if Range("A1") = 0 then


'B1を空セルに
Range("B1") = ""
else
'A1をB1に代入
Range("B1") = Range("A1")
endif
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2006/07/03 22:52

該当のシートのコードに下記のように記述


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then 'A列のみ判定
If Target = 0 Then '変更内容が0またはブランクなら
Target.Offset(0, 1).Clear '同じ行のB列の内容をクリア
Else
Target.Offset(0, 1) = Target '同じ行のB列にA列の値をセット
End If
End If
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。たすかりました。

お礼日時:2006/07/03 22:52

>B1にセルをおきます


意味不明。B1はセルの番地じゃないの。
>A1の内容を比較します
何とA1を比較するの?
>同様にA列の内容を比較し結果をB列に格納します
同様に第2行目以下についても、同じ作業を行う。
>if A1=0
then B1を空セルに
このように Thenの前で改行したらエラーになるのではないですか。
Sub test01()
if range("A1")=0
then Range("B1")=0
End Sub はエラー

Sub test01()
If Range("A1") = 0 Then
Range("B1") = 0
Else
Range("B1") = Range("A1")
End If
End Sub
End If
これを行変化させやすいように
Sub test02()
d = 10
For i = 1 To d
If Cells(i, "A") = 0 Then
Cells(i, "B") = 0
Else
Cells(i, "B") = Cells(i, "A")
End If
Next i
End Sub
質問の文章はしっかり表現してください。
それとVBA(マクロ)の本でもまず1冊読んでから質問することをお勧めします。
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます。今回は大至急修正しないといけなかった為本を読む時間もありませんでした。次回から気をつけます。

お礼日時:2006/07/03 22:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!