アプリ版:「スタンプのみでお礼する」機能のリリースについて

何件か同じような質問が出ているようなんですが、
どうしても、うまくいかないので質問させていただきます。

日付 科目    名前      借方     貸方     合計
1/1 車両費 ガソリン代        5000      5000
1/1 図書費 本           500       5500
1/2 仕入    食材           6000     22000
1/3 交際費 お礼            3000     25000
1/4 雑費  雑貨           1000     26000
1/6 雑費  雑貨           1000     27000

シート1がこの様になってまして、

シート2~・・・に科目ごと、この様に、抽出したいです。

科目: 車両費

日付 科目    名前      借方     貸方     合計
1/1 車両費   ガソリン代        5000     5000


シート3

科目: 図書費

日付 科目    名前      借方     貸方     合計
1/1 車両費    本             500     500 

宜しくお願いいたします。

A 回答 (3件)

すみませんが、ストレートな回答ではありません。


No.1さんの真逆の考えになります。

質問者さんと同じようなこと考えたことありますが、
これだと帳簿を書き足す毎に、マクロで抽出すなくてはならないので、
僕の場合は、同一シート内で、列を増やします。
画像の例だと、色のついた部分に数式が入っていて、ロックしてあります。

F2 =B2&COUNTIF($B$2:B2,B2)
G2 =SUMIF($B$2:B2,B2,$D$2:D2)+SUMIF($B$2:B2,B2,$E$2:E2)

これでExcelの「フィルター」機能を使って、各項目の明細を出します。
それらの印刷などをマクロで行うボタンを作ってもいいかもしれませんが、
年に一度の確定申告に使う程度なら、手動でやればいいことです。

ちなみに、シート1には、現金/預金という選択項目も足して、
現金出納帳兼預金出納長にもできますよ。
F2,G2の要領で、残高を出します。
「エクセル 特定の行を条件にあったものだけ」の回答画像2
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
フィルタの抽出ではない方法を探していたので、
助かりました!
同じページというのは、考えてなかったです!
試して見ます!

お礼日時:2017/05/24 13:01

こんにちは



とりあえず、まんまのマクロです。

シート名と科目の関係がわからなかったので、『科目=シート名』としています。
科目に合致するシート名が存在すればそれを利用し、無い場合は新しく作成します。

Sub Sample()
Dim dic As Object
Dim sh As Worksheet, shd As Worksheet
Dim rw As Long, tmpRw As Long, nam As String

' ↓ 「シート1」に該当するシートを指定すること
Set sh = Worksheets("Sheet1")

Set dic = CreateObject("Scripting.Dictionary")

For rw = 2 To sh.Cells(Rows.Count, 2).End(xlUp).Row
 nam = Trim(sh.Cells(rw, 2).Value)
 If nam <> "" And nam <> sh.Name Then
  If Not dic.exists(nam) Then
   On Error Resume Next
   Set shd = Worksheets(nam)
   If Err.Number = 9 Then
    Set shd = Worksheets.Add(After:=Worksheets(Worksheets.Count))
    shd.Name = nam
   End If
   On Error GoTo 0
   dic.Add nam, nam
   shd.Cells.ClearContents
   shd.Rows(1).Value = sh.Rows(1).Value
  End If

  Set shd = Worksheets(nam)
  tmpRw = shd.Cells(Rows.Count, 2).End(xlUp).Row + 1
  shd.Rows(tmpRw).Value = sh.Rows(rw).Value
 End If
Next rw

End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

お礼日時:2017/05/31 14:06

「フィルタで抽出したものを貼りつける」マクロを作って それをシート


毎に実行すればいいです。数式でやろうとするから 分からなくなるんで
しょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

お礼日時:2017/05/31 14:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!