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

Een rij integer maken

Status
Niet open voor verdere reacties.

phokki

Gebruiker
Lid geworden
19 mrt 2012
Berichten
51
Hallo mensen van het forum!

Ik heb 2 werkbladen. Één met de data die ik krijg van een programma en een werkblad met de gekopieerde data van werkblad één.
In werkblad 1 zit een rij die datum+tijd is. Deze kopieer ik naar blad 2. Maar ik wil de datum+tijd alleen tijd hebben, dit lukt me wel, maar
de tijd moet een integer worden. Dit lukt me bijna. Wat er dus fout gaat is dat de tijd bijv. 12:00 omgezet wordt naar 00:00..
Dit zou gewoon 12:00 moeten blijven in mijn ogen!

Ik gebruik deze macro:
PHP:
Sub phokki()
        Dim cl As Range
        With Sheets("opdaten")
            Range(.Cells(1, 5), .Cells(Rows.Count, 5).End(xlUp)).Copy Sheets("Tabelle1").Cells(1, 3).Resize(.Rows.Count)
            For Each cl In Sheets("Tabelle1").Range("C1:C" & Sheets("Tabelle1").Range("C" & Rows.Count).End(xlUp).Row)
              cl = Int(cl)
            Next
        End With
End Sub

Ik zit in duitsland op stage, dus vandaar de rare namen en dingen.
Ook gebruik ik een duitse excel versie. Dus ik probeerde ook i.p.v "Int" de duitse versie "GANZZAHL".
Maar dit levert mij de fout op: Sub of functie niet gedefinieert.

Zie het bestand hieronder voor meer info!

Het gaat om de macro: phokki.
Bij voor baat dank!:thumb:

p.s Ik ben geen expert in Excel, ben meer van het knippen en plakken van het internet en me eigen ding van maken, dan zelf alles typen omdat ik verreweg geen verstand van heb! Uitleg zou dus fijn zijn.
 

Bijlagen

Laatst bewerkt:
hallo jij zegt:
Maar ik wil de datum+tijd alleen tijd hebben, dit lukt me wel

ik zie dat niet in je voorbeeld terug.
en waar om wil je van de tijd een integer maken?
als je wil dat hij zichtbaar is als normale tijd dan moet je de opmaak van de cel aanpassen.

groet sylvester

ps in excel is tijd altijd kleiner dan 1
 
Laatst bewerkt:
Oh nee klopt, ben vergeten in me voorbeeld te doen! Zal dit even aanpassen. De tijd moet een integer worden omdat
ik het wil gaan gebruiken in berekeningen. Ik moet de tijd tussen bepaalde handelingen weten om een diagram te maken.

Bedankt voor uw reactie
 
om met tijd te rekenen hoeft het geen integer te zijn.
om in exel de formules die met tijden te maken hebben te kunnen gebruiken
moet de waarde van de tijd tussen 0 en 1 liggen. de opmaak van de cel maakt hem zichtbaar als bv 13:40:59
je mag er dan geen integer van maken.

groet sylvester
 
phokki,

Al hoewel Excel in diverse talen beschikbaar is, geldt dat niet voor VBA.
Dat is altijd een en de zelfde taal n.l. Engels (Amerikaans).

Groet
 
Sylverster-ponte, in welke geval maak je dan gebruik van integers? :o
Oh en taal maakt dus niet uit in VBA, als ik gewoon formules gebruik in excel dus wel, oke mijn fout!
Gebruik vrij weinig excel dus heb er ook niet zoveel kennis van haha!

Ik zou even kijken als het werkt zonder het integer te maken,
had het wel geprobeerd toen die tijd, maar dat was in het begin van de opdracht. Nu heb ik er meer kennis van
dus misschien dat ik iets over het hoofd gezien had toen!

Ik laat het jullie weten!

Alvast bedankt:love:
 
Laatst bewerkt:
integers gebruik je voor datums.

in excel staat voor de komma de datum en achter de komma de tijd

groet sylveseter
 
Oke, ik heb even getest, de berekeningen gaan inderdaad goed! Vervolgens als ik de diagram wil gaan maken, komt er geen data in.
Terwijl als het integers zijn komt er wel data!! (Even getest in mijn oude bestand, deze is nog niet automatisch).

Iemand nog ideeen?
 
phokki,
Je kan de tijd omzetten naar een integerwaarde met onderstaande formule

=UUR(E2)+MINUUT(E2)/60

Dit geeft een integer waarde van de tijd

Welicht helpt dat

Wim
 
Bedankt WimenBeer voor uw reactie,
phokki,
Je kan de tijd omzetten naar een integerwaarde met onderstaande formule

=UUR(E2)+MINUUT(E2)/60

Dit geeft een integer waarde van de tijd

Welicht helpt dat

Wim

Misschien vraag ik nu teveel maar hoe pas ik dat toe in de onderstaande macro:
Code:
Sub phokki()
        Dim cl As Range
        With Sheets("opdaten")
            Range(.Cells(1, 5), .Cells(Rows.Count, 5).End(xlUp)).Copy Sheets("Tabelle1").Cells(1, 3).Resize(.Rows.Count)
            For Each cl In Sheets("Tabelle1").Range("C1:C" & Sheets("Tabelle1").Range("C" & Rows.Count).End(xlUp).Row)
              cl = Int(cl)
            Next
        End With
End Sub
 
phokki,

Je heb dan helemaal geen macro nodig want dit kan direct in het werkblad.
Maak achter iedere datum kolom een nieuwe kolom.
Hierin kan je dan deze formule opnemen achter iedere datum.
Deze kolom kan je dan gewoon verbergen, maar wel gebruiken in je diagram en je kan er mee rekenen.

Simpeler kan het niet en je hoeft dan ook geen VBA expert meer te zijn (worden).

Wim
 
Oke, dit zou wel werken inderdaad! Maar probleem is ik heb juist een macro nodig. De doktoren willen niet meer dan 10 seconden besteden aan z'n diagram.
Dit zou met één druk op de knop van allerlei berekeningen moeten doen en uiteindelijk daarvan een diagram maken.
Daarom zou ik die formule gelijk willen loslaten op de juiste kolom. Dit met een macro!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan