2016-06-24 1 views
-1

나는 최신 시트를 가져와 이전 시트를 지우려고하지만 변수를 저장할 수 없습니다.최신 시트 가져 오기 및 이전 시트를 지우기

첫 번째 루프는 2 차원 배열에 값을 저장하기위한 것입니다. 두 번째 루프는 최신 시트를 가져 오는 것입니다.

Sub WorksheetEraseOld() 
    Dim ShtNames() As String 
    Dim SaveSheet As String 
    ReDim ShtNames(1 To ActiveWorkbook.Sheets.count) 
    For i = 1 To Sheets.count 
     ShtNames(i) = Sheets(i).Name 
    Next i 

    ReDim Preserve ShtNames(1 To ActiveWorkbook.Sheets.count) 
    For J = 1 To Sheets.count 
     If J = Sheets.count Then Exit For 
     Range("A1").Value = Val(Left(ShtNames(J), 4)) 
     Range("B1").Value = Val(Left(ShtNames(J + 1), 4)) 
     MsgBox ("Content of SaveSheet is " & SaveSheet) 
     SaveSheet = ShtNames(J) 
     If Val(Left(SaveSheet, 4)) < Val(Left(ShtNames(J + 1), 4)) Then SaveSheet = ShtNames(J + 1) 
    Next J 
End Sub 

답변

0
For J = 1 To Sheets.Count 
    If J = Sheets.Count Then Exit For 
Next J 
Range("A1").Value = Val(Left(ShtNames(J), 4)) 
Range("B1").Value = Val(Left(ShtNames(J + 1), 4)) 
MsgBox ("Content of SaveSheet is " & SaveSheet) 
SaveSheet = ShtNames(J) 
If Val(Left(SaveSheet, 4)) < Val(Left(ShtNames(J + 1), 4)) Then SaveSheet = ShtNames(J + 1)