현재 두 개의 다른 파일에서 4 개의 열의 내용을로드하는 VBA 스크립트를 작성 중입니다. 스크립트가 이름에 정규 표현식을 사용하여 파일을 찾을 수있게하고 싶습니다. 내 두 파일의 제목에서 "XM7"또는 "XM8"중 하나가 있어야한다는 것을 알고 있습니다. 그래서이 파일에서 열을로드하고 싶습니다. 여기에 내 코드 :다른 파일에서 데이터를로드하는 정규식
Sub charge_fiche()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim titre As String
Dim wbk1 As Workbook
Dim wbk2 As Workbook
Dim wbk3 As Workbook
Dim Chemin As String
Chemin = ThisWorkbook.Path
titre2 = "run2_tps_nuit_xm7_01062016"
titre3 = "run2_tps_nuit_xm8_01062016"
Set wbk1 = ThisWorkbook
Set wbk2 = Workbooks.Open(Chemin & "\" & titre2) ' jouvre le classeur (titre)
Set wbk3 = Workbooks.Open(Chemin & "\" & titre3) ' jouvre le classeur (titre)
wbk1.Sheets(1).Range("A1:A1000").Value = wbk2.Sheets(1).Range("B1:B1000").Value
wbk1.Sheets(1).Range("B1:B1000").Value = wbk2.Sheets(1).Range("H1:H1000").Value
wbk1.Sheets(1).Range("C1:C1000").Value = wbk2.Sheets(1).Range("L1:L1000").Value
wbk1.Sheets(1).Range("D1:D1000").Value = wbk2.Sheets(1).Range("M1:M1000").Value
wbk1.Sheets(1).Range("E1:E1000").Value = wbk3.Sheets(1).Range("B1:B1000").Value
wbk1.Sheets(1).Range("F1:F1000").Value = wbk3.Sheets(1).Range("H1:H1000").Value
wbk1.Sheets(1).Range("G1:G1000").Value = wbk3.Sheets(1).Range("L1:L1000").Value
wbk1.Sheets(1).Range("H1:H1000").Value = wbk3.Sheets(1).Range("M1:M1000").Value
wbk2.Close
wbk3.Close
지금을 위해 일하지만 난
titre2 = "\wxm7\w.xls"
또는
titre3 = [0-9a-zA-Z_]*" & xm8 & " [0-9a-zA-Z_]* & ".xls"
하지만 둘 다 같은 것을하여 라인 "titre2"와 "titre3"를 대체 할 그들의 작품. 너는 어떤 생각을 가지고 있니? 일치하는 파일이없는 경우
확인, 그것은 작동 할 수 있습니다,하지만 난 여전히 그 파일을 열 수 없습니다 해요 : 내가 errore를 얻을 수 1004, 파일을 찾을 수 없기 때문에 오류 메시지의 파일 이름이 문서의 실제 이름입니다. Dir 후에도 workbooks.open을 사용해야합니까? 이런 식으로'Set wbk3 = Workbooks.Open (Dir (Chemin & "\"& titre3)) ' –
@NicoBalas'Dir'는 전체 경로가 아닌 파일 이름 만 반환합니다. 에서 편집하겠습니다. – arcadeprecinct