在excel VBA中如何判定单元格中的数据类型是整数还是其他呢?

如果可以大虾帮我写段代码吧,我写的老是提示错误13,问题1.主要用意是对a列里面的数值进行判定,如果是整数且大于1那就在本行执行插入一行,如果不是整数类型或为空值的就不操... 如果可以大虾帮我写段代码吧,我写的老是提示错误13,
问题1.主要用意是对a列里面的数值进行判定,如果是整数且大于1那就在本行执行插入一行,如果不是整数类型或为空值的就不操作
问题2.想要返回被选定行的行数值该如何写代码?
先谢谢了!~
你的这两个代码我都试过,怎么还是有错误13:类型不匹配,难道我这边程序的问题?呵呵
这里要说明下的是a列数据中有字符主要是区分数与字符!~忘了说了!~呵呵前辈这里所说的int()应该是判定数值是不是整数的!没有考虑是不是字符呢!~~呵呵
展开
 我来答
阳光上的桥
2015-12-17 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65789
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部

在VBA里面,可以使用VarType获得变量以及单元格的数据类型,数值类型值为5(vbDouble)、空类型为0(vbEmpty)、字符串类型为8(vbString )。


例子代码1:显示A1单元格的数据类型

Sub test()
    MsgBox VarType([a1])
End Sub



例子代码2:判断A1单元格数据类型是否数值

Sub test()
    If VarType([a1]) = vbDouble Then
        MsgBox "A1是数值类型"
    Else
        MsgBox "A1不是数值类型"
    End If
End Sub


实际上VB还有vbLong、vbDecimal等类型,但单元格为数值时默认是vbDouble。

qgrmdtj
2008-12-13 · TA获得超过5689个赞
知道大有可为答主
回答量:1619
采纳率:0%
帮助的人:0
展开全部
那你试试下面这样,先判断是否为数

1,
Sub qgrmdtj()
For i = [a65536].End(xlUp).Row To 1 Step -1
If IsNumeric(Cells(i, 1)) Then
If Cells(i, 1) = Int(Cells(i, 1)) And Cells(i, 1) > 1 Then
Rows(i).Insert
End If
End If
Next
End Sub
--------------------------

2,
Sub qgrmdtj()
For i = [a65536].End(xlUp).Row To 1 Step -1
If IsNumeric(Cells(i, 1)) Then
If Cells(i, 1) = Int(Cells(i, 1)) And Cells(i, 1) > 1 Then
msgbox i'弹出消息框显示行数
End If
End If
Next

End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式