• ベストアンサー

-の計算について

Sum関数を使用して、あるセルの範囲の合計を出したいのですが、 その合計よりhiku4という変数の値分を引きたいのです。 変数が"+"の場合はOKなのですが hiku4に"-"の値が入ってきた場合、エラーになってしまいます。 どうすればよいのでしょうか? for i= 1 to4 Range("L" & i).Formula = "=SUM(L" & i + 1 & ":L" & lastgyou & ") " & -hiku4 next

質問者が選んだベストアンサー

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

Range("L" & i).Formula = "=SUM(L" & i + 1 & ":L" & lastgyou & ") " & -hiku4 を Range("L" & i).Formula = "=SUM(L" & i + 1 & ":L" & lastgyou & ") -" & hiku4 とすればいかがでしょうか。

akirinchan
質問者

お礼

回答ありがとうございます。上手く動きました。

その他の回答 (4)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんばんは。 A1 方式で考えるので、ループが必要になるのですが、そのコードには、ループは必要ないのでは?単に、一行だけで済むはずです。(ただし、式としては、奇妙な式ですけれどね。) Dim i As Integer Dim j As Integer Dim lastgyou As Long Const hiku4 As Integer = 6 lastgyou = 10 '実際は、Endプロパティで、最終行をとるのだと思いますが。 i = 1 : j = 4 Range("L" & i).Resize(j).FormulaLocal = "=SUM(L" & i + 1 & ":$L$" & lastgyou & ")-" & hiku4

  • venzou
  • ベストアンサー率71% (311/435)
回答No.4

#3です。間違いました。訂正します。 For i = 1 To 4 If hiku4 > 0 Then  Range("L" & i).Formula = "=SUM(L" & i + 1 & ":L" & lastgyou & ") " & -hiku4 Else  Range("L" & i).Formula = "=SUM(L" & i + 1 & ":L" & lastgyou & ") +" & -hiku4 End If Next

  • venzou
  • ベストアンサー率71% (311/435)
回答No.3

hiku4の内容がプラスの場合とマイナスの場合があると言う事ですか? If文で分けるしかないと思います。 For i = 1 To 4 If hiku4 >= 0 Then  Range("L" & i).Formula = "=SUM(L" & i + 1 & ":L" & lastgyou & ") " & -hiku4 Else  Range("L" & i).Formula = "=SUM(L" & i + 1 & ":L" & lastgyou & ") +" & -hiku4 End If Next

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

少し例を簡略化してやってみました。 Sub test01() i = 1 lastgyou = 5 hiku4 = 4 '-- MsgBox "=SUM(L" & i + 1 & ":L" & lastgyou & ") -" & hiku4 Range("L" & i).Formula = "=SUM(L" & i + 1 & ":L" & lastgyou & ") -" & hiku4 End Sub L2:L5 に 2 3 4 6 で L1は実行後11になりました。 どうでしょうか。 後は質問にあわせて修正してください。

関連するQ&A

専門家に質問してみよう