300x250
1. 예제 준비
1) 아래와 같이 예제파일을 만든다.
2) 필터를 걸면 아래와 같다. 왼쪽 필터된 내용을 오른쪽 필터된 곳에 붙여넣어보자
-> no 1, no3 의 데이터를 복사 붙여넣자.
2. 코드준비
1) 코드가 로스가 좀 있어서 시간이 걸린다. 나중에 배열 활용 필요함.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
Sub FILTERED_PASTE()
Dim COPYRANGE As Range
Dim pasteRANGE As Range
Dim i As Integer
Set COPYRANGE = Application.InputBox("복사할범위 선택", Type:=8)
Set pasteRANGE = Application.InputBox("불여넣을범위 선택", Type:=8)
i = 1
For Each e In pasteRANGE.SpecialCells(xlCellTypeVisible)
p = 1
For Each k In COPYRANGE.SpecialCells(xlCellTypeVisible)
If i = p Then
k.Copy Destination:=e
End If
p = p + 1
Next
i = i + 1
Next
End Sub
|
cs |
3) 아래 처럼 코드를 돌려 선택해준다.
3. 결과
1) 1,3 줄만 복사 붙여넣어 졌다.
300x250
'엑셀 > VBA' 카테고리의 다른 글
VBA - 데이터 변경지점의 값을 정리하기/가져오기 (0) | 2024.02.03 |
---|---|
엑셀 vba/데이터 한열에 정리하기 (0) | 2023.11.12 |
엑셀 VBA - 병합하고 가운데 맞추기. (0) | 2023.10.10 |
엑셀 VBA - 다른 시트 데이터 복사하기/범위 복사/정리하기 (0) | 2023.10.10 |
엑셀 VBA - 조건에 맞는 sheet 전체 이름 가져오기 (0) | 2023.10.10 |