Я пытаюсь создать процедуру циклирования, которая проходит через несколько листов и преобразует данные в таблицу. Я думаю, что мой код продолжает ломаться, потому что, очевидно, каждый массив может иметь только один экземпляр «Table1». У меня есть пара вопросов:Цитирование через рабочие листы для преобразования диапазона в таблицу
1: Есть ли способ динамически назвать каждую таблицу. Пример: укажите имя таблицы в заголовке рабочего листа?
2: как я могу создать код обработки ошибок, который выходит из подпрограммы, если уже существует существующая таблица. EX. Я уже запустил это в своей существующей книге, но добавил новый лист с необработанными данными и все равно должен преобразовать его в таблицу.
Вот что я до сих пор, все и вся помощь оценена (новый VBA)
Sub newTables()
' newTables Macro
' T
'
' Keyboard Shortcut: Ctrl+Shift+T
Dim rngSelectionRange As Range
Set rngSelectionRange = ActiveSheet.Range(Selection.Address)
For i = 1 To Worksheets.Count
Worksheets(i).Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
'where it breaks
ActiveSheet.ListObjects.Add(xlSrcRange, rngSelectionRange, , xlYes).Name = "Table1"
'Range("Table1[#All]").Select
'ActiveSheet.ListObjects("Table1").TableStyle = "TableStyleLight2"
'ActiveSheet.ListObjects("Employ").Name = "Employee_Data"
If ActiveSheet.ListObjects.Count > 1 Then
End If
Next i
End Sub
Спасибо! по какой-то причине, хотя после того, как он проходит первый лист, он переходит ко второму и дает «выбор класса диапазона с ошибкой». есть идеи? – chs
Вы только устанавливаете 'rngSelectionRange' для первого листа, но используете его каждый раз, когда вы определяете таблицу (это второй параметр). Я думаю, вы должны использовать только то, что вы выбрали, т. Е.' Выбор'? –