시작할 장소를 찾는 데 어려움이 있다면 Worksheet_Change Sheet1의 이벤트 매크로를 사용해보십시오.
Option Explicit
Private dALL As Double
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Sum(Target.Parent.UsedRange.Cells) <> dALL Then
dALL = Application.Sum(Target.Parent.UsedRange.Cells)
On Error GoTo bm_Safe_Exit
'suspend events so nothing on Sheet2 gets triggered
Application.EnableEvents = False
Dim a As Long, i As Long, j As Long, aVALs As Variant
aVALs = Target.Parent.UsedRange.Cells.Value2
For i = LBound(aVALs, 1) To UBound(aVALs, 1)
For j = LBound(aVALs, 2) To UBound(aVALs, 2) - 1
If Not CBool(Len(aVALs(i, j))) Then
For a = j + 1 To UBound(aVALs, 2)
If CBool(Len(aVALs(i, a))) Then
aVALs(i, j) = aVALs(i, a)
aVALs(i, a) = vbNullString
Exit For
End If
Next a
End If
Next j
Next i
With ThisWorkbook.Worksheets("Sheet2")
.UsedRange.Clear
.Cells(1, 1).Resize(UBound(aVALs, 1), UBound(aVALs, 2)) = aVALs
End With
End If
bm_Safe_Exit:
Application.EnableEvents = True
End Sub
'VBA 또는 매크로 지식'은 '매우 기본적인'것으로 보이지 않습니다. 사실, 그것은 존재하지 않는 것처럼 보입니다. – Jeeped
음, 맞습니다. 어떤 제안이나 지시 사항을 높이 평가 될 것입니다. 어쨌든 나는 내 질문을 향상시킬 수 있습니까? – vungvang
코드를 요구하고 어떤 것도 제공하지 않기 때문에 Voted-To-Close로 질문을합니다. 이것은 당신이 너무 게으르고 또는 쓸 수없는 무료 코드를 얻을 장소가 아닙니다. 질문을 향상 시키려면 : ** 코드 작성 및 오류 또는 문제 설명과 함께 질문에 포함 시키십시오 ** ([ask]). – Jeeped