Excel VBA -从另一个单元格值获取区域的单元格行

slsn1g29  于 2023-04-13  发布在  其他
关注(0)|答案(1)|浏览(248)

我有以下代码:

Sub Button7_Click()
Worksheets("Contracts").Range("AI2").Value = _
InputBox(Prompt:="registrera kontrakts-id.")
End Sub

当使用上面的代码时,单元格AI2在“合同”工作表上被更新。
但是,我需要从当前工作表的单元格C2中的值获取行号。
我试过这样的方法,但它不起作用:

Worksheets("Contracts").Range("AI" & C2).Value = _

我怎样才能获得使用静态列id(AI)的“范围”,但从单元格C2中选取行?

hyrbngr7

hyrbngr71#

有很多方法可以做到这一点,可能最接近你的问题的是这一个:

Sub Button7_Click()
    dim myRow as long
    myRow = ActiveSheet.Range("C2")
    ActiveSheet.Range("AI" & myRow).Value = _
    InputBox(Prompt:="registrera kontrakts-id.")
End Sub

另一个是ActiveSheet.Cells(myRow, "AI").Value
在这种情况下,使用它绝对是ok,但在许多其他情况下ActiveSheetis something to avoid
一般来说,一些“健全性”检查,Range("C2")中的值是否有效可能是有用的,只要它是空的,文本,负数或零,就会发生错误。

Sub Button7_Click()

    Dim myRow As Long
    myRow = ActiveSheet.Range("C2")
    
    If Not IsNumeric(myRow) Then
        MsgBox "C2 is not numeric!"
        Exit Sub
    ElseIf myRow <= 0 Then
        MsgBox "C2 is smaller or equal than 0!"
        Exit Sub
    End If
    
    ActiveSheet.Range("AI" & myRow).Value = InputBox(Prompt:="registrera kontrakts-id.")
    
End Sub

相关问题