根据用户输入的单元格地址选择单元格的代码
我正在尝试在电子表格中创建一个代码,让用户输入工作表名称和单元格地址,然后选中该单元格,例如用户输入工作表名为“Data”、单元格为“B10”。代码随后在工作表“Data”中选中单元格B10。
This where I've got to so far:
Sub SelectCellBasedonUserInput()
Dim wksCellstoCopy As Worksheet
Dim wksCopiedData As Worksheet
Dim CopyCell As String
Dim CopyWks As String
Dim wksData As Worksheet
Set wksCellstoCopy = ThisWorkbook.Worksheets("Cells to Copy")
Set wksCopiedData = ThisWorkbook.Worksheets("Copied Data")
copyworksheet = wksCellstoCopy.Range("A2").Value
CopyCell = wksCellstoCopy.Range("C2).Value
End Sub
如何从CelltoCopy中取值,并用它来实际选中一个单元格?
解决方案
根据用户输入选择一个范围
Sub SelectCellBasedOnUserInput()
' Define constants.
Const INPUT_SHEET_NAME As String = "Cells to Copy"
Const INPUT_SELECT_SHEET_NAME_ADDRESS As String = "A2"
Const INPUT_SELECT_SHEET_RANGE_ADDRESS As String = "C2"
' Reference the workbook.
Dim wb As Workbook: Set wb = ThisWorkbook ' workbook containing this code
' Reference the Input sheet.
Dim wsInputs As Worksheet: Set wsInputs = wb.Sheets(INPUT_SHEET_NAME)
' Store the inputs (sheet name, range address) in variables.
Dim SelectSheetName As String: SelectSheetName = _
CStr(wsInputs.Range(INPUT_SELECT_SHEET_NAME_ADDRESS).Value)
Dim SelectSheetRangeAddress As String: SelectSheetRangeAddress = _
CStr(wsInputs.Range(INPUT_SELECT_SHEET_RANGE_ADDRESS).Value)
' Reference the Select sheet.
Dim wsSelect As Worksheet
On Error Resume Next
Set wsSelect = wb.Worksheets(SelectSheetName)
On Error GoTo 0
If wsSelect Is Nothing Then
MsgBox "There is no worksheet named """ & SelectSheetName & """!", _
vbExclamation
Exit Sub
End If
' Reference the Select range.
Dim rgSelect As Range
On Error Resume Next
Set rgSelect = wsSelect.Range(SelectSheetRangeAddress)
On Error GoTo 0
If rgSelect Is Nothing Then
MsgBox """'" & wsSelect.Name & "'!" & SelectSheetRangeAddress _
& """ is no valid range reference!", vbExclamation
Exit Sub
End If
' Select the Select range.
Application.Goto rgSelect
End Sub
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。
