Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.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,在我的代码中,我有下面的IF和and语句,它不能正常工作 Private Sub CommandButton1_Click() Unload Me Dim iRow As Range Dim i As Long Dim ws As Worksheet Set ws = Worksheets("RewinderData") Set iRow = Range("x16:x100") For Each cell In iRow If cell.Value <> "" A

在我的代码中,我有下面的IF和and语句,它不能正常工作

Private Sub CommandButton1_Click()
    Unload Me
Dim iRow As Range
Dim i As Long
Dim ws As Worksheet
Set ws = Worksheets("RewinderData")
Set iRow = Range("x16:x100")


For Each cell In iRow
    If cell.Value <> "" And cell.Offset(0, 1).Value = "" Then
        cell.Offset(0, 1).Value = Me.textbox_quantity.Value
    End If
Next
Private子命令按钮1\u单击()
卸下我
暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗暗
我想我会坚持多久
将ws设置为工作表
设置ws=工作表(“倒带器数据”)
设置iRow=范围(“x16:x100”)
对于iRow中的每个单元格
如果单元格.Value“”和单元格.Offset(0,1).Value=”“,则
cell.Offset(0,1).Value=Me.textbox\u quantity.Value
如果结束
下一个
这是我的表单在通过“滚动数量”命令按钮输入数据之前的样子

这就是我输入一个数量后的样子,在这个例子中是20。即使Y单元不满足If and语句(为空),20也会计算到另一个单元。我故意在Y单元格中添加“---”,这样它就显示为一个错误的语句,但它不起作用。帮助


您是否尝试过调试此程序?i、 例如,逐行检查代码,检查语句部分是否存在明显的差异?例如,可能的非空白单元格看起来只是空的。为什么在
Unload Me
语句之后有代码?请确保您限定了引用。理想情况下,您应该使工作簿符合工作表的要求(activeworkbook[不太理想]或thisworkbook[更理想])。最好使用“set iRow=ws.range()”设置行范围。请确保在开始时将“cell”声明为Range,否则它默认为variant。在模块顶部添加“Option Explicit”。最后,一个明显的问题是为什么在开始时使用“Unload.Me”,但继续运行代码?我不知道如何调试它,因为我是vba宏新手。我在“调试”选项卡下选择了哪个选项?卸载我的代码是为了在输入信息后用户表单退出。