У меня проблема. На моей работе мы часто получаем таблицы с указанием местоположения. Нам нужно разложить каждое из мест на разные рабочие листы. Потому что тогда мы перечисляем близлежащие предприятия для рекламы. Это не было большой проблемой, когда нам давали электронные таблицы с 5 местоположениями, но совсем недавно мы получали листы с более чем 100 местоположениями на одном листе.
Я хочу сделать функцию, которая принимает данную строку, принимает первое значение и превращает ее содержимое (номер местоположения) в новый лист. Скопируйте эту строку на лист, названный для нее, и вставьте ее. Это мой текущий код. У меня проблемы с "Несоответствие типов" и "Требуется объект". Есть предложения по этим вопросам?
Sub TestRowThree() Dim row As Integer row = 3 CopyRow (row) End Sub Sub CreateNewSheet(strName As String) Sheet.Add.Name = strName End Sub Sub CopyRow(rowNum As Integer) Dim mainSheetName As String mainSheetName = ActiveWorkbook.ActiveSheet.Name Dim newSheetName As String newSheetName = Sheets(mainSheetName).Range("$A$" & rowNum).Value Sheets(mainSheetName).Select Range("A" & rowNum & ":H" & rowNum).Cut CreateNewSheet (newSheetName) Sheets(newSheetName).Select Range("A" + rowNum + ":H" + rowNum).Select ActiveSheet.Paste End Sub