2016-06-24 1 views
-1

最新のシートを取得して古いシートを消去しようとしていますが、save変数の値を取得できません。最新のシートを取得して古いシートを消去する

最初のループは、2次元配列に値を格納するためのループです。 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) 
関連する問題