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