|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 엑셀 버전(95,97,2000,xp,2003,2007):
* 아래줄에 질문을 작성하세요 >>
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 엑셀 버전(95,97,2000,xp,2003,2007):
* 아래줄에 질문을 작성하세요 >>
1. sheet1처럼 데이터가 구분(order DB/acc DB)되어 입력이 됩니다. 이렇게 입력된 데이터에서 A열에 "입력"이라고 표시된 행만 복사되어야합니다.
2. 이렇게 입력이라고 표시된 행은 구분된 이름과 동일한 sheet에 붙여넣어져야 합니다.
3. sheet1의 데이터는 계속 변동이 되고 이 변동된 데이터들은 각 sheet에 아래로 누적이 되어야 합니다.
4. 참고로 sheet1의 값들은 수식으로 지정되어 있어서 각 sheet로 붙여넣을 때 값만 복사가 되어 입력이 되어야 합니다.
위의 조건을 만족하는 매크로 답변 부탁 드리겠습니다.
==============[김영희님 글에 대한 답변입니다]==============
대략 참고하시고 보완해서 해결해 보세요
Sub XXX()
Dim sht As Worksheet
Dim sht1 As Worksheet
Dim sht2 As Worksheet
Dim icnt As Integer
Dim i As Integer
Dim rng As Range
Set sht = Worksheets("sheet1")
Set sht1 = Worksheets("order DB")
Set sht2 = Worksheets("acc DB")
icnt = InputBox("숫자을 입력합니다, 1 = order DB, 2 = acc DB")
If icnt = 1 Then
For i = 6 To 17
If sht.Range("a" & i) = "입력" Then
sht.Range(sht.Range("b" & i), sht.Range("bj" & i)).Copy
Set rng = sht1.Range("b10000").End(xlUp).Offset(1, 0)
sht1.Range(rng, sht1.Range("bj" & rng.Row)).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End If
Next i
Else
For i = 24 To 35
If sht.Range("a" & i) = "입력" Then
sht.Range(sht.Range("b" & i), sht.Range("bj" & i)).Copy
Set rng = sht2.Range("b10000").End(xlUp).Offset(1, 0)
sht2.Range(rng, sht2.Range("bj" & rng.Row)).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End If
Next i
End If
End Sub
|
|