4月から各支店の会計をすべて担当することになり困っています。各支店ごと(50ほど)、さらに予算ごと(30ほど)に管理が必要です。入力シートをつくり入力すると、各支店のシートに予算ごとに振り分けることができたらずいぶん楽になると思うのですが・・・VBAの知識はまったくなくて困っています。どなたか助けてもらえないでしょうか?
(入力シート)
A B C D E F G
1 事項 節 日付 内容 予算 支出額 備考
2 A支店 給料 H23.4.1 ○○ 100,000 4月分
3 D支店 通勤交通費 H23.4.5 ○○ 20,000 4月分
4 G支店 消耗品 H23.4.5 ○○ 50,000 前期分
5 M支店 備品 H23.4.6 ○○ 30,000 前期分
6 A支店 消耗品 H23.4.6 ○○ 40,000
7 G支店 消耗品 H23.5.1 ○○ 2500
8 A支店 消耗品 H23.5.1 ○○10000
9 M支店 備品 H23.5.16 ○○ 25000
10 A支店 給料 H23.5.25 ○○ 80000
(支店シート)シートは支店の数だけ作ります。
A B C D E F G H I J
給料 手当
1 日付 内容 予算令達 支出金額残額備考 日付 内容 予算令達
2 H23.4.1 ○○ 100,000 4月分
3 H23.5.25 ○○ 80000 20000
4
5
※ A~Fは給料Gは空白でHからMは手当・・・・というように予算の数だけ右に続きます。
本当に困っててどなたか教えてください。
うまく見えるかわかりませんがイメージとして画像も添付します。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
No.3~5です!
たびたびごめんなさい。
「入力シート」のSheet名宣言をしていませんでしたので、標準モジュールでは正常に動かないかもしれません。
もし動かなければ
「入力シート」のSheet見出し上で右クリック → コードの表示 → VBE画面に貼り付けてマクロを実行してみてください。
どうも何度も失礼しました。m(__)m
No.5
- 回答日時:
'前回の続きです。
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
str = Cells(i, 1)
If Cells(i, 2) = "給料" Then
If WorksheetFunction.CountIf(Sheets(str).Columns(1), Cells(i, 3) & Cells(i, 4)) = 0 Then
With Sheets(str).Cells(Rows.Count, 1).End(xlUp).Offset(1)
.Value = Cells(i, 3) & Cells(i, 4)
With .Offset(, 2)
.Value = Cells(i, 3)
.NumberFormatLocal = "ge.m.d"
End With
.Offset(, 3) = Cells(i, 4)
.Offset(, 4) = Cells(i, 5)
.Offset(, 5) = Cells(i, 6)
.Offset(, 7) = Cells(i, 7)
End With
End If
End If
If Cells(i, 2) <> "給料" Then
If WorksheetFunction.CountIf(Sheets(str).Columns(2), Cells(i, 3) & Cells(i, 4)) = 0 Then
With Sheets(str).Cells(Rows.Count, 2).End(xlUp).Offset(1)
.Value = Cells(i, 3) & Cells(i, 4)
With .Offset(, 8)
.Value = Cells(i, 3)
.NumberFormatLocal = "ge.m.d"
End With
.Offset(, 9) = Cells(i, 4)
.Offset(, 10) = Cells(i, 5)
End With
End If
End If
Next i
End Sub 'この行まで
以上です。お役に立てば良いのですが・・・m(__)m
No.4
- 回答日時:
No.3です!
コードだけで2000文字を超えているみたいなので、2回に分割してみます。
何度もごめんなさいね。m(__)m
Sub 振り分け()
Dim i As Long
Dim str As String
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
str = Cells(i, 1)
If Sheets(str).Range("A1") <> "" Then
Sheets(str).Columns("A:B").Insert
Sheets(str).Columns("A:B").Hidden = True
If Cells(i, 2) = "給料" Then
With Sheets(str).Cells(Rows.Count, 1).End(xlUp).Offset(1)
.Value = Cells(i, 3) & Cells(i, 4)
With .Offset(, 2)
.Value = Cells(i, 3)
.NumberFormatLocal = "ge.m.d"
End With
.Offset(, 3) = Cells(i, 4)
.Offset(, 4) = Cells(i, 5)
.Offset(, 5) = Cells(i, 6)
.Offset(, 7) = Cells(i, 7)
End With
End If
If Cells(i, 2) <> "給料" Then
With Sheets(str).Cells(Rows.Count, 2).End(xlUp).Offset(1)
.Value = Cells(i, 3) & Cells(i, 4)
With .Offset(, 8)
.Value = Cells(i, 3)
.NumberFormatLocal = "ge/m/d"
End With
.Offset(, 9) = Cells(i, 4)
.Offset(, 10) = Cells(i, 5)
End With
End If
End If
Next i
'一旦ここまで・・・
No.3
- 回答日時:
こんばんは!
↓の画像で上側が入力シート・下側が各支店のSheet(画像では「A支店」)としています。
尚、J列以降は同じ項目があれば列方向に表示するのではなく、今後色々な集計を行うことを考えれば
行方向に表示させることをお勧めします。
そこで一例ですが↓の画像の配置でのコードを載せてみます。
尚、コードだけでこのサイトで投稿できる2000文字ぎりぎりみたいなので、
この後もう一度投稿します。
Alt+F11キー → VBE画面が出ますのでコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
尚、コード内で作業用にA・B列を挿入し非表示にしていますので、各支店のSheetは通常通りA列から表があるものとしています。m(__)m
No.2
- 回答日時:
>(支店シート)シートは支店の数だけ作ります。
>※ A~Fは給料Gは空白でHからMは手当・・・・というように予算の数だけ右に続きます。
ではなくて
別途 抽出のシートを一枚だけ
*シート数を増やすと移動するのに大変になりませんか?
A B C D E F G
1 事項 節
2 A支店 給料
3
4 日付 内容 予算令達 支出金額残額備考
5 H23.4.1 ○○ 100,000 4月分
6 H23.5.25 ○○ 80000 20000
7
と準備して
フィルターオプションを使って 必要な情報を抽出する方法の方がシンプルだと思います。
先ほど同様な質問に回答しましたので紹介いたします。
http://oshiete.goo.ne.jp/qa/6569425.html
月ごとの抽出が必要だとも思いますので
(入力シート)
A B C D E F G
1 年月 事項 節 日付 内容 予算 支出額 備考
2 2011年4月 A支店 給料 H23.4.1 ○○ 100,000 4月分
3 2011年4月 D支店 通勤交通費 H23.4.5 ○○ 20,000 4月分
4 2011年4月 G支店 消耗品 H23.4.5 ○○ 50,000 前期分
5 2011年4月 M支店 備品 H23.4.6 ○○ 30,000 前期分
と年月の列も準備して
A B C D E F G
1 事項 節 年月
2 A支店 給料 2011年4月
3
4 日付 内容 予算令達 支出金額残額備考
として
年月と支店名と項目を指定して抽出できるほうが長く使えると思います。
あと入力作業を楽に進めるために
年月 事項 節の列には 別途 入力規則のリストの一覧のシートを作成して
入力規則を設定すると良いでしょう。
No.1
- 回答日時:
次の通りに操作すると,マクロを全く知らなくても簡単にマクロを作って使えます。
準備:
作業用に全支店,全科目のデータを漏れなく網羅したダミーの予算を作成しておく
予算の表にオートフィルタを取り付けておく
手順1:
1.ツールメニューのマクロで「新しいマクロの記録」を開始する
マクロの名前は「A支店給料」にする
2.オートフィルタでA支店,給料を絞り込む
3.表範囲を大きく選択してコピーする
フィルタの▼がついた行を含めてコピーすること
4.所定のシートを開き,所定のセルに貼り付ける
5.予算シートに戻る
6.オートフィルタを全て表示する
7.ここで一度,マクロの記録を終了する
いちど記録したマクロを実行し,意図通りにデータを移動できているか確認する
手順2:
1.「A支店手当」など次の項目について手順1を繰り返し,1つずつマクロを記録する
慌てて一度にやってしまおうとしないこと
2.全支店,全科目のマクロを記録終えたら,作業に漏れがなかったか再確認する
3.新しいマクロの記録を開始し,作成したマクロを最初から順番に1つずつ実行する
4.記録終了して完成。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- 金銭トラブル・債権回収 購入手続き後の値上げ 4 2022/06/29 18:03
- 消費者問題・詐欺 全身脱毛の解約時の返金について 2年10回10万円の全身脱毛の契約をしました。 一括で支払い済みです 3 2022/07/18 21:12
- 妊娠・出産 産前休暇欠勤扱い? 先月出産し 先月入った給与について質問させていただきます。 出産予定日 7/24 2 2022/08/10 10:26
- 高校 日商簿記3級の勉強中なのですが 精算表が完成せず困っています。 こちらの問題の回答を教えていただきた 2 2023/03/02 09:07
- 財務・会計・経理 賞与引当金の計上について計上が必要かどうかまとめてみました(1月決算) 認識違うぞということがあれば 1 2023/07/24 17:17
- その他(Microsoft Office) エクセルの関数について 4 2022/07/30 16:42
- 消費税 消費税の納税額の計算 1 2023/02/19 18:12
- 所得・給料・お小遣い 産休に入る月の給与が思ったより少ない。計算は合ってますでしょうか? 当方、正社員で働いております。5 3 2023/06/03 19:17
- 統計学 回帰分析検証不一致 5 2022/05/04 20:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ろうきんの口座番号と支店名が...
-
銀行振込 支店番号と口座番号教...
-
口座を開設した支店でしか出来...
-
無知でごめんなさい。銀行口座...
-
楽天銀行のチェロ支店とは、ど...
-
みずほ銀行 振り込み手数料の表...
-
ゆうちょ銀行に口座を持つ方、...
-
面白い支店名のある銀行が知り...
-
なぜ横浜のゆうちょ銀行はさい...
-
Accessのレポートでグループご...
-
みずほ銀行インターネット支店...
-
エクセル関数 ①のように各支店...
-
遠くの支店の銀行口座を開設し...
-
バイトレを始めました そこで、...
-
この二つの違いがわかりません
-
この間内定先からのお給料振込...
-
支店番号(店番)の桁が4桁の場...
-
UFJ銀行あさぎり支店
-
ゆうちょ銀行の支店コードとは...
-
ゆうちょ銀行の記号から支店名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ろうきんの口座番号と支店名が...
-
口座を開設した支店でしか出来...
-
なぜ横浜のゆうちょ銀行はさい...
-
J.Pモルガン東京支店に口座を持...
-
銀行振込 支店番号と口座番号教...
-
UFJ銀行の口座の支店変更をした...
-
【Excel】 複数条件で抽出する。
-
支店番号(店番)の桁が4桁の場...
-
楽天銀行のチェロ支店とは、ど...
-
バイトレを始めました そこで、...
-
ゆうちょ銀行に口座を持つ方、...
-
三井住友銀行、本店営業部の銀...
-
急ぎです。 給料振込の口座につ...
-
この二つの違いがわかりません
-
ゆうちょ銀行の記号から支店名...
-
通帳を新通帳に繰越すると支店...
-
銀行口座の支店を変更しないと...
-
UFJ銀行あさぎり支店
-
CityBank 支店とは?
-
銀行の口座を開設した支店でし...
おすすめ情報