Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 用户表单输入到下一个空单元格不工作_Vba_Excel_Userform - Fatal编程技术网

Vba 用户表单输入到下一个空单元格不工作

Vba 用户表单输入到下一个空单元格不工作,vba,excel,userform,Vba,Excel,Userform,我设置了一个Userform,将两个值输入到范围内的下一个可用单元格中。这方面的代码是: Private Sub BTNSUBMIT_Click () Dim I AsLong Dim X AsLong Sheets("Sales").Activate ActiveSheet.Range("B3").Activate Do While IsEmpty(ActiveCell.Offset(I, 0)) = False I = I + 1 Loop Activ

我设置了一个Userform,将两个值输入到范围内的下一个可用单元格中。这方面的代码是:

Private Sub BTNSUBMIT_Click ()

Dim I AsLong
Dim X AsLong

Sheets("Sales").Activate
ActiveSheet.Range("B3").Activate

    Do While IsEmpty(ActiveCell.Offset(I, 0)) = False
        I = I + 1
    Loop

ActiveCell.Offset(I, 0).Value = CBCLIENTS.Value

Sheets("Sales").Activate
ActiveSheet.Range("O3").Activate

    Do While IsEmpty(ActiveCell.Offset(X, 0)) = False
        X = X + 1
    Loop

ActiveCell.Offset(X, 0).Value = TBTONS.Value
End Sub
通过选择下一个空单元格,写入客户机或吨值,并将未来的输入写入下一个空单元格,这些操作将按预期进行。但是,我尝试使用相同的代码作为复选框来输入值,但它不起作用。相反,复选框会一直在活动单元格的顶部写入。代码如下:

Private Sub CHKTALCUM_Click()

Dim T As Long

Sheets("Sales").Activate
ActiveSheet.Range("C3").Activate

    Do While IsEmpty(ActiveCell.Offset(T, 0)) = False
        T = T + 1
    Loop

ActiveCell(T, 0).Value = TBTONSCHECK.Value
End Sub

我不知所措。如果有人能就同一代码行不起作用的原因提供一些见解,请毫不犹豫地回答。

您缺少复选框代码中的“偏移量”

ActiveCell.Offset(X, 0).Value = TBTONS.Value
相比

ActiveCell(T, 0).Value = TBTONSCHECK.Value

获取下一个空行的最佳方法是使用
单元格(Rows.Count,1).End(xlUp).row+1
假设您总是在A列中有数据。谢谢您,Rdster。我想今天我们了解了为什么在工作中休息是很重要的。是的,起来跑一圈。:)