Зависит от того, какие столбцы выбраны, создайте новый лист - PullRequest
0 голосов
/ 07 июня 2019

Я хочу создать новую таблицу из столбцов главной таблицы на основе o Мне удается создать код, но столбцы должны быть всегда одинаковыми, я хотел бы создать шаблон кода, который будет использоваться в столбцах, выбранных на главной вкладке, создает новую таблицу на новом листе и может отличаться от время для другого, чтобы я мог создать быстрый доступ, выберите мои столбцы, нажмите кнопку и сделали новую таблицу на новом листе

Sub CopyColumns()

    Sheets(Array("Sheet1", "Sheet2")).Select
    Sheets("Sheet1").Activate
    Columns("A:A").Select
    ActiveWindow.SelectedSheets.FillAcrossSheets Range:=Selection, Type:=xlAll
    Columns("B:B").Select
    ActiveWindow.SelectedSheets.FillAcrossSheets Range:=Selection, Type:=xlAll
    Columns("C:C").Select
    ActiveWindow.SelectedSheets.FillAcrossSheets Range:=Selection, Type:=xlAll
    Columns("D:D").Select
    ActiveWindow.SelectedSheets.FillAcrossSheets Range:=Selection, Type:=xlAll
    Sheets("Sheet1").Columns("E:E").Copy Destination:=Sheets("Sheet2").Range("E1")

    Sheets("Sheet1").Select

End Sub

Sub CopyColumns()

    Sheets(Array("Sheet1", "Sheet2")).Select
    Sheets("Sheet1").Activate
    Columns("A:A").Select
    ActiveWindow.SelectedSheets.FillAcrossSheets Range:=Selection, Type:=xlAll
    Columns("B:B").Select
    ActiveWindow.SelectedSheets.FillAcrossSheets Range:=Selection, Type:=xlAll
    Columns("C:C").Select
    ActiveWindow.SelectedSheets.FillAcrossSheets Range:=Selection, Type:=xlAll
    Columns("D:D").Select
    ActiveWindow.SelectedSheets.FillAcrossSheets Range:=Selection, Type:=xlAll
    Sheets("Sheet1").Columns("E:E").Copy Destination:=Sheets("Sheet2").Range("E1")

    Sheets("Sheet1").Select

End Sub

Выбор столбцов (не всегда одинаковых) и создание новой таблицы каждый раз, когда я запускаю код с другим выбором

1 Ответ

3 голосов
/ 07 июня 2019

Быстрый пример, если вы должны использовать свой выбор ...

Sub CopyColumns()

Dim mySel As Range
With ActiveWorkbook
    Set mySel = Selection.EntireColumn
    .Sheets.Add After:=Worksheets(Worksheets.Count)
    mySel.Copy Destination:=.Sheets(.Sheets.Count).Range("A1")
End With

End Sub

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...