【VBA】初心者の便利な小ネタ集
- uniteen
- 2015年8月9日
- 読了時間: 3分
最近勉強したなかで、もっと早く知っていればよかったなーと思った
構文などのご紹介
①Withステートメント
今まで私は、同一シートに対しての処理をする時に、
Set Num1 = Worksheets("Num1")
Selection.Copy
Sheets("Num1").Select
Num1.Cells.Clear
Num1.Cells.PasteSpecial Paste:=xlPasteValues
のような感じで、Num1を頭に並べておりました。
これは会話で言えば、
横山さんは、日本人で、
横山さんは、りんごが好きで
横山さんは、結婚してます
のような無駄な情報を載せていたようでして、
今回のWithステートメントを用いれば
横山さんは、日本人で、りんごが好きで、結婚してます
とすっきりかける様になるそうです。パチパチ。
Sheets("Num1").Select
With num1
.Cells.Clear
.Cells.PasteSpecial Paste:=xlPasteValues
End With
ちょっとすっきりしましたね!笑
②オートフィルタの操作
これもVBAでいけるようですね!
Selection.AutoFilter
ActiveSheet.Range(Selection, ActiveCell.SpecialCells(xlLastCell)).AutoFilter Field:=2, Criteria1:=りんご
オートフィルタを選択し、Fieldで列を指定、Criteriaで選択語句をしていするみたいです。
Criteriaの次を「*りんご*」にすれば、りんごを含むという細かい条件づけもできます!
Criteria1,Criteria2とすれば、二つの絞り込みにも対応できます!パチパチ
Criteria1:="りんご" りんごと等しい
Criteria1:="<>りんご" りんごではない
Criteria1:="りんご*" '' りんごで始まる
Criteria1:="*りんご*" ' りんごを含む
Criteria1:="*りんご" りんごで終わる
③確認メッセージを非表示にする

仕事でExcelを使う業務をしてる際に、csvからの出力が終わった後ファイルを閉じたり、
データの範囲コピぺとかすると、いちいちこれがでてきちゃって面倒だったんですが・・・
これ全部非表示にできるように!まじ神!(Microsoftさんごめんなさい)
会社のPCに入ってるマクロも更新しなくては!
Application.DisplayAlerts = False
Cells.PasteSpecial Paste:=xlPasteValues
Application.DisplayAlerts = True
アラートをFalseにした後、メッセージが出ちゃう処理を行い、Trueに戻してるだけですね
これで、正規のやりかたをしなくても、csvの読み込みをぼくでもマクロで使用可能になりました!
いえーい。
④グラフ機能の操作
マクロの記録という素晴らしい機能があってこそですね、感謝感謝

事前にグラフ参照元のデータを用意しておきましたが、
これもデータ配列、またはベースのシートに用意すればいいですね!
Range("C3:E6").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Range("Sheet1!$C$3:$E$6")
ChartTypeでグラフの種類を変えられるみたいですね、、、

はい、覚えられるわけがございませんので、ブックマークしておきましょう。
⑤Application.WorksheetFunction
結論、データを持つシート1があったとして、その計算結果をシート2に表示させます!
Workbooks("B.xls").Worksheets("sheet2").Range("A2")
=Application.WorksheetFunction.Sum(Workbooks("A.xls").Worksheets("sheet1").Range("B2:B3"))
これでいろんなシートにあるデータを一箇所にあつめるのがとても楽になりました。
やったー。(棒
【コラム】MacでIEのソースコードを得る
別にVBAではないですね。ごめんなさい。
Macでsafariのソース拾うと、なんかいつもと違うソースになって、
Windowsで使い回せなさそうなんですよねー。
ということで、

開発タブ(システム環境設定から表示)から、使用するブラウザを選んであげましょう!
これで、MacでもIEが使用可能になります。
んー。今週の土日は、リスティングの勉強したり、VBAの勉強したり、友達の家で
board gameしたり将棋したりいろいろできましたかね。。。
スーツも新調しました!
4万円!

明日からもっと生産性があがるよう、頑張っていきます!
では。