워크 시트의 전체 행을 반복 할 때 이름이 변경되는 다른 워크 시트로 이동하려고 시도했습니다. temp1 (마스터 시트의 데이터)이 temp2 (DCM 시트의 데이터)와 같으면 워크 시트가 일반 이름으로 작성되거나 워크 시트가 이미있는 경우 마스터의 전체 행을 복사합니다 워크 시트를 새로운 (또는 이미 존재하는) 워크 시트에 추가하십시오. 여기 내 코드가있다. 다음 줄에 "첨자가 범위를 벗어남"오류가 발생합니다.변수 이름을 사용하여 행을 워크 시트로 이동
ActiveWorkbook.Sheets("Master").Cells(i, 1).EntireRow.Copy _
Destination:=Worksheets(" & temp2 & ").Range("A" & Rows.Count).End(xlUp).Offset(1)
Private Sub AddtoWorksheet()
Dim temp1 As String
Dim temp2 As String
Dim i As Integer
Dim x As Integer
Dim RowsUsed As Long
Dim RowsUsed2 As Long
RowsUsed = ActiveWorkbook.Sheets("Master").UsedRange.Rows.Count
RowsUsed2 = ActiveWorkbook.Sheets("DCM").UsedRange.Rows.Count
For i = 2 To RowsUsed
temp1 = ActiveWorkbook.Sheets("Master").Cells(i, 1).Value
For x = 1 To RowsUsed2
temp2 = ActiveWorkbook.Sheets("DCM").Cells(x, 1).Value
If temp1 = temp2 Then
AddSheetIfMissing (ActiveWorkbook.Sheets("DCM").Cells(i, 1).Value)
ActiveWorkbook.Sheets("Master").Cells(i, 1).EntireRow.Copy _
Destination:=Worksheets(" & temp2 & ").Range("A" & Rows.Count).End(xlUp).Offset(1)
Else:
End If
Next x
Next i
End Sub
Function AddSheetIfMissing(Name As String) As Worksheet
On Error Resume Next
Set AddSheetIfMissing = ThisWorkbook.Worksheets(Name)
If AddSheetIfMissing Is Nothing Then
Set AddSheetIfMissing = ThisWorkbook.Worksheets.Add
AddSheetIfMissing.Name = Name
End If
End Function
대상 : = 워크 시트 (temp2). 범위 (....) – Jeeped
많은 ActiveWorkbook이 있습니다. 통합 문서를 두 개 이상 사용하고 있습니까? 아니면 한 장에 모든 시트가 있습니까? – peege