Code: Select all
Do While Not RS.EOF
TEST = Trim(RS(0).Value)
debug.print TEST
CONTA = CONTA + 1
RS.MoveNext
Loop
How to create and add a new sheet, if just it not exists, in workbook base the var TEST
Code: Select all
Do While Not RS.EOF
TEST = Trim(RS(0).Value)
debug.print TEST
CONTA = CONTA + 1
RS.MoveNext
Loop
Code: Select all
Dim wsh As Worksheet
Do While Not RS.EOF
TEST = Trim(RS(0).Value)
On Error Resume Next
' Try to refer to worksheet
Set wsh = Worksheets(TEST)
' If an error occurred, the sheet doesn't exist
If Err Then
' Create new sheet
Set wsh = Worksheets.Add(After:=Worksheets(Worksheets.Count))
' Name the new sheet
wsh.Name = TEST
End If
On Error GoTo 0
CONTA = CONTA + 1
RS.MoveNext
Loop
Hans no words!!!!HansV wrote:Try:
Code: Select all
Dim wsh As Worksheet Do While Not RS.EOF TEST = Trim(RS(0).Value) On Error Resume Next ' Try to refer to worksheet Set wsh = Worksheets(TEST) ' If an error occurred, the sheet doesn't exist If Err Then ' Create new sheet Set wsh = Worksheets.Add(After:=Worksheets(Worksheets.Count)) ' Name the new sheet wsh.Name = TEST End If On Error GoTo 0 CONTA = CONTA + 1 RS.MoveNext Loop
HansV wrote:Change the line
Set wsh = Worksheets.Add(After:=Worksheets(Worksheets.Count))
to
Worksheets("SERVIZIO").Copy After:=Worksheets(Worksheets.Count)
Set wsh = Worksheets(Worksheets.Count)
Code: Select all
Dim i As Integer
Application.DisplayAlerts = False
For i = Worksheets.Count To 1 Step -1
Select Case UCase(Worksheets(i).Name)
Case "SHEET1", "SHEET2"
' Do nothing
Case Else
Worksheets(i).Delete
End Select
Next i
Application.DisplayAlerts = True
HansV wrote:You can create a loop:
Code: Select all
Dim i As Integer Application.DisplayAlerts = False For i = Worksheets.Count To 1 Step -1 Select Case UCase(Worksheets(i).Name) Case "SHEET1", "SHEET2" ' Do nothing Case Else Worksheets(i).Delete End Select Next i Application.DisplayAlerts = True