目次
xls xlsx xlsmの違いについて
xls…古いバージョンのエクセル拡張子。新しいバージョンでも開ける。設定によってマクロも実行可能。
xlsx…Excel 2007以降のエクセル標準拡張子。マクロ実行不可能。
xlsm…Excel 2007以降のマクロ実行可能拡張子。
コントロールの追加
右クリック→挿入→ユーザーフォーム
basファイル
VBAのコードはブック内部に保存される。複数のブックで(VBAコードを)使用するため、ブックの外部に保存する方法がある。
なんか色々自動化する方法があるらしいが、一番単純な方法。
テキストエディタにVBAコードをコピペ。拡張子を.txtから.basに変更。
作成したマクロをbasファイルにしてわかりやすいように予め決めていたフォルダに保存。使用したいマクロがある場合、VBEで”ファイルのインポート”
もしくは、
”標準モジュール”にbasファイルをドラッグアンドドロップ
シートの選択
Worksheets("Sheet1").Select
(ワークシートごとに)セルの値をすべて消去
Worksheets("Sheet1").Cells.Clear
不要な文字列取り除く
Replace関数を使用する。全角スペース(” ”)を取り除くことも可能。
1 2 3 |
Dim sample As String sample = "さ ん ぷ る" sample = Replace(sample, " ", "") |
任意の文字列で区切り、抽出する。
1 2 3 4 5 6 7 |
Dim test As String test = "これはテストです。これはテスト" If InStr(test, "。") <> 0 Then test = Mid(test, 1, InStr(test, "。")) MsgBox test End If |
条件分岐を使用することで、文字列に”。”が含まれているときだけ抽出とかできる。
Mid
文字列testの1番目からInStrで返る数字まで文字を抽出。(第2引数を変更することで、任意文字列から任意文字列まで抽出が可能)
InStr
文字列testの中から、”。”を検索。見つかった位置を数字で返す。
↓のように調整も可能。
1 |
test = Mid(test, 1, InStr(test, "。") - 1) |