Archief - [PROG][VB-A] Beginnersvraagje

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

deathdevil

Legacy Member
Hey,

Ik ben een Excel toepassing aan het schrijven voor een vriend van mijn ouders.

Ik gebruik vooral " http://www.excel-vba.com/excel-vba-contents.htm " als leidraad en tutorial

Nu, een probleem dat zich stelt en ik werkelijk niet kan vinden in de tutorial is hoe ik hem stop van een Sheet aan te maken indien een sheet met die naam al bestaat.. Hierbij werk ik met een Variabele "dossiernummer".

Wat ik dus wil, is dat hij wanneer hij een nieuw dossier nummer ingevoerd krijgt (dit vraag ik via msgBox) dat hij dan een nieuwe Sheet maakt Op het einde van de vorige, TENZIJ deze al bestaat.

Concreet dacht ik aan iets als:

IF Sheet(dossiernummer) <> "" Then
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = dossiernummer

End If


Maar ik krijg dat niet geincorporeerd in mijn originele opdracht.. Want dan zegt hij dat "de sub ongedefinieerd is" En wanneer ik op "Help" duw stuurt die me door naar "Verwijzingen" dat staat onder menu Extra maar is steeds grijs en daar heb ik dus ook niks aan :s

Iemand enig idee?

Alvast bedankt

Draw.Stick

tmagus

Legacy Member
Code:
Sub SheetName()
Dim dossiernummer As String
[COLOR="Red"]' ik gebruik hier nu nen string om da rap te testen ma hier komt dan uwe inputbox voor het dossiernr in te geven[/COLOR]
dossiernummer = "blad1"

If SheetExists(dossiernummer) = False Then
[COLOR="Red"]'indien dat het blad niet bestaat voegt hij er eentje toe[/COLOR]
    Sheets.Add after:=Sheets(Sheets.Count)
Else
    [COLOR="Red"]'indien dat wel bestaan tja kweenie als hem dan iets moet doen...[/COLOR]
End If


End Sub

Function SheetExists(SheetName As String) As Boolean
[COLOR="Red"]' returns TRUE if the sheet exists in the active workbook[/COLOR]
    SheetExists = False
    On Error GoTo NoSuchSheet
[COLOR="Red"]'controleer of de lengte van de string Name groter is dan 0 indien da zo is bestaat da sheet anders nie[/COLOR]
    If Len(Sheets(SheetName).Name) > 0 Then
        SheetExists = True
        Exit Function
    End If
NoSuchSheet:
End Function

voila, khoop dat je het beke snapt,
kweet nie of er nog better maniere bestaan om te checken als een sheet bestaat of nie, want heb da hier just effkes inelkaar gegooid met wa stuff da ik hier en daar gevonden heb op google...
ma het werkt allesinds, i tested it

dusja gewoon vb open doen en da vb in module 1 smijten, knopke zetten op uw werkblad en dan SheetName als macro...and done,

deathdevil

Legacy Member
Hey,

Bedankt, heb het met wat aanpassingen in de scripting kunnen krijgen en het werkt perfect.

Nu nog wat verder prutsen :p

Bye

Draw.Stick
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan