![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.5ベストアンサー
- 回答日時:
こんにちは
以下でいかがでしょうか?
Sub test()
Dim Rng As Range
Set Rng = Cells(Cells.Rows.Count, 4).End(xlUp).Offset(1)
If Intersect(Rng, Cells(2, 4)) Is Nothing Then
Rng.FormulaR1C1 = "=R[-1]C+RC[-2]-RC[-1]"
Else
Rng.FormulaR1C1 = "=RC[-2]-RC[-1]"
End If
End Sub
参考URL:http://www2.odn.ne.jp/excel/waza/macro.html#SEC17
回答ありがとうございます。うまく動きました。式の方も、簡潔でわかりやすかったです。ホームページの方も参考に見てみたいと思います。
No.3
- 回答日時:
nishi6さんのSanshiki1と殆ど一緒です。
これの場合はCellsを使った書き方です。
Cellsの書式:Cells(行数,列数)
Range("D3") = Cells(3,4) 。。D3セルは3行目の4列目
Dim tRow As Integer '行数の変数名
For tRow = 3 To 33
Cells(tRow, 4) = Cells(tRow - 1, 4) + Cells(tRow, 2) - Cells(tRow, 3)
Next
(この例だと、D2に前月末日の残高が入っているのが前提です。)
家計簿の記入方法に拠るかもしれませんが、マクロより式を使った方が良いかもしれません。
式の例:=D2+B3-C3 (これをD3に入れて、オートフィルをする)
(この例だと、D2に前月末日の残高が入っているのが前提です。)
No.2
- 回答日時:
マクロ記録をした算式と思いますが、下のSanshiki1は質問にある、R1C1参照形式で書いた例です。
マクロ記録で作られた、Selectなどは使用していません(削除しています)xを変数にして、D3から31個(下に向かって)算式を書く例です。
2つ目の式は直接書くならこんな感じかなと作ったものです。
マクロを書く場合、セル操作については、Range、Cells、Offsetを理解すれば、たいていの記録したマクロは汎用に書き換えることができると思います。
ご参考に。
Sub Sanshiki1()
Dim x As Integer
For x = 3 To 33
Range("D" & x).Formula = "=R" & (x - 1) & "C4" & "+R" & x & "C2" & "-R" & x & "C3"
Next
End Sub
Sub Sanshiki2()
Dim rg As Range
For Each rg In Range("D3:D33")
With rg
.Formula = "=" & .Offset(-1, 0).Address & "+" & .Offset(0, -2).Address & "-" & .Offset(0, -1).Address
End With
Next
End Sub
この回答への補足
説明が少し足りなかったようです。A列の日付、例えばA2の9/1のD2残高x円から
コマンドボタンを押すと、B3の収入y円、C3の支出z円を計算し、D3残高x'円を出したいのですが、
コマンドボタンを押すたびD4、D5と計算したいのですが。
宜しくお願いします。
No.1
- 回答日時:
こんばんは。
変数を使った代入式ということですが、
Sub test()
Dim strWork As String
Dim intI As Integer
For intI = 1 To 10
strWork = "D" & intI
Range(strWork).Select
'-----
'処理'
'-----
Next
End Sub
こういった感じでしょうか?
はずしていたら、ごめんなさい。
この回答への補足
ActiveCell.FormulaR1C1 = "=R[-1]C+RC[-2]-RC[-1]"
この式を組み込めばよいのでしょうか。うまく動かなかったもので・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- C言語・C++・C# numpyスライス機能を使った数値計算 2 2023/05/08 16:01
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) コピーしたデータを表中で収まるように2列に分けて貼り付けする方法を教えてください。 8 2022/06/24 14:28
- 高校 日商簿記3級の勉強中なのですが 精算表が完成せず困っています。 こちらの問題の回答を教えていただきた 2 2023/03/02 09:07
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- Excel(エクセル) エクセルの計算式を教えてください 3 2023/03/14 13:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
不正アクセスされてるのでしょうか
-
PowerPointの表内のカンマ
-
【VBA】PDF出力に任意のファイ...
-
Wordの差し込み印刷で空白行が...
-
エクセルの計算式でコンマを付...
-
エクセルでleft関数の結果が表...
-
名簿の漢字名を関数で半角カナ...
-
LINEのこの空白ってどんな意味...
-
EXCEL 連動したドロップダウン...
-
EXCELでタイトル行と一番下の行...
-
エクセルでの『セルの書式設定...
-
Excelのテーブル上のセルの保護...
-
セル上に表示された見かけ上の...
-
エクセルで行の一番上にセルに...
-
【エクセル】入力規則のプルダ...
-
エクセルでセル内改行の1行目...
-
結合されたセルの一部を変更す...
-
エクセルで「-3E+06」と...
-
エクセル関数:文字だけでなく...
-
EXCELで縦の行全てに一括して文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
不正アクセスされてるのでしょうか
-
EXELマクロ計算式
-
エクセルにて2つの条件を満た...
-
エクセルで「オブジェクトがは...
-
行の非表示の条件について
-
エクセル2000のマクロでこ...
-
Google スプレッドシートで、セ...
-
Excelで作成する家計簿の残高...
-
PowerPointの表内のカンマ
-
【VBA】PDF出力に任意のファイ...
-
EXCELでタイトル行と一番下の行...
-
LINEのこの空白ってどんな意味...
-
Wordの差し込み印刷で空白行が...
-
エクセルで「-3E+06」と...
-
エクセルでオートサムを使った...
-
Excelのテーブル上のセルの保護...
-
EXCEL 連動したドロップダウン...
-
エクセルの計算式でコンマを付...
-
エクセルでハイパーリンクのコピー
-
exselの質問です
おすすめ情報