[自分用]VBA学習まとめ2

VBA学習まとめ VBA

 

xls xlsx xlsmの違いについて

xls…古いバージョンのエクセル拡張子。新しいバージョンでも開ける。設定によってマクロも実行可能。

xlsx…Excel 2007以降のエクセル標準拡張子。マクロ実行不可能。

xlsm…Excel 2007以降のマクロ実行可能拡張子。

 

コントロールの追加

右クリック→挿入→ユーザーフォーム

VBA コントロールの追加

 

basファイル

VBAのコードはブック内部に保存される。複数のブックで(VBAコードを)使用するため、ブックの外部に保存する方法がある。

 

なんか色々自動化する方法があるらしいが、一番単純な方法。

 

テキストエディタにVBAコードをコピペ。拡張子を.txtから.basに変更。

 

作成したマクロをbasファイルにしてわかりやすいように予め決めていたフォルダに保存。使用したいマクロがある場合、VBEで”ファイルのインポート”

もしくは、

”標準モジュール”にbasファイルをドラッグアンドドロップ

 

シートの選択

Worksheets("Sheet1").Select

 

(ワークシートごとに)セルの値をすべて消去

Worksheets("Sheet1").Cells.Clear

 

不要な文字列取り除く

Replace関数を使用する。全角スペース(” ”)を取り除くことも可能。

 

Dim sample As String
sample = "さ ん ぷ る"
sample = Replace(sample, " ", "")

 

任意の文字列で区切り、抽出する。

 

Dim test As String
test = "これはテストです。これはテスト"

If InStr(test, "。") <> 0 Then
test = Mid(test, 1, InStr(test, "。"))
MsgBox test
End If

mid instr テスト

 

条件分岐を使用することで、文字列に”。”が含まれているときだけ抽出とかできる。

 

Mid

文字列testの1番目からInStrで返る数字まで文字を抽出。(第2引数を変更することで、任意文字列から任意文字列まで抽出が可能)

 

InStr

文字列testの中から、”。”を検索。見つかった位置を数字で返す。

 

↓のように調整も可能。

test = Mid(test, 1, InStr(test, "。") - 1)

mid instr 任意の文字列を抽出

 

親身な指導で実力をつけるプログラミングスクール | CodeVillage

タイトルとURLをコピーしました