VBAで#N/Aかどうか判断する方法
VBA
VBAで#N/Aかどうか判断する方法
VBAで#N/Aかどうか判断する方法
VBAでfor文やマイナスするfor文の書き方
VBAでfor文やマイナスするfor文の書き方VBAでfor文やマイナスするfor文の書き方についてです。基本的には以下のように記述します。For i = 1 To 10 ' 処理Next逆にカウンタ変数を減らしたい場合はStepを使用しま...
VBAでピボットを折りたたみしたり展開したりする方法
VBAでピボットを折りたたみしたり展開したりする方法です。以下は指定したフィールド名を全て折りたたむ例です。ActiveSheet.PivotTables("ピボットテーブル名").PivotFields("フィールド名").ShowDet...
VBAで書式設定する方法や表示した値を取得する方法
VBAで書式設定する方法や表示した値を取得する方法です。書式設定はNumberFormatとNumberFormatLocalの2種類で設定できます。例えば日付形式を設定したい例です。Sheets("シート名").Range("A1:A10...
VBAでシートから別シートにコピーする方法
VBAでシートから別シートにコピーする方法です。A1セルからE10セルを別シートにコピーする例です。Sheets("シート名").Range("A1:E10").CurrentRegion.Copy Sheets("別シート名").Rang...
VBAでワークシートの最終行を取得する
VBAでワークシートの最終行を取得する方法です。Dim maxRow As LongmaxRow = Sheets("シート名").Range("A1").End(xlDown).Rowこれでシート名のA1セルの一番下までの行数を取得するこ...
VBAで行列を非表示にする
VBAで行を非表示にするにはHiddenプロパティを使用します。Sub macro()Rows("2:5").Hidden = TrueEnd SubRowsで行範囲を指定します。上記では2行目から5行目を指定し、Trueにすることで非表示...
VBAで配列をループする
VBAで配列をループするVBAで配列をループします。Sub macro() Dim arr() As String arr = Split("aa;bb;cc",";") For Each i In arr MsgBox i Next iE...
VBAでサブフォルダを操作する
VBAでサブフォルダを操作するVBAで指定したフォルダのオブジェクトはGetFolderメソッドで操作します。Sub macro() Dim fso As Object Set fso = CreateObject("Scripting.F...
VBAでブックを開く
VBAでブックを開くVBAでエクセルブックを開くには、Openメソッドを使用します。指定したファイルが存在しない場合はエラーとなります。以下では読み取り専用にはしていません。Sub macro() Dim wk As WorkBook Se...
VBAで表示倍率を100%にする
VBAで表示倍率を100%にする
VBAで改ページプレビューと標準にする
VBAで改ページプレビューと標準にするVBAで改ページプレビューと標準にするにはActiveWindow.Viewを変更します。xlPageBreakPreviewでプレビューモードにします。Sub macro() ActiveWindow...
VBAでセル位置をA1にする
VBAでセル位置をA1にするVBAでセル位置をA1にするにはSelectメソッドでセル位置を指定します。Sub macro() ActiveSheet.Range("A1").SelectEnd Sub
VBAでフォルダ名を変更する
VBAでフォルダ名を変更する
VBAでファイルを移動する
VBAでファイルを移動する
VBAでフォルダをコピーする
VBAでフォルダをコピーするVBAでフォルダをコピーするには、copyFolderを使います。第一引数がコピー元フォルダ、第二引数がコピー先フォルダになります。Sub macro() Dim fso As Object Set fso = ...
VBAでファイルの存在を調べる
VBAでファイルの存在を調べるVBAでファイルの存在を調べるには、fileExistsを使います。存在する場合はtrue,存在しない場合はfalseを返します。Sub macro() Dim fso As Object Set fso = ...
VBAでフォルダの存在を調べる
VBAでフォルダの存在を調べるVBAでフォルダの存在を調べるには、FolderExistsを使います。存在する場合はtrue,存在しない場合はfalseを返します。Sub macro() Dim fso As Object Set fso ...
VBAのString型の文字列長を*で指定する
VBAのString型の文字列長を*で指定することができます。通常は以下のように指定します。Dim str As Stringこれに、「* 文字列長」を追記すれば文字列長を指定することが可能です。Dim str As String * 2以...
VBAのTypeName関数で型を調べる
VBAのTypeName関数で型を調べる事ができます。以下のように記述します。Sub macro()Dim a As LongDim b As StringDim c As DoubleDebug.Print TypeName(a)Debu...
VBAでHiddenプロパティを使用して行の表示非表示を切り替える
VBAでHiddenプロパティを使用して行の表示非表示を切り替えることができます。Rangeオブジェクト.Rows.Hiddenをtrueにすると非表示になります。以下、例です。Sub macro() Dim rng As Range Se...
VBAでWorksheetsオブジェクトを使用して全シートを取得する
VBAで全シートを取得するにはWorksheetsオブジェクトで簡単に取得することができます。Sub macro() For Each ws In Worksheets Debug.Print ws.Name Next wsEnd Sub結...
VBAの動的配列とReDim Preserve
VBAには動的配列があると言いました。動的配列はReDimステートメントを使用して配列の要素数を変更することができますが、再度、要素数を変更すると全要素は破棄されます。以下、例です。Sub macro() Dim arr() As Stri...
VBAの動的配列とReDim
VBAには動的配列と言うのが存在します。宣言方法は以下のように宣言します。Dim arr() As Variant動的配列の初期化はArray関数を使用して以下のように初期化することができます。Array関数で初期化する場合は、配列はVar...
VBAの配列とArray関数の使い方
VBAの配列とArray関数の使い方についてまとめてみます。まず配列の宣言方法です。Dim arr(3) As VariantVBAでの配列の基底値は0ですが、他の言語と違って0,1,2,3と4つインデックスを持つ配列になります。以下、例で...
VBAのFor Each文
VBAのFor Each文は以下のように記述します。For Each i In 配列' 処理Next i以下、具体的な例です。Sub macro() For Each i In Array(1, 2, 3) Debug.Print i Ne...
VBAのCHR(9)
VBAでCHR(9)というのを良く見かけますが、これはなんでしょう。以下、サンプルソースです。Sub macro15()Dim txt As Stringtxt = "A" & Chr(9) & "B"Debug.Print txtEnd ...
VBAでFormulaプロパティでセルの計算式を取得する
VBAでFormulaプロパティでセルの計算式を取得するには以下のように記述します。Sub macro() Dim txt, i Set txt = Range("D9:D10") For Each i In txt Debug.Print...
VBAでTextプロパティでセルの値を取得する
VBAでTextプロパティでセルの値を取得するには以下のように記述します。Sub macro() Dim txt, i Set txt = Range("D9:D10") For Each i In txt Debug.Print i.Te...
VBAでSelectメソッドでセルを選択する
VBAでSelectメソッドでセルを選択するには、以下のように記述します。範囲を選択するには("A1:A3")というように:で範囲を区切ります。Sub macro() Range("A1:B3").SelectEnd Subこのマクロを実行...
VBAで指定されたセルへ移動する
VBAで指定されたセルへ移動するには、ApplicationオブジェクトのGotoメソッドを使用します。以下のように記述します。Sub macro() Application.Goto ActiveSheet.Range("A1")End ...
VBAでUsedRangeを使用してセル範囲を取得する
VBAでUsedRangeを使用してセル範囲を取得することができます。以下のエクセルがあるとします。3行4列を使用しているのがわかると思います。この範囲を取得するには以下のように記述します。Sub macro()Dim rg As Rang...
VBAでWorkSheetオブジェクトの宣言
VBAでWorksheetオブジェクトを宣言するには以下のように記述します。Sub macro() Dim ws As Worksheet Set ws = ActiveSheet Debug.Print ws.NameEnd SubWor...
VBAでInStrを使用して指定文字位置を返す
VBAでInStrを使用して指定文字位置を返します。Sub macro Dim str = As String str = "aiueo" Debug.Print InStr(str, "u") Debug.Print InStr(str,...
VBAで小文字大文字変換する
VBAで小文字を大文字に変換するには、UCaseを使用します。大文字を小文字に変換するにはLCaseを使用します。Sub macro() Debug.Print UCase("abc") Debug.Print LCase("DEF")En...
VBAでFreeFile関数を使用してファイル出力する
VBAでFreeFile関数を使用してファイル出力します。Sub Macro1() Dim n As Integer n = FreeFile Open "D:\work_vba\a.txt" For Output As #n Print ...
VBAでイミディエイトウィンドウを開く
VBAでイミディエイトウィンドウを開くには、「表示」-「イミディエイトウィンドウ」で表示します。もしくは、Ctrl + gで、イミディエイトウィンドウが表示されます。
VBAの改行コード
VBAの改行コードはvbLfです。Sub Macro1() Debug.Print "a" & vbLf & "b"End Subイミディエイトウィンドウには以下のように表示されます。ab
VBAで文字列連結をする
VBAで文字列連結をするには&で連結します。Sub Macro1() Debug.Print "a" & "b"End Subイミディエイトウィンドウには以下のように表示されます。ab
VBAで現在開いているエクセルの保存先フルパスを取得する
VBAで現在開いているエクセルの保存先フルパスを取得するにはSub Macro1() Debug.Print ThisWorkbook.PathEnd Subで取得します。
VBAでTSVファイル読み込み
VBAでTSVファイル読み込み
VBAでCSVファイル読み込み
VBAでCSVファイル読み込みます。CSVファイルを読み込むにはWorkbooks.OpenText Filename:="c:\work_vba\a.csv", _DataType:=xlDelimited, _comma:=Trueとす...
VBAでフォルダを作成する
VBAでフォルダを作成することができます。Dim fso As ObjectSet fso = CreateObject("Scripting.FileSystemObject")fso.CreateFolder ("c:\vba")vba...
VBAでハイパーリンクを作成して各シートの目次を作成する
VBAでハイパーリンクを作成するには、for文でループしてActiveSheet.Hyperlinks.Add anchor:=Range("A" & i), Address:="", SubAddress:=Worksheets(i).N...