在VBA和Excel中进行Web抓取
我正在寻找从网站下载数据表到Excel中,并将特定的数据片段放入一个单独的工作表来创build一个数据库。 我无法parsing在Excel中导入到一个单元格中的数字。 例如,在网站上写入的数字“-7-110”被input到Excel中的一个单元格中,作为“= -7-110”,产生单元格内容“-117”。 当单元格突出显示时,原始= -7-110显示在公式栏中,但我不知道如何:a)按原样input数据并通过excelclosures自动成形;或者b)抓取特定单元格内容没有从细胞形成公式。
任何帮助表示赞赏 – 谢谢!
贾森
微软提供了三种方法来反制内置的数字格式:
避免自动数字格式化如果您想要键入一个值,如10e5,1p或1-2,并且您不希望将该值转换为内置数字格式,请将该数字键入为文本值。 要input一个数字作为文本值,使用下面的任何适当的方法。
方法1
在条目的开头放置一个空格。 注意:如果条目类似以科学记数法格式化的数字,此方法不起作用。 例如,键入1e9会产生一个科学数字。
方法2
- select一个单元格区域,然后单击格式菜单上的单元格。
- 点击数字标签。
- 单击文字,然后单击确定。
此方法允许您以文本forms将所选单元格中的数据键入。 在单元格中键入数字之前,您必须执行这些步骤。
方法3
在撇号之前input。
例如,键入以下内容:1 p
如果您在工作簿中进行更改,Adam已经涵盖了这些选项。
当然,你也可以用VBA准备直接从VBA导入数据的区域
.NumberFormat
属性。
要将范围或单元格的NumberFormat属性设置为“Text”,可以使用
.NumberFormat="@"
例如
Range("C:C").NumberFormat = "@"
将列C中的所有单元格转换为“文本”格式。
至于检索“-7-110”如果它被input到一般格式的单元格(并显示公式的结果,如-117),您可以访问
.Formula
电池的性质。
例如,如果上面的公式被input到单元格C1,下面的VBA代码
Range("C1").Formula
或等同地
Cells(1, 3).Formula
会返回string“= -7-110”。