Код Excel для створення декількох копій аркуша, копії назви на основі списку в іншому аркуші


-1

Я відносно базовий користувач Excel і потрібна допомога в тому, що я можу знати, але занадто складний для мене, щоб з'ясувати.

В основному, у мене є список в аркуші Excel (так званий «Список»), і кожен запис у списку буде вимагати власний аркуш, скопійований з оригіналу, який вже був створений (так званий «RJF»). Список починається в рядку 6.

У стовпці А в аркуші "Список" є код для кожного елемента списку. Колонка B має назву кожного елемента списку.

Для кожного елемента у списку значення для стовпця А необхідно використовувати для назви скопійованого аркуша, а також перетягнути до осередку A1 копії. Запис у стовпці B повинен пройти до осередку B1 копії.

Будь ласка, хтось може допомогти мені в цьому? Я знайшов подібні запити з відповідями, але завжди з додатковими вимогами, які я не знаю, як видалити, не впливаючи на аспекти, які я хочу.


Ласкаво просимо до Суперкористувача. Ми не є службою написання сценаріїв. Ми сподіваємося, що користувачі повідомлять про те, що вони намагалися до цих пір (включаючи будь-які сценарії, які вони використовують) і де вони застрягли, щоб ми могли допомогти з певними проблемами. Питання, які запитують лише сценарії, занадто широкі і, ймовірно, будуть покласти на утримання або закрити . Будь ласка, прочитайте Як мені поставити хороше запитання? .
DavidPostill

Будь ласка, надайте макет або скріншоти, щоб люди могли зрозуміти природу та структуру даних. Ваш опис занадто неоднозначний. Ви можете використовувати коментар, щоб включити посилання на скріншоти в службі обміну, наприклад imgur.com.
fixer1234

Відповіді:


0

Я оригінальний плакат. Приносимо вибачення за те, що ви не розмістили у відповідності до звичайної практики. Я знайшов деякий код, подібний до того, що мені було потрібно у відповіді на досить схожий запит. Я пристосував його до того, що мені було потрібно:

Sub MoreAndMoreSheets()

Dim ListSh As Worksheet, BaseSh As Worksheet
Dim NewSh As Worksheet
Dim ListOfNames As Range, LRow As Long, cell As Range

With ThisWorkbook
    Set ListSh = .Sheets("List")
    Set BaseSh = .Sheets("Base")
End With

LRow = ListSh.Cells(Rows.Count, "A").End(xlUp).Row '--Get last row of list.
Set ListOfNames = ListSh.Range("A6:A" & LRow) '--Qualify our list.

With Application
    .ScreenUpdating = False '--Turn off flicker.
    .Calculation = xlCalculationManual '--Turn off calculations.
End With

For Each cell In ListOfNames '--For every name in list...
    BaseSh.Copy After:=Sheets(Sheets.Count) '--Copy Base sheet.
    Set NewSh = ActiveSheet '--Let's name it NewSh.
    With NewSh
        On Error GoTo Boom '--In case of errors.
        .Name = cell.Value '--Set the sheet's name to that of our current name in list.
        GoTo LetUsContinue '--Skip to the LetUsContinue block.
Boom: '--In case of duplicate names...
        .Name = "Dup" & cell.Value '--Add "Dup" to beginning.
        .Tab.ColorIndex = 53 '--Change the tab color of the duplicate tab to orange for easy ID.
LetUsContinue:
        On Error GoTo 0 '--Turn off error handling.
        .Range("A1") = cell.Value
        .Calculate '--Calculate page.

    End With
Next cell

With Application
    .ScreenUpdating = True '--Return to proper state.
    .Calculation = xlCalculationAutomatic '--Return to automatic calculation.
End With

BaseSh.Activate '--Select Base.
MsgBox "Done!" '--Done!

End Sub

Я використав вікно перегляду з посиланням на аркуш списку в комірці B1 базового листа, який виконав те, що я хотів щодо другого стовпця, що проходить через:

= VLOOKUP (A1, "Список"! A6: B500,2, FALSE)

Завдяки TheLaughingMan, чи повинен він коли-небудь читати це, як його був код, який я адаптував.


2
Ви випадково створили два облікові записи, можливо, створивши незареєстровані облікові записи на декількох пристроях. Спочатку треба зареєструвати обліковий запис а потім використовуйте Контактний формуляр і виберіть "Мені потрібно об'єднати облікові записи", щоб об'єднати ваші облікові записи. Щоб об'єднати їх, вам необхідно надати посилання на два облікові записи, для отримання інформації про них superuser.com/users/517729/user517729 і superuser.com/users/517806/user517729 . Після цього ви зможете редагувати, коментувати та приймати відповіді на це запитання.
Mokubai
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.