300x250
1. 예제파일
1) 빈칸은 띄어쓰기로 들어가있는 파일이다.
2) DATA1 기준으로 4000 ->0 으로 갈때 나머지 데이터2,3의 값을 정리한다.
2. 코드작성
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
Sub CHECKTT()
Dim dataname(3) As String '배열정의
dataname(1) = "data1"
dataname(2) = "data2"
dataname(3) = "data3"
Dim datanum(3) As Integer
last_column = Cells(7, Columns.Count).End(2).Column ' 마지막 열 찾기
last_row = Cells(Rows.Count, 1).End(3).Row
posi = 200 + UBound(dataname, 1)
For ii = 1 To UBound(dataname, 1)
For fi = 1 To last_column
If Cells(7, fi) = dataname(ii) Then
datanum(ii) = fi
Cells(ii, posi).Value = dataname(ii)
Exit For 'for문 중간에 나가기
End If
Next
Next
data_standard = datanum(1) '기준데이터 설정
k = 2
For i = 10 To last_row
If Cells(i, data_standard).Value = " " Then '데이터 띄어쓰기 있는 빈칸이면 스킵한다.
Exit For
End If
If (CDbl(Cells(i, data_standard).Value) - CDbl(Cells(i - 1, data_standard).Value)) < -3000 Then
Time_ = CDbl(Cells(i, data_standard - 1).Value)
For j = 1 To UBound(dataname, 1)
For ik = 11 To last_row
If CDbl(Cells(ik, datanum(j) - 1).Value) > Time_ Then
Cells(j, posi + k - 1).Value = Cells(ik, datanum(j)).Value
Exit For
End If
Next
Next
k = k + 1
End If
Next
MsgBox ("완료")
End Sub
|
cs |
3. 결과
-. 원하는 데이터를 가져왔다.
300x250
'엑셀 > VBA' 카테고리의 다른 글
VBA - 30초봉 계산하기/MAX/MIN/RANGE (0) | 2024.03.09 |
---|---|
VBA-데이터 조건으로 데이터 잘라서 정리하기 (0) | 2024.02.29 |
VBA - 데이터 변경지점의 값을 정리하기/가져오기 (0) | 2024.02.03 |
엑셀 vba/데이터 한열에 정리하기 (0) | 2023.11.12 |
엑셀 VBA/필터된 셀을 필터된 곳에 붙여넣기/보여지는 셀에만 붙여넣기 (1) | 2023.10.16 |