0
このような簡単な質問に対して私のご迷惑をおかけします。私はこれを死に捜したが、なぜこれがうまくいかないのか理解できない。私はちょうど新しい行を追加し、セルに数式を挿入したい。Excel VBA変数から数式を構築する
私のコードは、私は(代わりnRowのNSTRを使用して、等)式の行の文字列値を使用して試したこの
Private Sub CommandButton1_Click()
Dim lRow As Long
Dim lStr As String
Dim nRow As Long
Dim nStr As String
lRow = Cells(Rows.Count, 5).End(xlUp).Row
lStr = CStr(lRow)
nRow = lRow + 1
nStr = CStr(nRow)
Cells(nRow, 1).Value = Date
Cells(nRow, 2).Value = ""
Cells(nRow, 3).Value = 25
Cells(nRow, 4).Value = 53
Cells(nRow, 5).Select
ActiveCell.formula = "=IF(AND(C" & nRow & "=""""|D" & nRow & "="""")|""""|E" & lRow & "-C" & nRow & "+D" & nRow & ")"
End Sub
あります。
最初に "="記号を削除して値として入力すると、それが挿入され、 "="をExcelで追加しても問題はないと評価されます。文字列は問題ありません。
しかし、なぜそれは数式を挿入しませんか?
私はr1c1表記でもやってみました。
アイデア?
値25と53は一時的な値です。エンドユーザは、これらのセルに手動で値を入力します。
は'交換してください。 vbaは非常に米国英語中心であり、数式は標準の米国英語形式で入力する必要があります。 –
うわー。それはうまくいった。だから手動でセルに= IF(AND(C6 = "" | D6 = "")| "" | E5-C6 + D6)を入力すると動作しますが、VBでは= IF(AND(C6 = ""、D6 = "")、 ""、E5-C6 + D6)。ありがとうございました –