2013-10-31 2 views
0

VBA 코드에 몇 가지 문제가 있습니다.다른 통합 문서에 복사 할 고급 필터

  1. 는 시트의 경로를 타고 (입력)
  2. 를 열고 관련 통합 문서 열린 60 동안의 필요한 열을 복사 할
  3. 를 사용하여 고급 필터를 : 이 내가하고 싶은 것입니다 파일을 원본 파일에 저장하십시오.
  4. 파일 닫기

나는 코드가 부분적으로 지금까지 하드 코딩과 약간의 팽창을 가지고 알고 있지만 그것을 무시하시기 바랍니다.

vba를 실행하면 고급 필터 줄에 런타임 오류 438 (속성 또는 메서드가 지원되지 않음)이 표시됩니다.

dataWB.Worksheet(1) 

가되어야한다 : 당신은 당신의 코드에 오타가

Public strFileName As String 
Public currentWB As Workbook 
Public dataWB As Workbook 
Public strCopyRange As String 
Public rngFiltro As Variant 

Sub PrendiDati() 
    Dim strListSheet As String 
    Dim rngFonte As Variant 


    strListSheet = "input" 

    'On Error GoTo ErrH 
    Application.Calculation = xlCalculationManual 
    ActiveWorkbook.Worksheets("SCADENZIARIO").Range("A2:R15000").Clear 
    Sheets(strListSheet).Select 
    Range("b6").Select 

    'this is the main loop, we will open the files one by one and copy their data into the masterdata sheet 
    Set currentWB = ActiveWorkbook 
     strFileName = ActiveCell.Offset(0, 1) & ActiveCell.Value 
     strCopyRange = ActiveCell.Offset(0, 2) & ":" & ActiveCell.Offset(0, 3) 
     strWhereToCopy = ActiveCell.Offset(0, 4).Value 
     strStartCellColName = Mid(ActiveCell.Offset(0, 5), 2, 1) 
     Application.Workbooks.Open strFileName, UpdateLinks:=False 
     Set dataWB = ActiveWorkbook 
     dataWB.Worksheet(1).Range("Database").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=currentWB.Sheets("SCADENZIARIO").Range("A1") 
     Application.CutCopyMode = False 
     dataWB.Close False 
     Sheets(strListSheet).Select 
     Exit Sub 

답변

0

:

내 코드입니다

지금 Worksheet 특성이 있기 때문에
dataWB.Worksheets(1) 

오류가 발생합니다/Workbook 개체의 경우

+0

고마워요! 정말 주목해야했습니다. – gorion83

관련 문제