2010-02-15 93 views
0

我正在尋找將網站的數據表格下載到Excel中,並將特定數據片段拖入單獨的工作表以創建數據庫。我無法解析導入到Excel中的一個單元格中的數字。例如,在網站上寫入的數字「-7-110」在Excel中輸入到一個單元格中,作爲「= -7-110」,產生單元格內容「-117」。當單元格突出顯示時,原始值= -7-110會顯示在公式欄中,但我不知道如何a)按原樣輸入數據並通過excel關閉自動格式化,或b)抓取特定單元格內容而沒有從細胞形成公式。在VBA和Excel中抓取網頁

任何幫助表示讚賞 - 謝謝!

傑森

回答

2

微軟提供three methods以便回擊內置數字格式:

避免自動數字格式 如果你想輸入這樣的值, 10E5,1個p或1 -2,並且您不希望 將該值轉換爲 內置數字格式,請輸入 作爲文本值。要將 號碼作爲文本值輸入,請使用以下任何一種 適當的方法。

方法1
放置在入口的一個空格開頭。 注意:如果條目類似於以科學記數法格式化的數字,則此方法不起作用。例如,鍵入1e9會產生一個科學數字。

方法2

  1. 選擇單元範圍,然後單擊格式菜單上的單元格。
  2. 單擊數字選項卡。
  3. 單擊文字,然後單擊確定。

此方法允許您將所選單元格中的數據鍵入爲文本。在鍵入單元格中的數字之前,您必須執行這些步驟。

方法3
在帶有撇號的條目前面。
例如,鍵入以下內容:'1 p

+0

您也可以在VBA中直接添加撇號。 – guitarthrower

+0

@guitarthrower:謝謝你補充一點。 – bernie

1

如果您在工作簿中進行更改,Adam已經涵蓋了這些選項。

當然,也可以使用

.NumberFormat 

屬性製備到其中的數據被直接從VBA導入的區域。

要設置一個區域或單元格/秒的NumberFormat屬性爲「文本」,你可以使用

.NumberFormat="@" 

例如

Range("C:C").NumberFormat = "@" 

將所有電池將在C列中以「文本」格式。

至於檢索「-7-110」如果這是公司與通用格式的單元格(並顯示公式,即-117的結果),你可以訪問

.Formula 

財產的細胞。

例如,如果將上述公式被輸入到小區C1,VBA代碼下面

Range("C1").Formula 

或等效

Cells(1, 3).Formula 

將返回字符串 「= -7-110」。