楼主 LOGO |
今天在VBA中用ADO进行查询时会遇到如下图所示的问题: 遇此这问题可以执行ADO查询前先通过代码设置源数据所在工作表的单元格格式,这样就有可能避免此问题的出现。 测试中发现通过VBA+ADO执行查询后源数据所在工作表的数据会跟着发生变化,如原来的单元格格式是常规格式的,但执行了一次查询后,再去源数据所在工作表中去查看时发现数据的格式已经发生了变化(原来是文本格式的仍为文本格式,只是原来为常规格式的数字的单元格格式已经变为了文本,如下图所示: 于是猜想是不是因为用VBA代码执行了ADO查询才会导致此种情况的出现,以至VBA代码无误的情况下查询不成功 所以在ADO查询语句前添加了一句代码(如:Worksheets("宝贝报表").UsedRange.NumberFormatLocal = "G/通用格式") ,将源数据所在工作表数据的单元格格式强制设置为常规,再进行下一步的ADO查询。 添加后发现上面所说的那个问题再也没有出现。 注:此法未经严格测试,仅供参考。 |