先駆者が作られたVBAがわからず困ってます。
このコードを使うと該当の箇所からエクセルが順次作られていきますが普通にコードを動かすとエクセルが作られる速度がかなり遅いです。そのため該当のデータを入力したあとにデータが入っているところの一番下以降と一番右以降の部分を全削除してからこのコードを行うとわりとスムーズにエクセルが作られます。なぜ削除しないと遅くなってしまうのかもわからない状態です。この削除作業を行わないようにするにはどの部分を修正するか何かコードを追加したらできるのか教えて頂きたいです。ちなみに配信一覧_11行目はA列全部が選択されており配信一覧_11行目2はA列からAS列全体を範囲にしておりました。
Sub ファイル作成11行目()
Application.ScreenUpdating = False
Set motoRng = Range("配信一覧_11行目")
myFld = 1
Set criRng = Range("抽出リスト")
Set motoRngAll = Range("配信一覧_11行目2")
Set windowset = Range("window")
Set Mypass = Range("password")
Dim tmpName As String
For Each tmpRng In criRng
'該当シート作成
motoRng.AutoFilter myFld, tmpRng
Set tmpSht = Sheets.Add(after:=Worksheets(Sheets.Count))
motoRngAll.Copy
With tmpSht
.Range("A1").PasteSpecial 8
.Range("A1").PasteSpecial xlPasteAll
.Name = tmpRng.Value
End With
'xls新規作成
ActiveWindow.SelectedSheets.Copy
ActiveWorkbook.Worksheets(tmpRng.Value).Activate
'オートフィルターの設定
'ActiveSheet.Range("$A$3:$BK$3").AutoFilter
'Columns("A:D").Select
'Application.CutCopyMode = False
'Selection.Delete Shift:=xlToLeft
Columns("AOM:XFD").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Rows("20000:20000").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
ActiveWindow.DisplayGridlines = False
Range(windowset.Value).Select
ActiveWindow.FreezePanes = True
Cells.Select
With Selection.Font
.Name = "Meiryo UI"
.Size = 9
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
Range("A1").Select
With Selection.Font
.Name = "Meiryo UI"
.Size = 12
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
'Cells.EntireColumn.AutoFit
'Range("A1").Select
'Columns("A:A").ColumnWidth = 25.5
ActiveWindow.DisplayGridlines = False
'ファイル名指定
Application.DisplayAlerts = False
ActiveWorkbook.CheckCompatibility = False
'ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Range("A1") & "【" & tmpRng & "様】.xls", FileFormat:=xlWorkbookNormal, _
Password:="KDDI" & Mypass
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & "【" & tmpRng & "様】" & Range("A1") & ".xlsx", FileFormat:=xlWorkbookDefault, _
Password:="KDDI" & Mypass
'ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & "(" & tmpRng & "様)" & Range("A1") & ".xls", FileFormat:=xlWorkbookNormal, _
Password:="KDDI" & Mypass
'差異見本選択して閉じる
Range("A1").Select
Application.DisplayAlerts = False
ActiveWorkbook.CheckCompatibility = False
ActiveWorkbook.Save
'ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
ActiveWorkbook.Close
Application.DisplayAlerts = True
'元xlsの後片付け
Sheets("設定").Select
Application.DisplayAlerts = False
Worksheets(tmpRng.Value).Delete
Application.DisplayAlerts = True
Next
ThisWorkbook.Activate
Application.Goto motoRng
ActiveSheet.ShowAllData
Application.ScreenUpdating = True
Sheets("設定").Select
MsgBox "11行目ファイル作成終了"
End Sub