Dodajanje novega lista

Pomoč pri izdelavi makrov
Odgovori
BJ
Prispevkov: 160
Pridružen: Sr Okt 26, 2005 5:46 pm

Dodajanje novega lista

Odgovor Napisal/-a BJ »

Pozdravljeni!
Priložena koda deluje, vendar pa če hočem pomotoma še enkrat vstaviti list brez da bi spremenil podatek "Ime (Range A1)",
se zadeva zatakne. Potreboval bi nakaj v smislu:
-preveri, če list s tem imenom že obstaja
-MsgBox vbOK
- izberi list Razpored, celico A1
Hvala za pomoč in lep pozdrav!

Koda: Izberi vse

Private Sub cmdDodaj_Click()
Dim ImeNovegaLista As String
Dim Ime As String
Ime = Range("A1")
Sheets("Razpored").Visible = True
Sheets("Razpored").Copy After:=Worksheets(Worksheets.Count)
ImeNovegaLista = Ime
ActiveWindow.ActiveSheet.Name = Format(Ime, "mmm.yy")
 With ActiveWindow.ActiveSheet.Tab
        .Color = 10027008
    End With
    ActiveSheet.Shapes("cmdDodaj").Visible = False
Sheets("Razpored").Visible = True
 Sheets("Razpored").Select
 Worksheets(1).Cells(1, 1) = Worksheets(1).Cells(1, 1)
Range("A1").Select
End Sub
 
admin
Site Admin
Prispevkov: 3583
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Dodajanje novega lista

Odgovor Napisal/-a admin »

Pozdravljeni,

Prilagam vam funkcijo, ki vam bo vrnila natanko to, kar iščete. Če list obstaja vam bo vrnila TRUE, sicer pa FALSE

Koda: Izberi vse

 Function AliListObstaja(imeLista As String)
  Dim sht As Worksheet
  
  On Error Resume Next
  Set sht = Sheets(imeLista)
  
  On Error GoTo 0
  AliListObstaja = Not sht Is Nothing
 End Function
Uporaba pa je seveda temu primerno skrajno preprosta:

Koda: Izberi vse

  If (AliListObstaja("List12")) Then
    MsgBox "List že obstaja"
  Else
    MsgBox "List še ne obstaja"
  End If
lp,
Matjaž Prtenjak
Administrator
Odgovori