初めてのVBA
もうね、情報多すぎてやってられないです
メールも大量にやってきます
読み忘れるとかになると大問題
あと、重要なメールとか忘れてしまいます
時間の経過とともに
あとは後から重要な仕様だと分かった時など
なので、重要メール、連絡事項、仕様などを
エクセルのシートに貼り付けて管理してました
VBAで検索キーワードに引っかかった
行の前後5行とか10行とかを
一番はじめのシート(集計用)に一覧表示される
のを作っちゃいます。
私にとってVBAはLinuxのシェル、awk、sedに
あたります。
Linuxで自在にソース検索して調べる要領で
VBAで自在にメール、仕様書、連絡事項などを
調べちゃいます。
あるDIRの下全てのワードファイル(仕様書)を
読み込んで、キーワードと一致した行の
前後十行の記述をエクセルに書き出す
というのを作って利用してました。
あとはOracleのデータベース仕様書の新旧の差異
を比較して、変更があった所を一覧表示させるとか
作ってました。
エクセルで仕様書が書かれていたのですが
片方はひとつのファイルで全データ分書いてあり
もう片方はデータ分ファイルが書かれていたので
その差異を埋めるようにVBAでプログラム作って
比較結果を作成することができました。
いちいち目視で差異を比較していたら
日が暮れてしまいます。
以下にはじめのVBAの起動手順と
かんたんなソース貼り付けておきます
まだVBAで起動させてないので
適当です、方向性が分かるくらいですが
ご参考にどうぞ
開発タブ表示させる
ファイル→オプション→execlオプション→
リボンのユーザー→設定 開発V
vba起動させる
visual basic釦クリック
挿入→標準モジュール
general
sub macro1
msgbox. "hellow vba!"
end sub
実行 >
カレント行はここに置く
コメントは'
二行に渡る時は、" _"
保存は*.xlsmで保存
option explicit
dim sh as worksheet
dim i , j as long
dim keycode as string
keycode = "hoge"
for each sh in worksheets
if sh.name <> "集計" then
for i = 1 to 100
for j = 1 to 100
if instr(sh.range(i,j).value,keycode ) <> 0 then
worksheets("集計").range(current,5) =
sh.range(i,j).value
同上で、.font.size = 14
同上で、.interior.color= rgb(255,0,0)
.colorindex = 20
前後5行を設定する
current += 10
next j
next i
endif
next