我使用 Excel 宏来创建填充给定 csv 文件数据的新工作簿。一列对用户输入某些属性值是开放的。这些值必须适合数据类型和特定格式才能被另一个处理系统接受,这里有一些示例:
- 值 A:格式为“@”的字符串值
- 值 B:整数值,格式为“#”
- 值 C:浮点值,格式为“#.##0,0###”
- 值 D:十进制值,格式为“#.##0,0#”
现在我想添加一个验证来检查输入的输入值是否可以处理或必须更改,例如:
- 不能在小数字段中输入字符串值
- 所有数字格式的字段都不接受负值
如何设置此验证?我对 VBA 很陌生,不知道最好的方法。到目前为止我发现的可能性:
通过 Worksheet.Range.Validation 添加验证,但我不知道如何设置 Formula1 以检查正确的值。
通过 Worksheet_Change,这里的问题是我创建了新的工作簿,它显然不包含我在程序代码中编写的 Worksheet_Change,因为它是一个新的工作簿。
那么最好的方法是什么?