|
こんにちは。かみちゃん です。
>セルの数式をいれたいのですが、普通の式は(=sum(a1:b5)など)はできるのですが
>range("a1").formula ="=countif(明細!a1:a10,"病院 日勤")*500" や
>range("a1").formula ="sum(上セル & ":" & 下セル) " のように
>文字が入ると、うまく入りません。
> エラーメッセージは 修正候補:ステートメントの最後 ですので、
>数値や " や ( の入力ミスかと思うのですが、わかりませんでした。
まず、sum〜の式は、simの前に=が抜けています。
Formulaプロパティは、数式を文字列で設定です。
文字列で " を示すには、"" とします。
具体的には、数式の中で 〜,"病院 日勤")
とするならば、〜,""病院 日勤"")
とします。
また、変数を使う場合は、" " の間に変数を書くと、変数ではなく、文字列になります。
以下の違いを確認してみてください。
Sub Test()
Dim 上セル As String
Dim 下セル As String
上セル = "A1"
下セル = "B5"
MsgBox "=SUM(上セル & "":"" & 下セル) "
MsgBox "=SUM(" & 上セル & ":" & 下セル & ") "
End Sub
以上のことから、以下のような感じにします。
Sub Sample()
Dim 上セル As String
Dim 下セル As String
上セル = "A1"
下セル = "B5"
Range("A1").Formula = "=COUNTIF(明細!A1:A10,""病院 日勤"")*500"
Range("A2").Formula = "=SUM(" & 上セル & ":" & 下セル & ") "
End Sub
ポイントは、2点。
●" を文字列として書くときは、""とする。
MsgBox """"
というような感じ。
●変数は、" " で囲むと変数の名前の文字列になるという点です。
以下の違いを確認。
Sub Test2()
Dim 変数名 As String
変数名 = "xxx"
MsgBox "変数名"
MsgBox 変数名
End Sub
|
|