Я просмотрел этот и другие форумы, чтобы создать код для выполнения этой задачи.У меня нет опыта работы с VBA, поэтому, пожалуйста, будьте осторожны.
По сути, я бы хотел, чтобы пользователь заполнил форму Excel и нажал кнопку.Кнопка будет ссылаться на то, что было выбрано в ячейке K4, а затем на основе этого выбора скопировать скрытый лист в новую книгу и затем предложить пользователю сохранить.
Код, который я использую:
Private Sub RSM_Click()
Dim newWkbk As Workbook
Dim newWksht As Worksheet
Dim wksht As Worksheet
Dim test As String
If StrComp(Me.Range("K4").Text, "INTERNAL USB", vbTextCompare) = 0 Then
test = "RSM_InternalUSB"
ElseIf StrComp(Me.Range("K4").Text, "INTERNAL 24 HR", vbTextCompare) = 0 Then
test = "RSM_Internal24Hr"
Else
test = "RSM_External"
End If
For Each wksht In ThisWorkbook.Worksheets
If wksht.Name = test Then
wksht.Visible = xlSheetVisible
Set newWksht = wksht.Copy
newWksht.Name = "RSM Onboarding Guide"
Set newWkbk = newWksht.Parent
End If
Next wksht
Dim varResult As Variant
Dim ActBook As Workbook
'displays the save file dialog
varResult = Application.GetSaveAsFilename(FileFilter:= _
"Excel Files (*.xlsm), *.xlsm", Title:="RSM Guide", _
InitialFileName:="\\Onboarding\")
'checks to make sure the user hasn't canceled the dialog
If varResult <> False Then
ActiveWorkbook.SaveCopyAs Filename:=varResult
Exit Sub
End If
End Sub
Однако я получаю
Ошибка компиляции: ожидаемая функция или переменная
на цепочке Set newwksht = wksht.Copy
.Копия ему не нравится.
Я даже не знаю, сработает ли часть сохранения, так как я не смог пройти через это