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

datum omzetten naar maand

Status
Niet open voor verdere reacties.
Hallo mensen,

ik heb een probleempje dat volgens mij met een macro wel op te lossen is. Ik weet alleen niet hoe.

Ik wil handmatig een volledige datum invullen in A1. In B1 moet dan de maand van die datum als waarde worden neergezet. Liefst niet door middel van een formule in die cel, want dan kan ik het met een draaitabel niet groeperen. Het zou het mooiste werken als na het invullen van A1 automatisch B1 wordt gevuld met de maand. (kolom B is verborgen en wordt alleen voor de draaitabel gebruikt).

Wie weet raad?

Nanjo
 
Laatst bewerkt:
thanx

Hoi nanjo,

Zie bijlage voor een voorbeeld

Bedankt spiderman,

dit is inderdaad wat ik bedoel. Hoe kun je het van toepassing maken op de gehele kolommen, zodat als je ergens in kolom A iets invult, hij in de gelijke rij van kolom B de maand neerzet?

Nanjo
 
Hoi nanjo,

Verander de code in de maco in onderstaande:

Code:
Public LastColumn As Integer
Public LastRow As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        
    If LastColumn = 1 Then
        Range("B" & LastRow).Value = Format(Range("A" & LastRow).Value, "mm")
    End If
    LastColumn = Target.Column
    LastRow = Target.Row
End Sub
 
Hoi nanjo,

Verander de code in de maco in onderstaande:

Code:
Public LastColumn As Integer
Public LastRow As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        
    If LastColumn = 1 Then
        Range("B" & LastRow).Value = Format(Range("A" & LastRow).Value, "mm")
    End If
    LastColumn = Target.Column
    LastRow = Target.Row
End Sub

Fantastisch!!!!!

Nanjo
 
Beste Spiderman,

ik heb jouw code bekeken.
Als er een rij datums in kolom A wordt gekopieerd, dan worden de waardes niet bijgewerkt.
Is dat ook nog mogelijk?

groet
Martijn
 
Hoi EmBee,

Ik denk dat je zoiets bedoeld:

Verander de code in de maco in onderstaande:

Code:
Public LastColumn As Integer
Public LastRow As Integer
Public t As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    Dim r As Range
    If LastColumn = 1 Then
        Range("B" & LastRow).Value = Format(Range("A" & LastRow).Value, "mm")
        For Each r In t
            r.Value = Format(Range("A" & r.Row).Value, "mm")
        Next
    End If
    LastColumn = Target.Column
    LastRow = Target.Row
    Set t = Target.Offset(, 1)
End Sub
 
Code:
Public LastColumn As Integer
Public LastRow As Integer
Public t As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    Dim r As Range
        ...
        For Each r In t
            r.Value = Format(Range("A" & r.Row).Value, "mm")
        Next
    ...
End Sub

Arno

ik heb deze topic niet gevolgd, enkel de laatste code bekeken.

Kan je die loop niet vervangen door ineens de opmaak toe te passen op het bereik t (dus zonder er helemaal door te gaan).

Wigi
 
Hoi Wigi,

Kan je die loop niet vervangen door ineens de opmaak toe te passen op het bereik t (dus zonder er helemaal door te gaan).

Ik denk het niet. Het gaat hier niet alleen om de opmaak, maar ook om de inhoud.
Voorbeeld als er bijvoorbeeld in Kolom A een reeks datums wordt geplakt, dan moet er in de kolom ernaast de maandnummers worden gezet.

Als het alleen om de opmaak zou gaan, dan zou het wel kunnen denk ik, maar aangezien er nu ook gegevens geplaats worden, zou ik het niet anders weten. Jij misschien
 
Als het alleen om de opmaak zou gaan, dan zou het wel kunnen denk ik, maar aangezien er nu ook gegevens geplaats worden, zou ik het niet anders weten. Jij misschien

Bij nader inzien ik ook niet. Toch bedankt om het te overwegen.
 
Beste Arno,

dit werkt inderdaad, geweldig!
kan zoiets ook gemaakt worden met de formule vert.zoeken?
Onderstaande formule gebruik ik in het werkblad waar ik het graag zou willen toepassen.
=ALS(ISNB(VERT.ZOEKEN($B2;activity!$A$1:$C$50000;2;1));"onbekend";(VERT.ZOEKEN($B2;activity!$A$1:$C$50000;2;1)))

alvast bedankt
Martijn
 
Laatst bewerkt:
Hoi EmBee,

Neen sorry, ik weet niet genoeg van formules om deze zo eventjes om te zetten. Misschien iemand anders
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan