用户表单中的复选框数据

时间:2018-07-16 13:38:19

标签: excel vba userform

我在将我创建的excel用户窗体的复选框信息返回到excel数据库时遇到问题。它将继续在我的excel工作簿中放置活动工作表而不是工作表2。

Sub CheckBox2_Click()

    Dim iRow As Long

    iRow = Range("A" & Rows.Count).End(xlUp).Offset(1).Row

    If CheckBox2 Then
        Range("G" & iRow) = "Received"
    Else
        Range("G" & iRow).ClearContents
    End If
End Sub

我以为我需要设置以下内容才能使其正常工作,但这没有帮助。

 iRow = Application.Workbooks("PIDParcelUtilities.xlsm").Worksheets("PIDParcelUtilitiesData").Range("A" & Rows.Count).End(xlUp).Offset(1).Row

1 个答案:

答案 0 :(得分:3)

  

它会一直放置活动工作表

那是设计使然。

iRow = Range("A" & Rows.Count).End(xlUp).Offset(1).Row

Range指的是哪个工作表?

Range("G" & iRow) = "Received"

在类模块(Range是类)中的不合格UserForm调用隐式引用了ActiveSheet

拉出您要使用的工作表对象引用:

Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("PIDParcelUtilitiesData")

然后您可以使用来限定这些Range通话:

iRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Offset(1).Row

If CheckBox2 Then
    ws.Range("G" & iRow) = "Received"
Else
    ws.Range("G" & iRow).ClearContents
End If