Avatar billede kewc Nybegynder
13. juni 2008 - 09:51 Der er 5 kommentarer og
1 løsning

Relativ simpel kode

Jeg prøver at forbedre mine evner (helt fra bunden) og laver et par løsninger på nogle problemer med Makro. De 2 makroer i denne kode er indspillet, og virker fint hver for sig. Jeg vil derfor prøve at sætte dem sammen:

Sub Trial()
'
' Ny Macro
'

'
    If D4 = 0 Then
        Calculate
        Range("C1").Select
        Selection.Copy
        Range("D4").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
    Else
    End If
   
    If D4 > 0 Then
        Calculate
        Range("C1").Select
        Selection.Copy
        Range("D5").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
    Else
    End If
End Sub

Det er meningen at makroen, 1. gang den bliver brugt skal kopiere C1 ind i D4 (Dato og tidspunkt), derfefter skal den kopiere det ind i D5 de efterfølgende gange den bliver aktiveret.

På forhånd tak.
Avatar billede jkrons Professor
13. juni 2008 - 10:46 #1
Prøv med

    Range("C1").Copy
    If IsEmpty(Range("d4")) Then
        Range("D4").Select
        ActiveSheet.Paste
    Else
        Range("D5").Select
        ActiveSheet.Paste
    End If
Avatar billede kewc Nybegynder
13. juni 2008 - 11:07 #2
Den skulle copy/paste values, men med den ændring virkede det fint:

Range("C1").Copy
    If IsEmpty(Range("d4")) Then
        Range("D4").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
    Else
        Range("D5").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
    End If

End Sub

Jeg synes ellers min oprindelige udgave var dejlig simpel og logisk ligetil, men det virkede ikke. Tak for svaret, og pointene er på vej når du laver et indlæg.

God weekend
Avatar billede jkrons Professor
13. juni 2008 - 11:27 #3
Her er et svar:-)
Avatar billede kewc Nybegynder
13. juni 2008 - 21:26 #4
Lige et tillægsspørgsmål, hvilken ændring skal der laves for at den kronologisk kopierer C1 ned i den næste tomme celle i række D hver gang makroen bliver aktiveret?

Eks: Makroen bliver aktiveret kl. 12.01, 14.06, 15.09 osv.

Søjle D skulle så hedde:
D1 = 12.01
D2 = 14.06
D3 = 15.09
osv.

Ville ikke lige starte en helt ny tråd op da det meste var herinde, men en 100p tråd kan hurtigt startes såfremt der kommer svar.
Avatar billede excelent Ekspert
13. juni 2008 - 23:22 #5
Sub tst()
rk = Cells(65500, "D").End(xlUp).Row + 1
If IsEmpty([D1]) Then rk = 1
Range("C1").Copy Range("D" & rk)
End Sub
Avatar billede kewc Nybegynder
14. juni 2008 - 00:32 #6
Præcis den jeg skulle bruge, takker. Starter en tråd med point nu, men svarer nok først i morgen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester