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

Aanpassen macro voor opslaan nieuw tabblag met format MMMYY

Status
Niet open voor verdere reacties.

peter59

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

Ik heb getracht om een macro aan te passen om een sheet op te slaan als een nieuw tabblad met als format MMMYY.
Ik krijg het helaas niet voor elkaar. Nieuw tabblad wordt steeds opgeslagen als d-m-jjjj.
Zelf heb ik het vermoeden dat in onderstaand stukje code het e.e.a. aangepast dient te worden. Maar ja, wat?
Code:
Nieuwenaam = WorksheetFunction.Proper(Format(Sheets("Stempelkaart Mnd").Range("K1"), ""))
Tevens de desbetreffende file bijgevoegd.

Mvg
Peter
 

Bijlagen

  • Stempelkaart.xlsb
    52,6 KB · Weergaven: 31
Kijk eens of dit werkt;
Code:
Nieuwenaam = WorksheetFunction.Proper(Format(Sheets("Stempelkaart Mnd").Range("K1"), "mmm yy"))
 

Bijlagen

  • Stempelkaart-3.xlsb
    66,7 KB · Weergaven: 35
Laatst bewerkt:
Hallo ExcelAmateur

Dat werk als een tierelier. Waarvoor heel hartelijk dank.
Zelf had ik van alles geprobeerd waaronder een nieuwe format.
Niet wetende waarvoor die aanhalingstekens voor stonden. Dat weet ik dus nu.

Ik weet niet of ik een nieuw topic dien te starten maar heb nog een vraag v.w.b. de button "Stempel".

Is het mogelijk om als de button wordt aan geklik dat dan de tijdsregistratie wordt ingevoerd op de datum =VANDAAG()?
Onderstaande code is nu van toepassing.
Code:
Sub TimeStamp()
  Dim LogIn As Long, LogOut As Long
  Dim LogInKolom As Long, LogOutKolom As Long

  LogInKolom = 5
  LogOutKolom = 7
[COLOR="#FFA07A"]  LogIn = Cells(Rows.Count, LogInKolom).End(xlUp).Row + 1
  LogOut = Cells(Rows.Count, LogOutKolom).End(xlUp).Row + 1[/COLOR]

  If LogIn = LogOut Then
    Cells(LogIn, LogInKolom) = Time
  Else
    Cells(LogOut, LogOutKolom) = Time
  End If
End Sub


Nogmaals dank.

Mvg
Peter.
 
