2009年09月26日
エクセルマクロ(VBA):突合せの処理
おはようございます。
昨日は、人間ドッグを受けてきました。
バリュームでの胃部検診ですが、
マイクを通して指示をする先生に
遊ばれているような気がしました。
「バリュームをごっくん、ごっくんと飲みましょう」
「右に3回、まわって~。もっと、もっと早く~」
「次は仰向けになって~・・これは、うつぶせですよ、天井をみるんですよ~」
「もう一度右に3回まわりましょう。(左に回ろうとすると)、お箸を持つ手はどちらですか~
(反対だと気付き右にまわると)、そう、そこが右ですよ」
なんて感じでした。
それでは、本題です。
前回からの続きです。
突合せの処理を、オートフィルターを使って処理する事にしました。
なんかすっきりしない方法ですが、今のスキルでは思いつくのは
これしかありません。・・・ので
進めていきます。
入金データの「氏名」と「月」で請求データをオートフィルターにかけます。
存在すれば、入金データの入金額を請求データの入金額に編集。
なければ読み飛ばしとします。
入金データが空白になるまで繰り返し、終了後
請求データの入金額が空白のものをオートフィルター
にかければ、未収データが作れるはずです。
では、早速やってみましょう。
<イメージ>
プログラムはこんな感じでしょうか。
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
それでは、実行してみます。
できました。
次に、請求データの入金額が空白のものをオートフイターにかけてみます。
< 未収データ >
未収データが表示されました。
大雑把ですが、流れとしてはこんな感じでしょうか。
あとは、綺麗に帳票編集して経理課に確認してみたいと思います。
返事が楽しみですが、OKならば、またまた一つ
「事務効率UP」に貢献です。
昨日は、人間ドッグを受けてきました。
バリュームでの胃部検診ですが、
マイクを通して指示をする先生に
遊ばれているような気がしました。
「バリュームをごっくん、ごっくんと飲みましょう」
「右に3回、まわって~。もっと、もっと早く~」
「次は仰向けになって~・・これは、うつぶせですよ、天井をみるんですよ~」
「もう一度右に3回まわりましょう。(左に回ろうとすると)、お箸を持つ手はどちらですか~
(反対だと気付き右にまわると)、そう、そこが右ですよ」
なんて感じでした。
それでは、本題です。
前回からの続きです。
突合せの処理を、オートフィルターを使って処理する事にしました。
なんかすっきりしない方法ですが、今のスキルでは思いつくのは
これしかありません。・・・ので
進めていきます。
入金データの「氏名」と「月」で請求データをオートフィルターにかけます。
存在すれば、入金データの入金額を請求データの入金額に編集。
なければ読み飛ばしとします。
入金データが空白になるまで繰り返し、終了後
請求データの入金額が空白のものをオートフィルター
にかければ、未収データが作れるはずです。
では、早速やってみましょう。
<イメージ>
プログラムはこんな感じでしょうか。
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
それでは、実行してみます。
できました。
次に、請求データの入金額が空白のものをオートフイターにかけてみます。
< 未収データ >
未収データが表示されました。
大雑把ですが、流れとしてはこんな感じでしょうか。
あとは、綺麗に帳票編集して経理課に確認してみたいと思います。
返事が楽しみですが、OKならば、またまた一つ
「事務効率UP」に貢献です。
Posted by ミール at 10:31│Comments(0)
│VBA
この記事へのトラックバック
こ れ は ハ マ るwwwwwwwwwwww
すごいサイト見つけた【オセロット】at 2009年09月27日 09:34