我遇到了輕微問題的錯誤。目標代碼如下:允許用戶選擇要修改的工作表(HR1 - HR20),然後選擇原始工作表上要複製到選定工作表的單元格(單元格範圍)。Excel VBA查找/記錄用戶選擇
問題是用戶必須選擇他們想要更改的範圍,然後運行宏(通過按鈕),選擇工作表,然後重新設置範圍。如果他們只有在運行宏之前選擇了一個單元格,那麼即使在突出顯示該範圍之後,該宏也會複製該單元格的值,但在宏提示時他們需要更改該值。有沒有辦法告訴宏只使用選定的範圍?
Dim WSN As Worksheet
Set WSN = ActiveSheet
Dim sheetname As String
sheetname = ActiveSheet.Name
Unload Me
On Error GoTo Cancel
Dim rng As Range
Dim myString As String
Set rng = Application.InputBox("select cell range with changes", "Cells to be copied", Default:="Select Cell Range", Type:=8)
Application.ScreenUpdating = False
myString = Selection.Address(ReferenceStyle:=xlA1, RowAbsolute:=False, ColumnAbsolute:=False)
'MsgBox Selection.Address(ReferenceStyle:=xlA1, RowAbsolute:=False, ColumnAbsolute:=False)
Range(myString).Copy
If CheckBoxALL.Value = True Then
Sheets("Cost").Select
For i = 1 To 20
ActiveSheet.Next.Select
rngS = rng.Address
Range(rngS).Select
ActiveSheet.Paste
ActiveWindow.ScrollRow = 85
Next i
End If
If CheckBoxHR1.Value = True Then
Sheets("Cost").Next.Select
rngS = rng.Address
Range(rngS).Select
ActiveSheet.Paste
ActiveWindow.ScrollRow = 85
End If
那麼爲什麼用戶要先選擇範圍步?? – findwindow
步驟應該對sheet1進行更改,按下宏按鈕,通過userform選擇圖紙,選擇圖紙,單擊應用,然後選擇需要複製的區域。我的問題是,如果我剛剛在宏按鈕按下之前選擇了一個隨機單元格,宏將從隨機單元格中獲取數據而不是用戶突出顯示的範圍。 –