Dat van het Format(......., zag ik toevallig gelijk.
Maar de volgende vraag zou ik zo snel niet weten.
Ik ben niet een programmeur, er zijn er die het zo uit de mouw halen.

Dus nog even geduld en komt er een antwoord op de vraag.
 
Geen probleem.
Er zijn hier op dit forum idd goeroes die zoiets uit hun mouw schudden waar ik ook helaas geen touw aan kan vast knopen.
Probeer wel het e.e.a. te doorgronden maar bij VBA gaat dit dus voor mij helaas vaak niet op.

Mvg
Peter
 
Code:
=now

Is datum en tijd.
 
Hallo Harry

Dank voor je support.
Ik heb met jouw hint onderstaande "gebrouwen" maar helaas.
Code:
Sub TimeStamp()
  Dim LogIn As Long, LogOut As Long
  Dim LogInKolom As Long, LogOutKolom As Long

  LogInKolom = 5
  LogOutKolom = 7
  LogIn = [COLOR="#FF8C00"]Now()[/COLOR]
  LogOut = [COLOR="#FFA500"]Now()[/COLOR]

  If LogIn = LogOut Then
    Cells(LogIn, LogInKolom) = Time
  Else
    Cells(LogOut, LogOutKolom) = Time
  End If
End Sub

Zit ik een beetje in de goede richting?

Mvg
Peter
 
Begin bij het begin. Gebruik geen spaties in tabnamen dat maakt formules en code langer dan nodig. Het is niet nodig om eerst alle tabnamen te doorlopen om te bekijken of een naam al bestaat.
Code:
Sub VenA()
  c00 = StrConv(Format(Range("K1"), "mmm-yy"), 3)
  If IsError(Evaluate(c00 & "!A1")) Then
    ActiveSheet.Copy , Sheets(Sheets.Count)
    With ActiveSheet
      .Name = c00
      .UsedRange = .UsedRange.Value
    End With
  End If
End Sub

Wat wil je met de tweede vraag? Moet er alleen naar de datum van vandaag gekeken worden?
 
Hallo VenA

Dank voor je mee denken.
De code van jou ga ik eens proberen te ontleden. Het zal een moeilijke worden.
Tevens ga ik deze eens toepassen in het bestandje. Wordt vervolgd.

En ja, als de datum =Now() in kolom D dan dient er in de desbetreffende kolom(men) (E en hierna in G) een registratie plaats te vinden.

Mvg
Peter
 
Dit bedoel je?
Code:
Sub TimeStamp()
Dim c as range
  Set c = Columns(4).Find(Date, , , 1)
 If Not c Is Nothing Then c.Offset(, 3 + (c.Offset(, 1) = "") * 2) = Time
End Sub
 
Hallo Harry

Heeft de site er even uit gelegen?? Maar dat ter zijde.

Ik heb jou code ingevoerd (module 1) maar doet helaas niets.
Zie bijlage.

Mvg
Peter
 

Bijlagen

  • Stempelkaart.xlsb
    40,9 KB · Weergaven: 37
Loop de laatste code van HSV eens met F8 door in het programma, kun je zien wat er gebeurd.
Ik denk dat hij dan de 2 tijden in voer, wat niet de bedoeling is.

Suc6
 
Laatst bewerkt:
Exotische datumformaten zijn nergens goed voor.

Zet in ieder geval het datumsysteem 1904 uit in de opties.
Zet kolom D op datumformaat 'datum'. 12-08-2018 dus.
 
@HSV,

Als ik in kolom P de datum zet kan hij deze wel vinden en doet de macro zijn werk.
Kolom D heb ik de eigenschappen op datum gezet maar daar vind hij hem niet.

Kan het zijn doordat in de cel de formule staat =D13+1?
 
Het datumsysteem 1904 mag ook blijven staan (ik zie dat je met negatieve tijden wilt werken).

Druk twee maal op de knop "Stempel".
 

Bijlagen

  • Stempelkaart.xlsb
    38,4 KB · Weergaven: 43
Hallo,

@ExcelAmateur
Jou hint toegepast maar helaas gebeurt er niets.

@Harry
Datumsysteem "1904" uit gevinkt en datumformat op dd-mm-jjjj gezet, maar helaas.

PS
ik ben een beetje te laat met antwoorden maar ExcelAmateur heeft in de vermoedelijke bijlage het zelfde probleem.
Tevens wil ik nog kwijt dat er volop wordt meegedacht en jullie kennis en kunde zeer wordt gewaardeerd.

Mvg
Peter
 
Je moet wel lezen wat ik schrijf Peter (datumformaat op 'datum' en geen "dd-mm-jjjj").
Bekijk het bestand wat ik plaatste en kijk of het werkt. Zie #15.
 
Harry,

Ik was de respons nog aan het componeren toen jij al had geantwoord. Excuses.

Wat is het verschil in cel eigenschappen "datum" of aangepast "dd-mm-jjjj"?

Tevens jou bestandje geopend maar ik kan klikken wat ik wil. Er gebeurt helaas niets.

Mvg
Peter
 
Het werkt hier uitstekend, ben benieuwd bij wie het wel of niet lukt (gewoon simpele code).
Werk je op een Mac?
 
Harry,

Ik ben ook eens benieuwd bij wie het wel en bij wie het niet werkt.
En nee, ik werk met MS 2010 en Office(365) 2016.

Ik wil je toch danken voor je support.
Ik ga nu afsluiten en een pintje pakken. M.a.w., wordt vervolgt.

Mvg
Peter
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan