로그인 유지
이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.
2013.06.07 21:07:23 *.104.126.21
북곰님..
다음부터는 처음부터 이렇게게 질문해주세요..
앞뒤 다 자르고.. 컨트롤을 누르는 행위 자체가 필요하다고 말씀하시면..
참으로 대답하기 곤란합니다.
컨트롤을 누르는 행위 자체라는걸 고려할 필요가 없는 작업인 것 같습니다.
그냥 시간 간격으로 카운터를 늘려주고.. 시간이 되면 해당 값을 바꿔주고 대상 영역에 복사해 넣으면 되는것 아닌가요?
어디에 이 동작을 사용하시려는건지 모르겠지만..
첨부파일을 참고하여 수정하여 사용하시기 바랍니다.
** 참고로..
답변 파일에서 저는 Application.wait을 사용하였지만..
기다리는 동안 다른 작업을 하실게 있다면.. 북곰님이 사용하신 Application.OnTime으로 사용하시는게 좋을 수도 있습니다.
** 왜 타임 딜레이를 주는지 조차 이해가 되지 않은 상태에서 작성한 코드입니다.
** 제반 사항을 잘 설명해주셔야 원하시는 답변을 얻으실 수 있습니다.
** 다음에 질문을 하실때는 아래 항목들을 모두 적어주시기 바랍니다.
1. 어떤 작업을 하려는지에 대한 설명.. <-- 이 부분을 자꾸 빼먹으십니다. 그래서 이해하기가 힘듭니다.
2. 현재까지의 진행 상황..
3. 현단계에서의 문제점.. <-- 컨트롤을 클릭하는 행위를 하지 못하는게 문제라고 말씀하셨지만,
문제는 그게 아닙니다. 클릭하는 행위 자체가 필요하지 않은 작업입니다.
카운터만 증가시키면 해결되는 문제입니다. 굳이 스핀단추를 클릭하지 않아도요..
제가 앞 질문에서.. 클릭하는 동작 자체가 필요한건지 클릭후에 발생하는 결과가
필요한건지 물어봤을때, 동작 자체가 필요하다고 하셨잖아요..?
혹시.. 제가 잘 못 이해한건가요?
4. 해결 후의 원하는 모습.. <-- 처음 질문에서는이 부분도 빠졌었지요.. 이번 질문 올리실때 겨우 알려주신겁니다.
다운받기 : Book1 (225기초).xlsm
Option Explicit
Sub abRepeatStart()
Dim rCheck As Range
Set rCheck = Sheets("Sheet1").Range("H1")
Dim sRepeat As String: sRepeat = "Repeat"
Dim rCount As Range
Set rCount = Sheets("Sheet1").Range("C2")
Dim i As Long
rCheck = sRepeat
For i = 1 To 9999
If rCheck = sRepeat Then
DoEvents
rCount.Value2 = rCount.Value2 + 1
Call abCopyAsConditional
Application.Wait Now() + TimeSerial(0, 0, 3)
Else
Exit For
End If
Next i
End Sub
Sub abRepeatStop()
Sheets("Sheet1").Range("H1").Value2 = ""
Sub abCopyAsConditional()
Dim rng As Range
Set rng = Sheets("Sheet1").Range("A2")
Dim rSource As Range
Dim rTarget As Range
Set rTarget = Sheets("Sheet2").Range("B2")
On Error Resume Next
Set rTarget = rTarget.End(xlDown).Offset(1)
On Error GoTo 0
Dim sSize As String: sSize = "225size"
For i = 0 To rng.CurrentRegion.Rows.Count - 1
If rng.Offset(i).Value = sSize Then
If rSource Is Nothing Then
Set rSource = rng.Offset(i, 1).Resize(, 6)
Set rSource = Union(rSource, rng.Offset(i, 1).Resize(, 6))
rSource.Copy rTarget
2013.06.07 23:10:29 *.167.255.233
새 창으로
선택한 기호
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
북곰님..
다음부터는 처음부터 이렇게게 질문해주세요..
앞뒤 다 자르고.. 컨트롤을 누르는 행위 자체가 필요하다고 말씀하시면..
참으로 대답하기 곤란합니다.
컨트롤을 누르는 행위 자체라는걸 고려할 필요가 없는 작업인 것 같습니다.
그냥 시간 간격으로 카운터를 늘려주고.. 시간이 되면 해당 값을 바꿔주고 대상 영역에 복사해 넣으면 되는것 아닌가요?
어디에 이 동작을 사용하시려는건지 모르겠지만..
첨부파일을 참고하여 수정하여 사용하시기 바랍니다.
** 참고로..
답변 파일에서 저는 Application.wait을 사용하였지만..
기다리는 동안 다른 작업을 하실게 있다면.. 북곰님이 사용하신 Application.OnTime으로 사용하시는게 좋을 수도 있습니다.
** 왜 타임 딜레이를 주는지 조차 이해가 되지 않은 상태에서 작성한 코드입니다.
** 제반 사항을 잘 설명해주셔야 원하시는 답변을 얻으실 수 있습니다.
** 다음에 질문을 하실때는 아래 항목들을 모두 적어주시기 바랍니다.
1. 어떤 작업을 하려는지에 대한 설명.. <-- 이 부분을 자꾸 빼먹으십니다. 그래서 이해하기가 힘듭니다.
2. 현재까지의 진행 상황..
3. 현단계에서의 문제점.. <-- 컨트롤을 클릭하는 행위를 하지 못하는게 문제라고 말씀하셨지만,
문제는 그게 아닙니다. 클릭하는 행위 자체가 필요하지 않은 작업입니다.
카운터만 증가시키면 해결되는 문제입니다. 굳이 스핀단추를 클릭하지 않아도요..
제가 앞 질문에서.. 클릭하는 동작 자체가 필요한건지 클릭후에 발생하는 결과가
필요한건지 물어봤을때, 동작 자체가 필요하다고 하셨잖아요..?
혹시.. 제가 잘 못 이해한건가요?
4. 해결 후의 원하는 모습.. <-- 처음 질문에서는이 부분도 빠졌었지요.. 이번 질문 올리실때 겨우 알려주신겁니다.
다운받기 : Book1 (225기초).xlsm
Option Explicit
Sub abRepeatStart()
Dim rCheck As Range
Set rCheck = Sheets("Sheet1").Range("H1")
Dim sRepeat As String: sRepeat = "Repeat"
Dim rCount As Range
Set rCount = Sheets("Sheet1").Range("C2")
Dim i As Long
rCheck = sRepeat
For i = 1 To 9999
If rCheck = sRepeat Then
DoEvents
rCount.Value2 = rCount.Value2 + 1
Call abCopyAsConditional
Application.Wait Now() + TimeSerial(0, 0, 3)
DoEvents
Else
Exit For
End If
Next i
End Sub
Sub abRepeatStop()
Sheets("Sheet1").Range("H1").Value2 = ""
End Sub
Sub abCopyAsConditional()
Dim rng As Range
Set rng = Sheets("Sheet1").Range("A2")
Dim rSource As Range
Dim rTarget As Range
Set rTarget = Sheets("Sheet2").Range("B2")
On Error Resume Next
Set rTarget = rTarget.End(xlDown).Offset(1)
On Error GoTo 0
Dim sSize As String: sSize = "225size"
Dim i As Long
For i = 0 To rng.CurrentRegion.Rows.Count - 1
If rng.Offset(i).Value = sSize Then
If rSource Is Nothing Then
Set rSource = rng.Offset(i, 1).Resize(, 6)
Else
Set rSource = Union(rSource, rng.Offset(i, 1).Resize(, 6))
End If
End If
Next i
rSource.Copy rTarget
End Sub