• 締切済み

VBAってこんなこともできるのでしょうか?

 VBA全く初心者の者です。最近異動して、エクセルのルーチン作業が多く、VBAはこうしたルーチン作業がボタン一つでできるというイメージがあり、勉強しようかと思って色々本など見ていますが、いまいち何ができるのかピンときません。  例えば、  毎月エクセルの入金リストから、  1.まず入金の種類の項目から「通常入金」を抽出  2.次に「拠点」項目から「東京」「横浜」をそれぞれ抽出し別シートに分ける  3.次に「東京」シートと「横浜」シートそれぞれの「入金口座」項目から「東京」と「横浜」を分ける。  4.最終的に「拠点東京:入金口座東京」「拠点横浜:入金口座東京」「拠点東京:入金口座横浜」「拠点横浜:入金口座横浜」の4つのシートに分け、それぞれ入金日順に並び変えて入金日毎の集計をかける という作業をしていて、これが結構面倒くさいです。 こういうのもVBAを勉強すると一発でできたりするのでしょうか? 分かりにくくアホな質問ですみません…。

みんなの回答

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.2

こんばんは 詳細が分からないので、正確なことは分かりませんが、VBAで十中八九以上の確率で出来ると思います。 ただし、一番大事なのは、Excelをふくめてコンピューターには「経験と勘」はありません。全くの「新人」と同じで詳細なことも含めて指示をしなくてはなりません。 また、月一回程度の作業でしたら、「オートフィルタ」を使えば、あまり大きな手間無く(慣れれば五分以内)で収まりそうな内容です。 Excel VBAを使うコツは、Excelの機能を知ることです。 普段は、マウスやキーボードからExcelに指示を出している代わりに、プログラムでエクセルに指示を出すと思ってください。

noname#131700
質問者

お礼

 回答ありがとうございます。 >ただし、一番大事なのは、Excelをふくめてコンピューターには「経験と勘」はありません。全くの「新人」と同じで詳細なことも含めて指示をしなくてはなりません。   そう、ですよね。そこらへんが具体的にイメージできなくて…。何ができて何ができないのか…。やはり私にはセンスがないかな。  おっしゃる通り現在はおーとフィルタでやってます。正確には5・10日毎にやってるんですが、他にもこんなような作業があるので面倒くさくて…。ありがとうございました。

  • kuma56
  • ベストアンサー率31% (1423/4528)
回答No.1

>こういうのもVBAを勉強すると一発でできたりするのでしょうか? はい、可能だと思います。 ただし、今現在のシートの構成がそれに適しているのかどうか分かりません。 人間が手作業でやるときには、(半ば無意識的に)目で見て判断している部分があり、・・・データの抽出範囲や選択基準など・・・それをExcel VBA が同じように判断できる様にしておけば大丈夫です。 Excelには、"マクロの記録"という機能があり、それを使えば、自分が行った手作業をVBA化して繰り返し実行することができます。 また、そうして作られたVBA構文を編集することで、あらたなVBAとして作業を追加することなどもできます。 WEBサイト上でも初心者向けにExcelやVBAの解説サイトを見かけることがありますので、検索して覗いてみてはいかがでしょうか?

noname#131700
質問者

お礼

 早速の回答ありがとうございます! >人間が手作業でやるときには、(半ば無意識的に)目で見て判断している部分があり、・・・データの抽出範囲や選択基準など・・  そうですよね。初心者用の参考書等で見ても、明確な範囲、基準に基づく分かりやすい例が多かったです。  質問文に書いた例の場合、当然ながら毎月の入金データ数は違いますので、範囲は毎回違うことになります。そうなるとやはり難しいんでしょうか。。