'条件を満たすまで 前判定
Dim n As Long
n = 1
Do Until n > 5
Debug.Print n
n = n + 1
Loop
'条件を満たすまで 後判定
n = 1
Do
Debug.Print n
n = n + 1
Loop Until n > 5
'条件を満たす間まで 前判定
Dim n As Long
n = 1
Do While n < 5
Debug.Print n
n = n + 1
Loop
'条件を満たす間まで 後判定
n = 1
Do
Debug.Print n
n = n + 1
Loop While n < 5
’標準
Rangeオブジェクト.NumberFormatLocal = "G/標準"
'文字列
Rangeオブジェクト.NumberFormatLocal = "@"
’数値
Rangeオブジェクト.NumberFormatLocal = "0"
'行選択 2行目から3行目
Range("2:3").Select
'行選択 2行目から3行目
Rows("2:3").Select
'B列からC列
Range("B:C").Select
'B列からC列
Columns("B:C").Select
'セル範囲【B2:D3】
Range("B2:D3").Select
'セル範囲【B2:D3】
Range("B2", "D3").Select
'セル【B2】と【D3】
Range("B2,D3").Select
'ブック確認
Sub 対象ブックが存在するか確認_D()
Dim filePath As String
filePath = "C:\Sample\Book1.xlsx"
If Dir(filePath) "" Then
Debug.Print "存在する"
Else
Debug.Print "存在しない"
End If
End Sub
Sub 対象ブックが存在するか確認_Fso()
Dim fso As Object
Dim filePath As String
filePath = "C:\Sample\Book1.xlsx"
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(filePath) Then
Debug.Print "存在する"
Else
Debug.Print "存在しない"
End If
End Sub
Sub シートの存在確認()
Dim ws As Worksheet
Dim flag As Boolean
For Each ws In Worksheets
If ws.Name = "〇〇" Then
flag = True
End If
Next ws
If flag Then
MsgBox "「〇〇」シートあり"
Else
MsgBox "「〇〇」シートなし"
End If
End Sub
Sub ブックが開いているか確認()
Dim wb As Workbook
Dim flag As Boolean
For Each wb In Workbooks
If wb.Name = "Book1.xlsx" Then
flag = True
End If
Next wb
If flag Then
MsgBox "Book1 は開いている"
Else
MsgBox "Book1 は開いてない"
End If
End Sub
'「temp」シートを末尾に移動
Worksheets("temp").Move after:=Worksheets(Worksheets.Count)
'「abc」シートを削除
Application.DisplayAlerts = False
Worksheets("abc").Delete
Application.DisplayAlerts = True
'Sheet1シートの前に「data」シートをコピー
Worksheets("data").Copy Before:=Worksheets("Sheet1")
'アクティブシートの一つ前にシートを追加
Worksheets.Add
'先頭に追加
Worksheets.Add Before:=Sheets(1)
'末尾に追加
Worksheets.Add After:=Sheets(Worksheets.Count)
’並べ替え
Range("セル範囲").Sort _
Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes
Range.Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)
Key1:最初の並べ替えフィールドを範囲名 (文字列) またはRangeオブジェクトで指定
Order1:xlAscending (昇順・既定値) / xlDescending (降順)
Header:xlNo (見出しなし・既定値) / xlYes (見出しあり)
前の設定(ワークシートで手作業でやった並べ替えのオプションも含む)が引き継がれるオプション
MatchCase/Orientation/SortMethodなど
' 重複データの削除 指定列 1列名
Range("セル範囲").RemoveDuplicates Columns:=1, Header:=xlNo
' 重複データの削除 指定列 複数
Range("セル範囲").RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlNo
Columns:重複をチェックする列の指定
Array 関数を使用して複数の列を指定(組み合わせで重複をチェック)
重複の判定は指定した列での完全一致
Header:ヘッダーがある場合、xlYes、ヘッダーがない場合、xlNoを指定
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
'★ 最後の「_」より後の文字を取り出す
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Function zfSliceRearStrRevUs(ByVal tStr As String) As String
zfSliceRearStrRevUs = Mid(tStr, InStrRev(tStr, "_") + 1)
End Function
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
'★ 最初の「_」より後ろの文字列を取り出す
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Function zfSliceRearStrUs(ByVal tStr As String) As String
zfSliceRearStrUs = Mid(tStr, InStr(tStr, "_") + 1)
End Function
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
'★ ファイルパス・ファイル名から拡張子のみを取り出す
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Function zfSliceFileNameExt(ByVal fName As String) As String
zfSliceFileNameExt = Mid(fName, InStrRev(fName, ".") + 1)
End Function
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
'★ ファイル名から拡張子なしのファイル名の取り出す
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Function zfSliceFileNameNoExt(ByVal fName As String) As String
Dim extName As String
extName = Mid(fName, InStrRev(fName, "."))
zfSliceFileNameNoExt = Replace(fName, extName, "")
End Function
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
'★ ファイルパスからファイル名(拡張子あり)を取り出す
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Function zfSliceFileName(ByVal filePath As String) As String
zfSliceFileName = Mid(filePath, InStrRev(filePath, "\") + 1)
End Function
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
'★ 全角半角のスペースを取り除く
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Function zfDeleteSpace(ByVal tStr As String) As String
Dim resStr As String
resStr = Replace(tStr, " ", "")
resStr = Replace(resStr, " ", "")
zfDeleteSpace = resStr
End Function
'新たなイベント発生の抑制------
Application.EnableEvents = False
'元に戻す------
Application.EnableEvents = True
'手動計算
Application.Calculation = xlCalculationManual
'再計算の実行
Application.Calculate
'自動計算
Application.Calculation = xlCalculationAutomatic
'計測開始
Dim myspeed As Double
Dim starttime As Double
starttime = Timer
'---------------------------
'計測終了
myspeed = Timer - starttime
Debug.Print "処理時間:" & myspeed & "秒"
'---------------------------
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
'上書き保存
Workbooks("Dummy.xlsx").Close SaveChanges:=True
'保存せずに保存
Workbooks("Dummy.xlsx").Close SaveChanges:=False
'指定したブックを開く(ドライブ名・・・拡張子)
Workbooks.Open Filename:="C:\・・・\test.xlsx"
'指定したブックを開き、オブジェクト指定
Dim wb as As Workbook
Set wb1 = Workbooks.Open(Filename:="C:\・・・\test.xlsx")
'最終行を取得する(A列を基準)
dim cnt as long
cnt = Cells(Rows.Count, 1).End(xlUp).Row
又は
cnt = Cells(Rows.Count, "A").End(xlUp).Row
'警告メッセージの停止
Application.DisplayAlerts = False
'警告メッセージを通常表示
Application.DisplayAlerts = True
'1秒間処理を中断する
Application.Wait Now + TimeValue("00:00:1")
Application.ScreenUpdating = False
Application.ScreenUpdating = True