我有两个值在Excel中的同一列。我选择其中一个并运行以下命令:vba Excel访问:零长度字符串为空数
Debug.Print IsNumeric(Selection), _
VarType(Selection), _
VarType(Trim(Selection)), _
">" & Selection.Value & "<", _
Len(Trim(Selection)), _
Len(Selection), _
Selection.NumberFormat
然后,我选择其他并运行相同的调试。
而且我得到这个:
- 真,5,8,> 9.46979663546499 <,16,16,一般
- 假,8,8,> <,0,0,一般
注:该列中多次出现两个
- 有人能解释一下吗?我一直在vba'ing和Excel'很长一段时间,但我仍然没有(详细)Excel的数字格式,以及如何最好地与他们合作。我想我有它,然后我总是偶然发现这样的新事物。
- 在这种情况下,我的目标是让MS Access自动理解这个列是一个double/number/float/whatever列,当我导入并且不会抛出错误时它可以是NULL。在导入之前,我必须通过在Excel中格式化/更改它来实现此目的。 (部分原因是因为这对我的客户端流程来说效果最好,部分原因是我最终想到了这个问题......不能相信我还没有!)我有超过2000行来更改每列,所以解决方案一次格式化整个列的做法是最好的,而不是一次一个单元格。
谢谢!
你期望输出看起来像什么?你选择的是什么? –
S O - 我想知道如何使用VBA和格式或转换使数据类型(VarType(Trim(Selection)))在Excel中相同。 N8确实“解决”了问题,但我仍然对原始问题没有更好的理解。如果您有任何意见,那就太棒了! – mountainclimber
你如何将它导入到Access? Via Access'导入过程?复制和粘贴? VBA? –