1
테이블/범위를 필터링하는 코드를 작성한 다음 결과를 복사하고 새 통합 문서를 만들고 거기에 데이터를 붙여 넣으려고합니다 (붙여 넣기 값 : &).데이터 값 붙여 넣기 - 시트를 다른 시트로 복사
또한 완료 후에 소스 테이블에서 필터를 지우려고 시도합니다.
A1 (헤르쯔 포함)에서 새 통합 문서의 데이터를 붙여 넣을 수 없습니다. 그것은 막히게되고 "범위가 정의되지 않았다"라고 말한다. (서식을 붙여 넣기 만하고 값을 붙여 넣으려고하면 붙어 있습니다.)
나는 또한 vba를 처음 사용하지만 느낌이 코드에서 시작하는 Selection.Copy; 통합 문서. 행을 추가하면 기본/오류가 발생하고 오류가 발생하기 쉽습니다.
도와주세요,이 코드입니다 :
이Sub ExportRezAng()
'
' ExportRezAng Macro
Dim src As Worksheet
Dim tgt As Worksheet
Dim filterRange As range
Dim copyRange As range
Dim lastRow As Long
Set src = ThisWorkbook.Sheets("- - REZULTAT ANAF - -")
' turn off any autofilters that are already set
src.AutoFilterMode = False
' find the last row with data in column A
lastRow = src.range("D" & src.Rows.Count).End(xlUp).Row
' the range that we are auto-filtering (all columns)
Set filterRange = src.range("A3:R" & lastRow)
' the range we want to copy (only columns we want to copy)
' in this case we are copying country from column A
' we set the range to start in row 2 to prevent copying the header
Set copyRange = src.range("A3:N" & lastRow)
' filter range based on column B
filterRange.AutoFilter Field:=9, Criteria1:="DA", _
Operator:=xlOr, Criteria2:="=NU"
' copy the visible cells to our target range
' note that you can easily find the last populated row on this sheet
' if you don't want to over-write your previous results
copyRange.SpecialCells(xlCellTypeVisible).Select
'여기에서 문제 START!
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("M:N").Select
Application.CutCopyMode = False
Selection.NumberFormat = "m/d/yyyy"
Sheets("Sheet1").Select
Sheets("Sheet1").Name = "CREDIT_DOSARE_EXECUTORI"
ThisWorkbook. _
Activate
Rows("3:3").Select
Application.CutCopyMode = False
ThisWorkbook.Worksheets("- - REZULTAT ANAF - -").AutoFilter.Sort.SortFields. _
Clear
ActiveSheet.ShowAllData
End Sub
당신은 right..Thank입니다 :) – MisterA
마지막 질문을하시기 바랍니다, 내가 한 번에 두 범위를 복사 할 경우 :
이를 참조하십시오.? copyRange = Src.range ("A3 : H, O3 : R"& lastRow) - 복사 - 붙여 넣기의 특정 열을 건너 뛸 때와 같이 어떻게 할 수 있습니까? – MisterA
@mistera : 잘 모르겠습니다. 일반적으로 매크로 레코더를 사용하고 코드를 사용자 정의합니다! 하지만 붙여 넣기는 아마도 엉망이 될 것이므로 2 copy/paste에서 그것을 할 수 있습니다! ;) – R3uK