2012-05-31 4 views
0

이 질문에 대한 답변을 검색했지만 사람들이 Excel 기능을 사용하고 있다고 대답하는 유일한 방법 인 것처럼 보입니다. 텍스트 파일에로드하는 Excel 파일이 있지만 매주 새로운 데이터가 나옵니다. this 첫 번째 열의 시장 이름을 this 별도의 워크 시트에있는 해당 테어와 교체해야하지만 동일한 Excel 파일에 넣어야합니다.VBA를 사용하여 문자열을 ID로 바꾸려면 어떻게합니까?

예를 들어, 나는 모든 '캐나다 달러 - 시카고 상품 거래소'싶어 - 'SWF'로 대체 할 세포 등

세포가 'CAD'모든 '시카고 상품 거래소 스위스 프랑'로 교체

이름을 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 

감사 :

참고로, 여기에 내가 텍스트 파일에 쓰기를 사용하고 코드입니다.

+0

두 가지. 1) 왜 텍스트 파일에 쓰기 위해 루프를 사용하고 있습니까? Excel은 텍스트 파일을 'SaveAs'할 수 있습니다. 관련 형식의 데이터를 새 시트에 설정 한 다음 해당 시트를 텍스트 파일로 직접 저장하면됩니다. 그것은 매우 빠를 것입니다. 2) VBA에서'Vlookup '을 사용하거나'Vlookup'대신'.FIND'와'.FINDNEXT'를 사용하여 그 단어를 찾아서 대체 할 수 있습니다. 이 링크를 참조하십시오. 섹션 4 http://siddharthrout.wordpress.com/2011/07/14/find-and-findnext-in-excel-vba/ –

+0

'SaveAs'를 사용하지 않는 이유는 내가 다시 포맷하기 때문입니다. 하나의 날짜 + 색인 조합에 대한 모든 데이터 비트를 포함하는 거대한 행 대신 각 행의 데이터를 자체 행으로 사용하여 데이터가 나온다. 이 텍스트 파일은 SQL을 사용하여이 형식으로 데이터베이스에 기록됩니다. – weskpga

+0

공정한 충분 :) 2 점을 보았습니까? –

답변

1

장소 텍스트 및 스프레드 시트의 2 colums에서의 교체 후 대체 텍스트를 반환하는

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과 같습니다)

관련 문제