0

我搜索了这个问题的答案,但似乎人们回答它的唯一方法是使用 Excel 函数。我在 Excel 中有一个文件,我将其加载到文本文件中,但每周都会出现新数据。我需要用它们各自的代码替换第一列中的市场名称,这些代码在这个单独的工作表中,但在同一个 Excel 文件中。

例如,我希望将所有“加拿大美元-芝加哥商品交易所”单元格替换为“CAD”,将所有“瑞士法郎-芝加哥商品交易所”单元格替换为“SWF”等。

我希望 Excel 文件中的名称保持不变,并且仅在我将它们传输到文本文件时才更改。但是,如果它更难做到,那不是必需的。

作为参考,这是我用来写入文本文件的代码:

Sub getData1()
On Error GoTo ErrHandler:
''Finding Row Information
Dim Ticker As String
Dim rCount As Integer, i As Integer, j As Integer, rcCount As Integer, rowStr As String
rCount = Application.CountA([RDRows])
rcCount = Application.CountA([RDCols])
Myfile = "H:\wkoorbusch\Desktop\" & "CFTC_Fin_Data.txt"

Dim fnum As Integer
fnum = FreeFile
Open Myfile For Output As fnum
For i = 1 To rCount
    For j = 1 To rcCount
        rowStr = [Start].Offset(i, 0).Value & "," & [Start].Offset(0, j).Value _
        & "," & Format([Start].Offset(i, 2).Value, _
        "mm/dd/yyyy") & "," & [Start].Offset(i, j).Value
        Print #fnum, rowStr
    Next j
Next i
Close fnum
Exit Sub

ErrHandler:
    Close fnum
End Sub

提前感谢您的任何帮助。

4

1 回答 1

1

将文本及其替换放在电子表格的 2 列中,然后使用

On Error Resume Next
Application.WorksheetFunction.VLookup(MyText,range("Sheet1!A1:B300"),2,False)
If Err.Number=1004 then msgbox "Value " & MyText & " not found"

返回替换文本。未找到查找值时,返回可捕获的 err.Number 1004。

(功能上等同于VLOOKUP电子表格公式)

于 2012-06-03T04:03:18.657 回答