• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Kopieer sheet controleer eerst of de naam van de sheet al bestaat

Status
Niet open voor verdere reacties.

peter59

Terugkerende gebruiker
Lid geworden
21 mei 2007
Berichten
1.834
Besturingssysteem
Windows 11
Office versie
Office 365
Hallo,

Vraag 1.
Ik probeer a.d.h.v. een macro een blad te kopiëren met als naam de gegevens in cel A1 welke gegenereerd wordt door validatie in cel B1.
Dat lukt ook wel maar nu is het de bedoeling dat als de tabblad naam al bestaat er een Msgbox te voorschijn komt.
Onderstaand is de originele code welke ik gevonden heb. Maar met mijn abominabele kennis van VBA is mij dit dus niet gelukt om deze aan te passen.
Zie hiervoor de bijlage waar de aangepaste code in verwerkt is.
Code:
Sub CopySheetRename3()
 
    If RangeExists("LastSheet") Then
        MsgBox "Sheet already exists."
    Else
        Sheets("Sheet1").Copy After:=Sheets(Sheets.Count)
        ActiveSheet.Name = "LastSheet"
    End If
 
End Sub
 
Function RangeExists(WhatSheet As String, Optional ByVal WhatRange As String = "A1") As Boolean
    Dim test As Range
    On Error Resume Next
    Set test = ActiveWorkbook.Sheets(WhatSheet).Range(WhatRange)
    RangeExists = Err.Number = 0
    On Error GoTo 0
End Function

Vraag 2.
D.m.v. de validatie welke in cel B1 staat wordt er een maand geselecteerd welke dan in de tabel te voorschijn komt.
De tabel zorgt er dus voor dat deze maand zichtbaar wordt met ook de dagen welke niet in deze maand van toepassing zijn zoals b.v. 1 dec. als de maand nov wordt geselecteerd.
Nu is het de bedoeling dat de niet van toepassing zijnde dagen niet worden getoond bij het kopiëren van de sheet.
Zie hiervoor tevens ook de bijlage.

Ik hoop dat ik e.e.a. een beetje duidelijk heb uitgelegd aangezien dit helaas ook niet mijn sterkste punt is.

Dank alvast voor het meedenken.
 

Bijlagen

  • voorbeeld tbv HelpMij.xlsb
    24,8 KB · Weergaven: 18
Bvb:

Code:
If Not IsError(Evaluate("'LastSheet'!A1")) Then
  MsgBox "bestaat al"
Else
 MsgBox "bestaat nog niet"
End If
 
Voor je andere vraag, deze in A31 en doortrekken naar A33:
PHP:
=ALS.FOUT(ALS(MAAND(A30+1)=MAAND($B$1);A30+1;"");"")
 
Hallo,

Het is gelukt. Zie bijlage.
Dank voor de hulp.
 

Bijlagen

  • voorbeeld tbv HelpMij.xlsb
    37,6 KB · Weergaven: 16
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan