VBA编号(11-01)作为excel中的文本/编号

时间:2012-11-08 11:58:30

标签: vba excel-vba excel

我创建了VBA excel脚本以从网站获取数据。

当它捕获11-01时,Excel会自动转换为11月1日(11/01/2012),而不是原来的11-01。

将11-01转换为11月1日的方法是什么?

Address         Unit   Postal
JALAN LEMPHENG  11-01  128791

感谢。

Set clip = New DataObject
clip.SetText "<html><table><tr>" _
& "<td>" & ieSearchGet.outerHTML & "</td>" _
& "</tr></table></html>"
clip.PutInClipboard
ActiveCell.Offset(1, 0).Select
Do While Not IsEmpty(ActiveCell)
    ActiveCell.Offset(1, 0).Select
Loop
ActiveSheet.PasteSpecial "Unicode Text"

2 个答案:

答案 0 :(得分:2)

我认为最好的方法是在执行此操作之前,只更改要粘贴数据的单元格的格式。以下是否有效?

Set clip = New DataObject
                clip.SetText "<html><table><tr>" _
                & "<td>" & ieSearchGet.outerHTML & "</td>" _
                & "</tr></table></html>"
                clip.PutInClipboard
                ActiveCell.Offset(1, 0).Select
                Do While Not IsEmpty(ActiveCell)
                    ActiveCell.Offset(1, 0).Select
                    Selection.NumberFormat = "@" 'Format as Text the selected cell
                Loop
                ActiveSheet.PasteSpecial "Unicode Text"

答案 1 :(得分:0)

您可以尝试在粘贴文本之前添加字符“'”(即单引号)。

我从未尝试过这样做,所以这可能不是正确的代码。您可能需要进行实验。但这是一个开始:

clip.SetText "<html><table><tr>" _
    & "<td>'" & ieSearchGet.outerHTML & "</td>" _
    & "</tr></table></html>"