В настоящее время я работаю над документом Excel, в котором я хотел бы щелкнуть ячейку и открыть всплывающее окно с вариантами дополнительных командных кнопок на выбор. Когда пользователь нажимает на одну из кнопок внутри пользовательской формы, кнопка затем перемещает выделение этой строки A: G на другой лист. У меня будет несколько строк, и я хотел бы написать код, чтобы настроить его в поле, откуда была начата первоначальная команда. У меня есть первая кнопка и пользовательская форма заполнена, и она работает хорошо. Проблема заключается в следующем наборе кнопок для копирования, вставки и удаления строки. Вот что у меня так далеко. Любая помощь будет оценена.
Private Sub FireChief_Click()
Dim i As Long: i = 1
Dim n As Long
Dim nLastRow As Long
Dim lastRow As Integer
With ActiveSheet
For n = nReference To nLastRow Step 1
ActiveSheet.UsedRange
Set r = ActiveSheet.UsedRange
nLastRow = r.Rows.Count + r.Row + 1
Set Reference = Selection
Next Copy_to_Range()
ActiveWorksheets.Range("Reference").Copy
Destination = Worksheets("Fire Chief").Range("nLastRow")
Worksheets("Fire Chief").Columns("A:G").AutoFit
End Sub
Таким образом, вместо кода, перечисленного выше, я попытался переработать его с некоторыми предоставленными данными. По сути, это в некотором роде будет работать как документ Access, а когда кнопка нажата, она сделает всю работу для конечного пользователя. Я работаю в пожарном отделении и хотел бы облегчить это тем, кто должен им пользоваться. Есть 10 листов, с которыми мне нужно работать, и как только я найду один, я перепишу, чтобы соответствовать другому. Новый код ниже
Option Explicit
Sub BaseFireMarshal_Click()
End Sub
Sub FireChief_Click()
Dim i As Long: i = 1
Dim n As Long
Dim nLastRow As Long
Dim lastRow As Integer
Dim B As Integer
Dim R As Range
Set R = Sheet5.Range("A2:G999")
If Worksheets("ActiveSheet").Range("A:XFD").Copy_ = True Then
Dim continue As Boolean
continue = True
If continue = True Then
Worksheets("Sheet5").Activate
B = Worksheets("Sheet5").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Sheet5").Cells(B + 1, 1).Select
ActiveSheet.Paste
Worksheets("Fire Chief").Columns("A:G").AutoFit
Worksheets("Sheet5").Deactivate
End If
If Application.CutCopyMode = False Then
ThisWorkbook.Worksheets("ActiveSheet").Cells(1, 1).Select
End If
End Sub
Private Sub cmdClose_Click()
Unload Me
End Sub