У меня есть лист с несколькими именованными таблицами Excel, которые копируют данные таблицы (в пределах определенного именованного диапазона) и вставляют их в другой лист для целей записи. Однако иногда может не быть данных, и я получаю ошибку во время выполнения. Поэтому я пытаюсь понять, как создать оператор al oop или if, чтобы пропустить эту таблицу и перейти к следующей, но мои навыки VBA ограничены некоторой записью и поиском в Google, и я теряюсь в том, как включить это в мой существующий код ...
Sub CopyTrackingHist()
' CopyTrackingHist Macro
Dim ws As Worksheet
Dim tblM As ListObject
Dim tblR As ListObject
Dim tblN As ListObject
Dim tblI As ListObject
Set ws = Sheets("Tracking")
Set tblM = ws.ListObjects("Maturities_Track")
Set tblR = ws.ListObjects("Rollovers_Track")
Set tblN = ws.ListObjects("NewDeal_Track")
Set tblI = ws.ListObjects("IntPay_Track")
Application.ScreenUpdating = False
'Daily Maturities Copied from Tracking Sheet to Historical sheet
Sheets("Tracking").Select
Range(tblM & "[[Date]:[Daily Flow Client Rate Interest Mar]]").Select
Selection.Copy
'Paste into Historical capture sheet
Sheets("Maturities_Hist").Select
Range("A1").Select
Range("A1").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Daily Rollovers copied to Historical Sheet
Sheets("Tracking").Select
Range(tblR & "[[Date Stlmt]:[Daily Flow Client Rate Interest Mar]]").Select
Selection.Copy
'Paste into Historical capture sheet
Sheets("Rollovers_Hist").Select
Range("A1").Select
Range("A1").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Daily New Deals table to Historical sheet
Sheets("Tracking").Select
Range(tblN & "[[Date Stlmt]:[Daily Flow Client Rate Interest Mar]]").Select
Selection.Copy
'Paste into Historical capture sheet
Sheets("NewDeals_Hist").Select
Range("A1").Select
Range("A1").End(xlDown).Offset(0, 0).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Daily Interest Payments copied to Historical Sheet
Sheets("Tracking").Select
Range(tblI & "[[Date]:[Daily Flow Client Rate Interest Mar]]").Select
Selection.Copy
'Paste into Historical capture sheet
Sheets("InterestPymts_Hist").Select
Range("A1").Select
Range("A1").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Конечный пользователь вводит информацию в каждую таблицу, поэтому я планирую использовать этот макрос перед другим макросом, который очищает и сбрасывает лист. Если вы также можете поделиться, как подключить это к существующему макросу, это было бы невероятно :) Я также открыт для отзывов и предложений, чтобы сделать код более эффективным;) Спасибо всем