添付の画像のような出納帳を作成しています。
「出納帳シート」の『相手科目』は、入力規則のリストを使用して、《リストシート》より選択するように設定しました。
今回は、この『相手科目』をそれぞれ別々のシートに分けて、自動的に集約・合計されるようなものを作成したいと思っております。
Webを検索してみるとVBAを使用する必要があるとの内容を拝見したのですが、自分のExcelファイルに導入する際、どこを書き換えれば良いのか分らず、行き詰まってしまいました。
関数を使用しても、VBAを使用しても良いのですが、VBAについてはあまり知識がありませんので、初心者向けに教えて下さると助かります。
面倒なお願いで申し訳ないのですが、よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
>関数を使用しても、VBAを使用しても良いのですが
関数で対応できます。
ご提示の画像が判読できない状態です。
B5は需用費と読めますがそれで良いでしょうか?
また、費目別のシートへ抽出する項目は日付、摘要、入金、出金で良いでしょうか?
日付については下記の数式で良いと思います。
=IF(COUNTIF(出納簿!$B$5:$B$1000,"需用費")>=ROWS(A$5:A5),INDEX(出納簿!A:A,SUMPRODUCT(SMALL((出納簿!$B$5:$B$1000="需用費")*ROW(A$5:A$1000)+(出納簿!$B$5:$B$1000<>"需用費")*10^9,ROWS(A$5:A5))),1),"")
摘要はINDEX関数の出納簿!A:Aを出納簿!C:Cに置き換えれば目的に合います。
=IF(COUNTIF(出納簿!$B$5:$B$1000,"需用費")>=ROWS(A$5:A5),INDEX(出納簿!C:C,SUMPRODUCT(SMALL((出納簿!$B$5:$B$1000="需用費")*ROW(A$5:A$1000)+(出納簿!$B$5:$B$1000<>"需用費")*10^9,ROWS(A$5:A5))),1),"")
入金および出金は摘要を右へコピーすれば良いでしょう。
1行分の数式が確定したら纏めて下へ必要数コピーすれば完了です。
提示の数式は元データ(出納簿)の最大行番号を1000にしてありますので必要に応じて増減してください。
計算結果で0が表示されるセルが見難い場合は条件付き書式で0の場合はフォントの色を白にしてください。
他の費目シートについては需用費シートをシート全体をコピーして、費目の文字列を置換すれば良いでしょう。
画像が見にくくて申し訳ありませんでした。
しかし、コピペ・置換にて動作致しました。
簡単で助かりました!
ご回答ありがとうございます。
また、行き詰まった際はご助力下さい。
No.2
- 回答日時:
こんばんは!
「出納帳」のF2セルに日付が入っているというコトは毎日の締めで各Sheetに集計したい!
という解釈です。
すなわち各科目Sheetの最終行にどんどん追記するものと解釈しました。
↓の画像のように左側が「出納帳」Sheetで右側Sheetが各科目のSheetになっているとします。
各科目のSheetは「リスト」表示されるB列すべてのSheetが同じ配列で存在しているという前提です。
Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub 転記() 'この行から
Dim k As Long, lastRow1 As Long, lastRow2 As Long
Dim myRng As Range, wS As Worksheet
Application.ScreenUpdating = False
With Worksheets("出納長")
lastRow1 = .Cells(Rows.Count, "A").End(xlUp).Row
Set myRng = Range(.Cells(4, "A"), .Cells(lastRow1, "E"))
For k = 3 To Worksheets.Count
Set wS = Worksheets(k)
lastRow2 = wS.Cells(Rows.Count, "A").End(xlUp).Row
If wS.Cells(lastRow2, "A") = "合計" Then
wS.Rows(lastRow2).Delete
End If
.Range("A3").AutoFilter field:=2, Criteria1:=wS.Name
myRng.SpecialCells(xlCellTypeVisible).Copy _
wS.Cells(Rows.Count, "A").End(xlUp).Offset(1)
lastRow2 = wS.Cells(Rows.Count, "A").End(xlUp).Row
With wS.Cells(lastRow2 + 1, "A")
.Value = "合計"
.Offset(, 3) = WorksheetFunction.Sum(Range(wS.Cells(2, "D"), wS.Cells(lastRow2, "D")))
.Offset(, 4) = WorksheetFunction.Sum(Range(wS.Cells(2, "E"), wS.Cells(lastRow2, "E")))
.Offset(, 5) = .Offset(, 3) - .Offset(, 4)
End With
wS.Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
Next k
.AutoFilterMode = False
End With
Application.ScreenUpdating = True
End Sub 'この行まで
※ 各科目Sheetには残高は無意味ですので、F列に差引額を表示するようにしてみました。m(_ _)m
ご回答頂きありがとうございました。
ご紹介頂きましたコードを入力して試してみたのですが、
リストシートには科目があるけれど、出納簿の中で使用
していない科目があると、
「該当するセルが見つかりません」
というエラーが発生してしまいました。
そもそもの書式のことを、私が失念しており、
No.1さんの回答で気づいたのですが、
科目別のシートには、相手科目や合計の列が不要でした。
今回の動作を見てみると、恐らく、出納簿シートの科目で
フィルターをかけて、それを対象シートにペースト
しているように思うのですが、このままだとtom04さんが
ご説明下さっているとおり、同じ形式にする必要があります。
上記エラーや、形式の問題も、解決するコードがあるのだと
思いますが、No.1さんがご紹介下さった、関数を使用しての
動作ができるようでしたので、今回は関数で作成して
見ようと思います。
作成中に他の問題が出てきたり、データも重くなる可能性も
あると思いますので、その際は他の方法を考えようと思います。
その際に、質問に気づかれましたら、
またお力をお貸し頂けないでしょうか。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- Excel(エクセル) Excelの複数ファイルの複数行を別ファイル1つのシートにVBA、マクロで集約する方法 5 2022/09/13 06:30
- Excel(エクセル) Excel M365 データチェックの仕掛けを作りたい 2 2023/06/03 23:54
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Excelの出納帳で、別シートに自動で振り分け
財務・会計・経理
-
エクセルを使っての出納帳から自動で科目別の表を作成したい
Excel(エクセル)
-
現金出納表の内容を別表の科目別欄に自動コピー出来ますか?
Word(ワード)
-
-
4
エクセルで集計表から項目ごとに別シートへ表示する方法
財務・会計・経理
-
5
エクセル入力で項目別にシートに振り分ける方法を教えてください!
Excel(エクセル)
-
6
エクセルの表で科目毎の合計を出したい
財務・会計・経理
-
7
エクセルでシートの振り分けを自動的にする方法
Excel(エクセル)
-
8
フィルタを使わずに抽出
Excel(エクセル)
-
9
Excelで金銭出納帳。繰越残高を翌月へ・・・
その他(パソコン・スマホ・電化製品)
-
10
エクセルの1シートを項目別に別シートへ分ける方法
Excel(エクセル)
-
11
EXCEL2007です。1つのシートから複数のシートに項目ごとに振り分けることはできますか?
Excel(エクセル)
-
12
エクセル2003 出納帳の残高の最終行を次の月の最初の行に反映させる方法
Excel(エクセル)
-
13
自治会の役職手当等は課税の対象?
その他(法律)
-
14
エクセルで特定の項目の行を別のシートに表示したいのですがどうすればいい
Excel(エクセル)
-
15
エクセルである列の項目毎にシートに分ける方法を教えてください。
仕事術・業務効率化
-
16
エクセルで入力シートから別シートに蓄積方法について
Excel(エクセル)
-
17
Excel 表から条件にあう行を別シートに抽出したい
Excel(エクセル)
-
18
長文です。 習い事の会計について 今年スポーツ少年団の会計をしていました。 長かった会計をようやく締
その他(悩み相談・人生相談)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(EXCEL)出納帳に科目別シートを...
-
PCA会計
-
会社の経理で使用しているTK...
-
貸借対照表の数字が合わない(...
-
弥生会計で大量伝票削除するには?
-
たまってしまった出金伝票・入...
-
預金出納帳に転記されない
-
法人事業概況説明書について教...
-
現金過不足は法人でなくても使...
-
監査法人へのお弁当代の科目は...
-
取引先の先方から注文した商品...
-
弥生会計での売掛金入力方法
-
勘定奉行と科目の内訳書
-
弥生会計での「介護報酬」の勘...
-
法定開示業務の補助とは?
-
振替伝票に同じ勘定科目を複数...
-
車輌ナンバー代は何費になりま...
-
質問です。 2人で回転寿司に行...
-
市役所でとった書類の勘定科目
-
部活で会計の仕事やることにな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報