ここでは、私が作業しているコードを示します。それは本当にシンプルですが、期待どおりに動作していません。今Excel VBA if文の出力値が0のみ
Dim hey As Range
Set hey = Range("A1:A5")
For Each i In hey
If i.Value = "15" Then
i.Offset(0, 2).Value = "15" And i.Offset(0, 3).Value = "15"
ElseIf i.Value = 10 Then
i.Offset(0, 2).Value = "10" And i.Offset(0, 3).Value = "10"
ElseIf i.Value = 5 Then
i.Offset(0, 2).Value = "5" And i.Offset(0, 3).Value = "5"
ElseIf i.Value > 15 And i.Value = "*5" Then
i.Offset(0, 2).Value = "10" And i.Offset(0, 3).Value = "5"
Else: i.Offset(0, 2).Value = 10 And i.Offset(0, 3).Value = 10
End If
Next i
、それがどうなるすべては、私は、なぜ区別することはできませんし、私はこれで私の精神的なロープの終わりに午前2列と出力0によって相殺されます。私はそれが何か遅れて簡単に私は見落としていると確信しています。
私はステップスルーを試みましたが、それはサンプルの各値に対して正しく評価されているように見えますが、依然として0の値を示しています。また、引用と一緒に遊んでいたのかどうかを見ていましたが、私は彼らと一緒に仕事をしたいと思っています。
ありがとうございました。
if文の外にある 'And'文を取り出してください。各部分を2つの行に分割します。 – PartyHatPanda
私はVBAの専門家はいませんが、最後のElse節には値のアポストロフィがありません –
最初は 'If'の代わりに' Select Case'を使うのがいい場所のようです。第二に、あなたは数値やテキストでいっぱいになっていますか?あなたは入力のサンプルを与えることができますか?第3に、 'i.Offset(0、2).Value =" 15 "そしてi.Offset(0、3).Value =" 15 "'結果を 'i.Offset(0、2).Value'に入れることを意味します。 「15」とi.Offset(0、3).Value = "15" 'であり、おそらくあなたがしようとしているものではありません。 –