VBA看看我错在哪了 我是向C列=A+B 切 为空值时 C也显示空值 别显示0
Subdd()DimiFori=1To65536IfRange(a&"i")=""AndRange(b&"i")=""ThenRange(c&"i")=""Else:Ra...
Sub dd()
Dim i
For i = 1 To 65536
If Range(a & "i") = "" And Range(b & "i") = "" Then
Range(c & "i") = ""
Else: Range(c & "i") = Range(a & "i") + Range(b & "i")
End If
Next i
MsgBox Range("c65536").End(3).Row
End Sub 展开
Dim i
For i = 1 To 65536
If Range(a & "i") = "" And Range(b & "i") = "" Then
Range(c & "i") = ""
Else: Range(c & "i") = Range(a & "i") + Range(b & "i")
End If
Next i
MsgBox Range("c65536").End(3).Row
End Sub 展开
3个回答
展开全部
引号应该引到a b c这些字母上
"a"& i 这样写才对。另外,养成好习惯,用tab键,把代码写成块状,易于看清楚条理方便检查
For i = 1 To 65536
If Range("a" & i) = "" And Range("b" & i) = "" Then
Range("c" & i) = ""
Else
Range("c" & i) = Range("a" & i) + Range("b" & i)
End If
Next i
MsgBox Range("c65536").End(3).Row
"a"& i 这样写才对。另外,养成好习惯,用tab键,把代码写成块状,易于看清楚条理方便检查
For i = 1 To 65536
If Range("a" & i) = "" And Range("b" & i) = "" Then
Range("c" & i) = ""
Else
Range("c" & i) = Range("a" & i) + Range("b" & i)
End If
Next i
MsgBox Range("c65536").End(3).Row
展开全部
Sub dd()
Dim i
For i = 1 To Range("A65536").End(3).Row
If Cells(i, 1) ="" and Cells(i, 2)="" Then
Cells(i, 3) = ""
Else
Cells(i, 3) = Cells(i, 1) + Cells(i, 2)
End If
Next i
MsgBox Range("c65536").End(3).Row
End Sub
Dim i
For i = 1 To Range("A65536").End(3).Row
If Cells(i, 1) ="" and Cells(i, 2)="" Then
Cells(i, 3) = ""
Else
Cells(i, 3) = Cells(i, 1) + Cells(i, 2)
End If
Next i
MsgBox Range("c65536").End(3).Row
End Sub
更多追问追答
追问
你好 能帮我看看我错在哪了吗?就是用RANGE写我错在哪了
追答
Range(a & "i")改成
Range(“a” & i)
其他的。。。。
用这句可节省程序运行时间
For i = 1 To Range("A65536").End(XLUP).Row
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你应该在字母上打双引号,而不是变量i上打双引号
Sub dd()
Dim i
For i = 1 To 65536
If Range("a" & i) = "" And Range("b" & i) = "" Then
Range("c" & i) = ""
Else: Range("c" & i) = Range("a" & i) + Range("b" & i)
End If
Next i
MsgBox Range("c65536").End(3).Row
End Sub
VBA中:
1、没有变量:
range("A1")对应的是A1单元格
range("A1:A2")对应的是A1:A2这个范围
2、有变量:
但是1中表示的是一个固定的单元格或者范围,如果定义了变量,需要用到其中,应该怎么做呢?
如:定义R为行,那么应该这样表示:
Range("A" & R & ":A" & R+1),如果此时R=1,那么这个公式表示A1:A2
仔细看这个公式:
A用了双引号,表示格式为:"A",这是列标,是固定的常量,用""来表示。
而R是一个变量,不能用""来表示,变量和常量(需要固定的格式)之间用: & 来连接。"&"两边各有一个空格。
Sub dd()
Dim i
For i = 1 To 65536
If Range("a" & i) = "" And Range("b" & i) = "" Then
Range("c" & i) = ""
Else: Range("c" & i) = Range("a" & i) + Range("b" & i)
End If
Next i
MsgBox Range("c65536").End(3).Row
End Sub
VBA中:
1、没有变量:
range("A1")对应的是A1单元格
range("A1:A2")对应的是A1:A2这个范围
2、有变量:
但是1中表示的是一个固定的单元格或者范围,如果定义了变量,需要用到其中,应该怎么做呢?
如:定义R为行,那么应该这样表示:
Range("A" & R & ":A" & R+1),如果此时R=1,那么这个公式表示A1:A2
仔细看这个公式:
A用了双引号,表示格式为:"A",这是列标,是固定的常量,用""来表示。
而R是一个变量,不能用""来表示,变量和常量(需要固定的格式)之间用: & 来连接。"&"两边各有一个空格。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询