[[20190630183320]] 『出金一覧表から、個別帳票をシートに作成する』(こっすー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『出金一覧表から、個別帳票をシートに作成する』(こっすー)

出金の明細が記載されている一覧表から、
各支出の個別帳票をシートに作成する作業を自動化したいと考えています。

ブック名:出金明細
シート名1:出金一覧
シート名2:科目名一覧
シート名3:帳票雛形

<シート名1:出金一覧>

        A           B         C          D
1         日付      支払先   支払額   科目No. 
2     2019/06/01       A社  1,000      301
3     2019/06/02       B社  2,000      302
4     2019/06/03       C社  3,000      401
5     2019/06/04       A社  4,000      402

<シート名2:科目一覧>

          A             B
1      科目No.       科目名
2       301           原価1
3       302           原価2
4       401           経費1
5       401           経費2

上のデータから、
例えば、下記のような帳票を作成したいです。
1出金、1シートです。

           A               B              C               D 
1       ”帳票名”
2       “支払先:”      A社                      2019/06/01
3           301          原価1         1,000      
4       
5                         “合計”       1,000    

出金数は、一度の作業時で100ほどです。
新規のシートはシート3の後に作成され、シート名はただの通し番号で問題ありません。

わかりづらいかもしれませんが、どうぞよろしくお願いいたします。

< 使用 Excel:Excel2016mac、使用 OS:MacOSX >


手作業で実施する場合、どんな手順にしますか。
箇条書きで、できるだけ具体的に、説明できますか。

(マナ) 2019/06/30(日) 19:46


マナさん、コメントありがとうございます。
返信遅くなりました。
現在の手作業の方法は、下記の通りです。

1)別のエクセルブックの入出金明細から、出金分だけを抜き出しシート1にコピペする
2)シート3を開く(帳票のフォーマットが縦に並んでいる)
3)上の支出から順に、日付・支払先・支払額をシート1からコピペする
4)科目はプルダウンで選ぶ
5)出金の数だけ繰り返す
6)全ての帳票(A5)を印刷する

現在は、1つのシートで全ての帳票を作成しています。

これでおわかりいただけましたでしょうか。
よろしくお願いします。

(こっすー) 2019/06/30(日) 22:06


>1)別のエクセルブックの入出金明細から、出金分だけを抜き出しシート1にコピペする

これは、今回の次号化は、2)以降と考えてよいですか。

>(帳票のフォーマットが縦に並んでいる)

意味がわかりません。

>3)上の支出から順に、日付・支払先・支払額をシート1からコピペする
>4)科目はプルダウンで選ぶ

コピペは、1行だけですか。違いますよね。
他は、数式で表示されるようになっているのですか。
例えば、合計とか。

 >5                         “合計”       1,000 

(マナ) 2019/06/30(日) 22:25


Sub main()
    Dim sht As Worksheet, i As Long
    Set sht = Sheets("出金一覧")
    For i = sht.Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
        Sheets.Add after:=Sheets(3)
        ActiveSheet.Name = i - 1
        With ActiveSheet
            .Range("A1").Value = "帳票名"
            .Range("A2").Value = "支払先"
            .Range("A3").Value = sht.Range("D" & i).Value
            .Range("B2").Value = sht.Range("B" & i).Value
            .Range("B3").Value = Sheets("科目一覧").Range("A:A").Find(sht.Range("D" & i).Value, , , xlWhole).Offset(, 1).Value
            .Range("B5").Value = "合計"
            .Range("C3").Value = sht.Range("C" & i).Value
            .Range("C5").Value = sht.Range("C" & i).Value
            .Range("D2").Value = sht.Range("A" & i).Value
        End With
    Next i
End Sub
(mm) 2019/07/01(月) 13:24

mmさん、お考えいただきありがとうございました。
作動させてみましたら、
きちんと各シートごとに帳票が作成されました!
どうもありがとうございます。

(こっすー) 2019/07/01(月) 13:50


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.