|
表の整理について質問があります。
整理前の表
A B C D E
1 みかん バナナ りんご いちご
2 10円 20円 30円 40円
このような表があります。「りんご」と「みかん」を条件にして表を整理したいと思います。
整理後の表
みかん りんご
10円 30円
ただし、みかんが常に「A1」 バナナが常に「B1」に来るとは限りませんので、
見出しの言葉を抽出のキーワードにしたいと思いました。
そこで以下のようなプログラムを書きました。
Sub 表整理()
Range("a1").Select
sento:
Select Case ActiveCell
Case Is = "": End
Case Is = "りんご": ActiveCell.Offset(0, 1).Select
GoTo sento
Case Is = "みかん": ActiveCell.Offset(0, 1).Select
GoTo sento
Case Else: ActiveCell.EntireColumn.Select
Selection.Delete
ActiveCell.Offset(0, 0).Select
GoTo sento
End Select
End Sub
一応、結果は得られるのですが、正直、自分のVBAの能力の未熟さを感じています。
一つはデーターが多くなると処理が遅くなることもありますが、なによも、
オートフィルターを使うなり、配列を使うなり、何か別の形でのプログラムの
方がふさわしいのではないか、と感じています。
ですが、なかなか思い浮かびません。
そこでこのようなデーターベースを処理するにふさわしいVBAの書き方をお教えいただけないものでしょうか。
一つに限らず、複数あれば、それだけ勉強になるので、
私の技術の向上になにとぞご協力ください。お願いいたします。
|
|