Щоб виконати такі дії:
- Копіювати певний "шаблон" -тест стільки разів, скільки кількість комірок, вибраних в базі даних майстра
- Створюйте робочі таблиці (з іменами) на основі вибраного діапазону комірок
- На основі імені новоствореного аркуша - оновлення однієї з комірок
- Використовуйте
VLOOKUP
функціональні можливості для витягання інших значень на основі оновлюваної в кроці 3 клітинки.
У мене є такий код VBA:
Sub CreateWorkSheetByRange()
'variable declaration
Dim WorkRng As Range
Dim Ws As Worksheet
Dim arr As Variant
Dim tws As Worksheet
'Start of Program
On Error Resume Next
'Specify the title of the dialog that requests for range
xTitleId = "Select Range"
' Assign template worksheet to a variable
Set tws = Worksheets("template")
' Assign the application.selection function to the variable WorkRng
Set WorkRng = Application.Selection
' Accept input from the user
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
' Create an array of the input values
arr = WorkRng.Value
' The following line is optional
' Application.ScreenUpdating = False
' Create the Worksheet names based on range selected
For i = 1 To UBound(arr, 1)
For j = 1 To UBound(arr, 2)
tws.Copy after:=Worksheets(Sheets.Count)
Set Ws = Application.ActiveSheet
Ws.Name = arr(i, j)
Next
Next
' Application.ScreenUpdating = True
End Sub
Я хотів би поліпшити наступні речі в моєму коді - але не знаю як
- Хочете знати, чи є код ефективним - або виправлено помилку
- Я хочу поширювати це на групу інженерів - як я можу це зробити. Я не повинен вважати, що вони знають, як використовувати цей код у VBA - чи можна це зробити, як виконуваний excel?
@heavyd Як ви зробили підсвічування синтаксису за допомогою позначки? Зараз виглядає відмінно ... Спасибі!
—
Prasanna
Мабуть, використання
—
heavyd
<code>
тегів викликає різне форматування з вбудованого форматування відмітки (тобто префікс рядка з 4 пробілами).
Ви завжди повинні віддавати перевагу форматуванню, а не HTML-коду для форматування. З одного боку, це дозволяє підсвічувати синтаксис . Мова підсвічування розроблена з тегів у запиті, але може бути перевизначена.
—
Mokubai
Want to know if the code is efficient - or bug free
- так само кожен, хто пише код! Вам потрібно знайти ефективний спосіб уловлювати помилки і реєструвати їх, ми не можемо сказати, чи буде вище / ніколи не випускати проблеми! А щоб відповісти на номер 2, ви вказуєте їх на superuser.com/questions/801609/how-do-i-add-vba-in-ms-office ! Вони є інженерами і працюють з VBa досить тривіальним завданням!
@Dave Дякуємо за вашу пораду з питання-1. Я новачок у VBA - моя мета розміщення цього коду полягала в тому, щоб з'ясувати, чи є ефективні способи зробити те ж саме, що і код. Я згоден з вами на
—
Prasanna
bug free
частині, як ви правильно вказали. Для питання-2 - я планую надіслати посилання, надане разом із кодом how to use the VBA code
. Дуже дякую!