• 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.

Knop kopiëren van actief tabblad op basis van div voorwaarden.

Status
Niet open voor verdere reacties.

avesoft

Gebruiker
Lid geworden
11 apr 2011
Berichten
186
Forumleden.

Ik heb een projectje waarbij ik graag wat hulp bij zou kunnen gebruiken.
Ik heb het geprobeerd maar lukt niet helemaal.
Onder eerste knop in user form is waar ik een mee gestoeid heb.

Een beetje uitleg, zie hieronder.

Is het mogelijk om een actief tabblad met naam ………..2016 te kopiëren (met eerste knop in User form) het tabblad wijzigt dan in …………2017 onder bepaalde voorwaarden?.

Het nieuw overzicht zou ik graag als nieuw blad opgeslagen zien in het openstaand bestand.
Kolom (range) met datum dient leeg gemaakt moeten worden (zijn) in het nieuwe tabblad.
Knop voor opvragen User form zal ook mee gekopieerd moeten worden omdat er ieder jaar een nieuw tabblad van het zichtbaar blad gemaakt dient te worden.

Opmaak van tabblad mag niet wijzigen omdat er wat formules en macro’s enz. in komen.
Er moet wel gecontroleerd worden of tabbladnaam al bestaat.
Het blad mag met een wachtwoord wel overschreven worden.


Voorbeeldje
Bekijk bijlage test machines.xlsm

Gr Arie
 
Laatst bewerkt:
Test deze eens:
Code:
Sub kopierLasmachimes()
    Dim Newname As String
    Dim LR As Long
    
    Newname = Left(ActiveSheet.Name, Len(ActiveSheet.Name) - 4) & Int(Right(ActiveSheet.Name, 4) + 1)
    If Evaluate("ISREF('" & Newname & "'!A1)") Then
        MsgBox "Blad " & Newname & " al aanwezig"
        Exit Sub
    End If
    
    ActiveSheet.Copy After:=ActiveSheet
    With ActiveSheet
        LR = .Cells(.Rows.Count, "C").End(xlUp).Row
        .Name = Newname
        .Range("C6:C" & LR).ClearContents
    End With
End Sub

En in de naam van het tabblad zal "Lasmachimes", "Lasmachines" moeten zijn ;)
 
Laatst bewerkt:
Hallo Edmoor.

Werkt perfect. dank je al ervoor.
tabbladnaam heb ik ook aangepast:eek:

Is het mogelijk dat het eerst gevraagd word of dit aangemaakt mag worden na opgeven van juist ww.
Als nieuw blad aanwezig is of het dan overschreven kan worden met een ander ww vraag.
Dit vraag ik omdat ik voor 2018 nog geen nieuw blad mag gaan creëren. (gebeurt nu wel als ik op knop druk)
Ik mag in 2016 alleen een nieuwe maken voor 2017 zonder de rechten als user.
deze heb ik nu ervan gemaakt

Code:
Sub kopierMachines()
Dim password As Variant
 password = Application.InputBox("Enter Password", "Password Protected")

Select Case password
     Case Is = False
         
     Case Is = "66366"
         Dim Newname As String
    Dim LR As Long
    
    Newname = Left(ActiveSheet.Name, Len(ActiveSheet.Name) - 4) & Int(Right(ActiveSheet.Name, 4) + 1)
    If Evaluate("ISREF('" & Newname & "'!A1)") Then
        MsgBox "Blad " & Newname & " al aanwezig"
        Exit Sub
    End If
    
    ActiveSheet.Copy After:=ActiveSheet
    With ActiveSheet
        LR = .Cells(.Rows.Count, "C").End(xlUp).Row
        .Name = Newname
        .Range("C6:C" & LR).ClearContents
    End With
     Case Else
         MsgBox "Incorrect Password"
End Select
End Sub
 
Tuurlijk kan dat. Dat kan zelfs mooier dan met een input box door gebruik te maken van je userform.
Maar zet dit boven in de Sub:
If Application.InputBox("Enter Password", "Password Protected") <> "66366" Then Exit Sub

Wijzig in dat formulier trouwens ook "Crieer" in "Creëer" of "Maak"
 
En wijzig svp ook je aanhef: het helpmij forum is niet alleen voor 'heren', noch alleen door 'heren'. Maak je aanhef svp genderneutraal.
 
Edmoor.

Mooier?.
Alle ideeën wil ik graag gaan uitproberen natuurlijk.

@snb
:eek: niet aan gedacht, is gewijzigd.

Gr Arie
 
Mooier inderdaad, door het wachtwoord op te vragen in een textbox op het userform. Dan kan je instellen dat de ingetikte tekst als sterretjes verschijnen.
 
Edmoor.


Op het zelfde user form? of weer een user form?.
Ga ik eens mee aan de slag.

Gr Arie
 
Op hetzelfde userform. Je zou het zo kunnen maken dat die textbox pas verschijnt als je op die knop voor het kopiëren hebt geklikt.
 
Laatst bewerkt:
Gebruik de inlognaam in plaats van een wachtwoord:

Code:
Sub M_snb()
   msgbox environ("username")
   msgbox environ("computername")
   msgbox iif(Environ("username")="snb","bekend","onbekend")
end sub

Code:
Private sub Userform_initilialize()
   if environ("username")<>"snb" then unload me
End Sub

Code:
Private sub Workbook_open()
   if environ("username")<>"snb" then thisworkbook.close 0
End Sub
 
Laatst bewerkt:
Goeie suggestie van SNB, dan heb je geen omkijken naar het opslaan van een wachtwoord in dat document.
Wat je nu hebt gemaakt kan uiteraard, maar zelf zou ik het met een popup userformpje doen.
 
Edmoor, Snb.

Daar heb ik te weinig(geen) ervaring mee.
Hulp zou dan welkom zijn.

Ik ga eerst het bericht van Snb bestuderen

Gr Arie
 
Laatst bewerkt:
Laatst bewerkt:
Als beheerder zou ik er zoiets van maken.

Code:
If txtWachtwoord <> Environ("username") And txtWachtwoord <> "wwbeheerder" Then

Scheelt wat wandelingen naar de eigen werkplek of opnieuw inloggen.;)
 
Nee, niet je Windows wachtwoord. De gebruikersnaam van Windows.
 
Het gaat nergens om een windows ww

Code:
msgbox environ("username")
 
Edmoor.

Helaas moet ik passen, weet username van mij van Windows niet meer.
Ik kom er later op terug.

Gr Arie
 
VenA laat zien hoe je die naar voren kunt toveren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan