2015-09-18 64 views
0

我正在與MS Excel(2010)VBA問題糾纏。我想使用VBA宏從文本文件中提取數據。我一直在使用下面的代碼,但我正在尋找更普遍適用的代碼。從.txt文件獲取數據

ActiveCell.Select 
ActiveCell.Offset(0, 1).Select 
ActiveCell.Value = Mid(text, G10 + 4, 3) 

該代碼最終將從CNC機器讀取測量報告,該測量報告被編程爲自動生成該測頭。該數控機牀將測量數據傳輸到文本文件中。所述測量報告具有大約以下格式:該代碼的

 
G10:299mm 
G20:45mm 
G30:70mm 
G40:100,02mm 
G50 
G60 
G70 
G80 
G90 
G100 
........etc. 

缺點/缺點是不是被穩定和普遍的。 舉例來說,測量「G40」看起來會稍小一點,比如99,97mm已經少了一個數字。

如果可能的話,我希望代碼足夠靈活,可以在不同的(長度)測量報告上運行。 (如果讀取措施的代碼是合適的,則可以通過運行循環來輕鬆實現)。

如果有人會知道這部分代碼更合適的替代方案,會不錯。

ActiveCell.Select 
ActiveCell.Offset(0, 1).Select 
ActiveCell.Value = Mid(text, G10 + 4, 3) 
+1

我不清楚探針硬件是否構建(並隨後導出)TXT文件,或者數據是否直接進入Excel工作簿。如果生成了TXT文件並需要導入,則可以執行批量操作。 – Jeeped

回答

1

我只是直接回答你的問題的替代方案。
下面將做到這一點。

ActiveCell.Value = Split(text, ":")(1) 'returns 100,02mm 
ActiveCell.Value = Replace(Split(text, ":")(1), "mm", "") 'returns 100,02 

如果您還有其他疑慮,請編輯您的問題或發表評論。

+0

嗨,謝謝! 看起來像一個偉大的溶劑。 今天我會試一試。我已經退出Excel VBA新的版本,因此不知道這個函數的存在。 – Cornelis

+0

酷!感謝您添加第二行。 可能會變得有用! – Cornelis