..|| Blog || Produkti/Storitve || MExcel || MDodatki || 300 nasvetov ||..

Dodajanje novega lista

Pomoč pri izdelavi makrov

Dodajanje novega lista

OdgovorNapisal/-a BJ » Po maj 23, 2016 9:27 am

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
 
BJ
 
Prispevkov: 154
Pridružen: Sr okt 26, 2005 5:46 pm



Matjazev.NET
 

Re: Dodajanje novega lista

OdgovorNapisal/-a admin » Po maj 23, 2016 9:39 am

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
admin
Site Admin
 
Prispevkov: 3524
Pridružen: Sr jul 20, 2005 10:06 pm


Vrni se na VBA

Kdo je prisoten

Po forumu brska: 0 registriranih uporabnikov in 1 gost

cron