300x250
데이터가 변경되는 시점의 값을 가져와서 어떤값으로 변경되었는지 확인한다.
응용하면, 시간을 가져올 수 있다.
1. 예제 파일작성
- 데이터 3개, 시간 3개 데이터를 구성한다. 엑셀로
- 예를들면 data1에서는 데이터가 변경되는 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
|
Sub check_change()
Dim dataname(3) As String '배열정의
dataname(1) = "data1"
dataname(2) = "data2"
dataname(3) = "data3"
last_column = Cells(7, Columns.Count).End(2).Column ' 마지막 열 찾기
last_row = Cells(Rows.Count, 1).End(3).Row
For ii = 1 To UBound(dataname, 1)
For fi = 1 To last_column
If Cells(7, fi) = dataname(ii) Then
data_num = fi
Exit For 'for문 중간에 나가기
End If
Next
posi = 200 + UBound(dataname, 1) 'insert하면서 변경되어 추가됨.
Cells(ii, posi).Value = dataname(ii)
k = 0
For i = 10 To last_row
If (Cells(i, data_num).Value <> Cells(i - 1, data_num).Value) Then
k = k + 1
Cells(ii, posi + k).Value = Cells(i, data_num).Value
End If
Next
Next
MsgBox ("완료")
End Sub
|
cs |
3. 결과
300x250
'엑셀 > VBA' 카테고리의 다른 글
VBA-데이터 조건으로 데이터 잘라서 정리하기 (0) | 2024.02.29 |
---|---|
VBA-DATA 조건으로 나머지 데이터값 가져오기 (0) | 2024.02.03 |
엑셀 vba/데이터 한열에 정리하기 (0) | 2023.11.12 |
엑셀 VBA/필터된 셀을 필터된 곳에 붙여넣기/보여지는 셀에만 붙여넣기 (1) | 2023.10.16 |
엑셀 VBA - 병합하고 가운데 맞추기. (0) | 2023.10.10 |