2015-06-03 4 views
-1

Я прилагаю link с примерной таблицей.Создайте рабочий лист Excel на основе значений конкретных столбцов

Что я хотел бы сделать, это создать несколько рабочих листов, используя ключевой столбец «Facility», возможно, используя макрос. Например, я хотел бы создать новый лист с именем Houston и заполнить рабочий лист данными, относящимися к этой строке. Некоторые из ячеек могут оказаться в разных местах на новом рабочем листе. Мне нужно сделать отдельный лист для каждого значения в «Facility». Оригинал, над которым я работаю, имеет 270 строк (270 объектов).

Кто-нибудь знает, как это сделать? Я новичок в запуске и создании макросов. Я создал макрос, который не работает правильно.

+0

Привет. SO помогает вам справиться с проблемами в вашем коде, так почему бы вам не поделиться с вами кодом кода? Просмотрев код и предоставив информацию о том, что пошло не так, мы сможем помочь вам. – EngJon

+0

Простите, вот код, который я создал, создавая простой макрос. Кроме того, я приложил ссылку на новое изображение с строк и столбцов значений ...... HTTP: //imgur.com/z2DtfaD Sub Macro9() « » Macro9 Макро «» клавиш на клавиатуре: Ctrl + Q ' Selection.Copy Sheets.Add После: = Sheets (Sheets.Count) ActiveSheet.Paste Sheets ("Расписание") Выберите Range ("G4") Выберите Application.CutCopyMode = False.. Selection.Copy Листы («Лист1»). Выберите Диапазон («B1»). Выберите ActiveSheet.Paste Конец Sub – mercuryrsng

+0

Это не форматирование моего кода так, как я намеревался ..... – mercuryrsng

ответ

0

Попробуйте это:

Dim wks As Worksheet 
Dim lstRow As ListRow 

For Each lstRow In ThisWorkbook.Worksheets("Sheet1").ListObjects("Table1").ListRows 
    Set wks = ThisWorkbook.Worksheets.Add 
    wks.Name = lstRow.Range.Cells(, 1).Value 
    With wks 
     .Range(.Cells(1, 1), .Cells(1, lstRow.Range.Columns.Count)) = lstRow.Range.Value 
    End With 
Next 

Set wks = Nothing 

Предположение:

  • имени рабочего листа, где хранятся данные, называются Лист1
  • Таблица, содержащие данные являются ListObject (например, преобразовывать в диапазоне ваших данных в таблицу Excel)
  • ListObject name is Таблица 1
+0

Где я могу поместить этот код? Опять же, я новичок в этих передовых методах Excel. – mercuryrsng

+0

В модуле кода через ваш VBE. Сделайте быстрый поиск в Интернете о том, как вставить код в проект с поддержкой макросов. Есть тонны гидов, чтобы показать вам, как это сделать. – Tony

+0

OK Я добрался так далеко. Теперь, как мне запустить код, который я только что вставил? – mercuryrsng

Смежные вопросы