Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 9 van 9

Onderwerp: Bevestigen datum output / overnemen waarden

  1. #1
    Member JKlerks's avatar
    Geregistreerd
    15 augustus 2017
    Locatie
    Eindhoven
    Afstand tot server
    ±91 km
    Vraag is opgelost

    Bevestigen datum output / overnemen waarden

    Goedemorgen,

    Ik wil voor medewerkers een simpel werkbestand maken om een download te verwerken naar werklijsten. In de download worden datums met verschillende notatie weergegeven en als ik deze kopieer, wordt de weergave niet aangepast naar wat ik wil (te weten DD-MM-YY).

    Ik heb gezocht naar een loop om de inhoud van de cellen te bevestigen, maar kan die niet vinden. Ik maak nu gebruikt van het loopje zoals hieronder. Het resultaat hiervan is zeker niet juist.

    Kan iemand me helpen of aangeven wat er mis gaat. Voor de volledigheid: de inhoud van kolom B moet worden gekopieerd naar kolom E én voorzien van nieuwe opmaak.

    Code:
    Sub test()
    Dim i As Integer
    i = 2
    
    Do While Cells(i, 1).Value <> ""
        Cells(i, 5).Value = Cells(i, 1).Value
        i = i + 1
    Loop
    
    End Sub
    Thnx a million

    JKlerks
    Bijgevoegde bestanden Bijgevoegde bestanden
    -------------------------
    "Ask & help" - that's my motto

    Hoewel ik veel minder kennis heb dan de experts op dit forum, probeer ik voor elke vraag die ik stel een andere te beantwoorden. Samen komen we er wel!

  2. #2
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Maak er eens dit van:
    Code:
    Sub test()
        Dim i As Integer
        i = 2
        
        Do While Cells(i, 1).Value <> ""
            With Cells(i, 5)
                .Value = Cells(i, 2).Value
                .NumberFormat = "m/d/yyyy"
            End With
            i = i + 1
        Loop
    End Sub
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  3. #3
    Member JKlerks's avatar
    Geregistreerd
    15 augustus 2017
    Locatie
    Eindhoven
    Afstand tot server
    ±91 km
    Dank Edmoor,

    Output ziet er zo uit zoals gewenst. Super

    Doorlooptijd wordt hiermee wel vertraagd zie ik. Weet jij of dat standaard is of kan ik beter een andere oplossing gebruiken?
    -------------------------
    "Ask & help" - that's my motto

    Hoewel ik veel minder kennis heb dan de experts op dit forum, probeer ik voor elke vraag die ik stel een andere te beantwoorden. Samen komen we er wel!

  4. #4
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Ik had het eenvoudig voor je gehouden omdat in #1 te zien is dat je er nog niet echt kaas van hebt gegeten.
    Mijn voorbeeld werkt direct op het werkblad en dat werkt vertragend. Je kan het ook in geheugen doen:
    Code:
    Sub test()
        reeks = Cells(1).CurrentRegion
        For i = 2 To UBound(reeks)
            reeks(i, 4) = reeks(i, 2)
        Next i
        Columns(4).NumberFormat = "m/d/yyyy"
        Cells(1).CurrentRegion = reeks
    End Sub
    Haal hiervoor wel de lege kolom D weg.
    Laatst aangepast door edmoor : 14 maart 2019 om 09:45
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  5. #5
    Member JKlerks's avatar
    Geregistreerd
    15 augustus 2017
    Locatie
    Eindhoven
    Afstand tot server
    ±91 km
    Ja, loops zijn enorm nieuw, maar ik ben er wel aan toe... Enkelvoudig werkt het perfect!

    Ik heb (uiteraard) twee kolommen waarvoor dit geldt en met onderstaande geeft vba een fout op de regel "reeks(i, 54) = reeks(i, 2)" (NB het komt uiteindelijk in kolommen BB en BC en niet in D, maar dat had ik ook maar makkelijker gehouden

    Code:
        reeks = Cells(1).CurrentRegion
        For i = 2 To UBound(reeks)
            reeks(i, 54) = reeks(i, 2)
        Next i
        Columns(54).NumberFormat = "dd/mm/yy"
        Cells(1).CurrentRegion = reeks
    
        reeks = Cells(1).CurrentRegion
        For j = 2 To UBound(reeks)
            reeks(j, 55) = reeks(j, 3)
        Next j
        Columns(55).NumberFormat = "dd/mm/yy"
        Cells(1).CurrentRegion = reeks
    -------------------------
    "Ask & help" - that's my motto

    Hoewel ik veel minder kennis heb dan de experts op dit forum, probeer ik voor elke vraag die ik stel een andere te beantwoorden. Samen komen we er wel!

  6. #6
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Bij gebruik van Cells(1).CurrentRegion wordt de variabele gevuld tot de eerste lege kolom en de eerste lege regel.
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  7. #7
    Member JKlerks's avatar
    Geregistreerd
    15 augustus 2017
    Locatie
    Eindhoven
    Afstand tot server
    ±91 km
    Overigens maak ik gebruik van onderstaande code voor de rest. Als dit makkelijker/sneller kan, super!

    Code:
    Sheets("BLAD1").Range("BD2", Range("A1048576").End(xlUp).Offset(0, 55)).FormulaR1C1 = "=TRIM(RC4)"
    Sheets("BLAD1").Range("BE2", Range("A1048576").End(xlUp).Offset(0, 56)).FormulaR1C1 = "=TRIM(RC5)"
    Sheets("BLAD1").Range("BF2", Range("A1048576").End(xlUp).Offset(0, 57)).FormulaR1C1 = "=TRIM(RC6)"
    Sheets("BLAD1").Range("BG2", Range("A1048576").End(xlUp).Offset(0, 58)).FormulaR1C1 = "=TRIM(RC7)"
    Sheets("BLAD1").Range("BH2", Range("A1048576").End(xlUp).Offset(0, 59)).FormulaR1C1 = "=TRIM(RC8)"
    Sheets("BLAD1").Range("BI2", Range("A1048576").End(xlUp).Offset(0, 60)).FormulaR1C1 = "=TRIM(RC10)"
    Sheets("BLAD1").Range("BJ2", Range("A1048576").End(xlUp).Offset(0, 61)).FormulaR1C1 = "=TRIM(RC11)"
    Sheets("BLAD1").Range("BK2", Range("A1048576").End(xlUp).Offset(0, 62)).FormulaR1C1 = "=TRIM(RC12)"
    Sheets("BLAD1").Range("BL2", Range("A1048576").End(xlUp).Offset(0, 63)).FormulaR1C1 = "=TRIM(RC13)"
    Sheets("BLAD1").Range("BM2", Range("A1048576").End(xlUp).Offset(0, 64)).FormulaR1C1 = "=TRIM(RC19)"
    Sheets("BLAD1").Range("BN2", Range("A1048576").End(xlUp).Offset(0, 65)).FormulaR1C1 = "=TRIM(RC22)"
    Sheets("BLAD1").Range("BA2", Range("A1048576").End(xlUp).Offset(0, 65)).Copy
    Range("BA2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    -------------------------
    "Ask & help" - that's my motto

    Hoewel ik veel minder kennis heb dan de experts op dit forum, probeer ik voor elke vraag die ik stel een andere te beantwoorden. Samen komen we er wel!

  8. #8
    Member JKlerks's avatar
    Geregistreerd
    15 augustus 2017
    Locatie
    Eindhoven
    Afstand tot server
    ±91 km
    Quote Origineel gepost door edmoor Bekijk Bericht
    Bij gebruik van Cells(1).CurrentRegion wordt de variabele gevuld tot de eerste lege kolom en de eerste lege regel.
    Dus als ik het goed begrijp, werkt dit niet als ik het ga verplaatsen naar een verdere locatie op het werkblad en/of als er een lege cel is. Dat is jammer, want ik zou het graag verplaatsen en er zitten nu eenmaal ook lege cellen in ... (waar geen ATA / ETA gevuld is)
    -------------------------
    "Ask & help" - that's my motto

    Hoewel ik veel minder kennis heb dan de experts op dit forum, probeer ik voor elke vraag die ik stel een andere te beantwoorden. Samen komen we er wel!

  9. #9
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Kan ook wel zonder loop
    Code:
    Sub VenA()
      ar = Cells(1).CurrentRegion.Offset(, 1).Resize(, 2)
      With Columns(54).Resize(UBound(ar), 2)
        .NumberFormat = "dd/mm/yy"
        .Value = ar
      End With
    End Sub
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  10. Dit topic is automatisch gesloten omdat er sinds vier maanden niet meer op gereageerd is.

    Indien gewenst kan de topicstarter een verzoek tot heropening indienen.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren