2009年09月26日

エクセルマクロ(VBA):突合せの処理

おはようございます。

昨日は、人間ドッグを受けてきました。

バリュームでの胃部検診ですが、

マイクを通して指示をする先生に
遊ばれているような気がしました。

「バリュームをごっくん、ごっくんと飲みましょう」
「右に3回、まわって~。もっと、もっと早く~」
「次は仰向けになって~・・これは、うつぶせですよ、天井をみるんですよ~」
「もう一度右に3回まわりましょう。(左に回ろうとすると)、お箸を持つ手はどちらですか~
 (反対だと気付き右にまわると)、そう、そこが右ですよ」

なんて感じでした。

それでは、本題です。

前回からの続きです。
突合せの処理を、オートフィルターを使って処理する事にしました。
なんかすっきりしない方法ですが、今のスキルでは思いつくのは
これしかありません。・・・ので
進めていきます。

入金データの「氏名」と「月」で請求データをオートフィルターにかけます。
存在すれば、入金データの入金額を請求データの入金額に編集。
なければ読み飛ばしとします。
入金データが空白になるまで繰り返し、終了後
請求データの入金額が空白のものをオートフィルター
にかければ、未収データが作れるはずです。
では、早速やってみましょう。

<イメージ>
エクセルマクロ(VBA):突合せの処理

プログラムはこんな感じでしょうか。

Sub 文字列抽出3()

Sheets("元帳").Select

With Worksheets("元帳")
gyo1 = 3

Do Until Range("a" & gyo1) = ""
Sheets("請求データ").Select
Sheets("請求データ").Range("a1:e1").Select
Selection.AutoFilter

Selection.AutoFilter Field:=3, Criteria1:=.Range("g" & gyo1)
Selection.AutoFilter Field:=5, Criteria1:=.Range("h" & gyo1)

For Each c In Worksheets("請求データ").Columns(1).SpecialCells(xlCellTypeVisible)
If c.Row > 1 Then
If c = "" Then
Exit For
End If

Sheets("請求データ").Range("f" & c.Row) = .Range("k" & gyo1)

End If

Next c
Selection.AutoFilter

Sheets("元帳").Select

gyo1 = gyo1 + 1

Loop

End With
End Sub

それでは、実行してみます。

エクセルマクロ(VBA):突合せの処理

できました。

次に、請求データの入金額が空白のものをオートフイターにかけてみます。

< 未収データ >
エクセルマクロ(VBA):突合せの処理

未収データが表示されました。
大雑把ですが、流れとしてはこんな感じでしょうか。

あとは、綺麗に帳票編集して経理課に確認してみたいと思います。

返事が楽しみですが、OKならば、またまた一つ
事務効率UP」に貢献です。




同じカテゴリー(VBA)の記事

Posted by ミール at 10:31│Comments(0)VBA
この記事へのトラックバック
こ れ は ハ マ るwwwwwwwwwwww
すごいサイト見つけた【オセロット】at 2009年09月27日 09:34
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。