Код, который я пытаюсь сделать, состоит из 2 частей. Первая часть, которую мне удалось сделать, но мне сложно определить вторую часть.автоматически ссылается на командную кнопку на значение ячейки
Первая часть: в текстовом поле вы заполнить номер проекта (например, 211), командная кнопка затем запускает макрос и заполняет это число в новой строке, создает таблицу с именем 211 (в пределах рабочей книги) и добавляет новую командную кнопку рядом с номером проекта.
Итак, идея состоит в том, что на главном листе есть целый список с номерами проектов, а рядом с каждым номером есть командная кнопка, которая идет на соответствующий рабочий лист. Таким образом, может легко быть 50 номеров проектов, 50 командных кнопок и 50 листов. Это код:
Dim MySheetName As String
Set pasteSheet = Worksheets("Mainsheet")
Dim aRange As Range
Dim sValue As Variant, findMe As Range, sWhere As Range
sValue = TextBox1.Value
Set sWhere = Range("B4:B700")
Set findMe = sWhere.Find(What:=sValue, After:=sWhere(1))
If findMe Is Nothing Then
LastRow = pasteSheet.Cells(pasteSheet.Rows.Count, "B").End(xlUp).Row
Worksheets("Mainsheet").Range("B" & LastRow + 1).Value = TextBox1.Value
With Worksheets("Mainsheet")
.CommandButton1.Copy
.Range("B" & LastRow + 1).Offset(0, 3).Select
.Paste
End With
Unload Me
Sheets("Copysheet").Copy After:=Sheets("Copysheet")
Range("C3") = TextBox1.Value
ActiveSheet.Name = TextBox1.Value
Else
Unload Me
MsgBox "Number already exists"
End If
Worksheets("Mainsheet").Activate
Range("A1").Value = 1
Вторая часть: Эта часть является для меня загадка. Теперь я хочу, чтобы каждая сгенерированная кнопка команды включала код, который автоматически переключается на рабочий лист.
E.g. если я создаю новый номер проекта 214 (автоматически заполненный ячейкой B5), кнопка команды в ячейке C5 выполняет поиск в ячейке B5 и переходит на этот рабочий лист. Если я сделаю еще один проект с именем 215 (в ячейке B6), командная кнопка в C6 проверит значение в B6 и т. Д. И так далее ...
Любая помощь приветствуется, спасибо.
Посмотрите на это: http://stackoverflow.com/a/9038809/4628637 Вам нужно создать класс, чтобы иметь возможность создавать элементы управления со встроенным кодом для событий! – R3uK
Я никогда раньше не работал с классами, посмотрю на это позже, спасибо. –