23. januar 2008 - 17:08Der er
9 kommentarer og 1 løsning
Hjælp til makrokode.
Hej alle. Jeg har et problem jeg vil høre om nogle har en ide hvordan det kan løses. Jeg har en projekt mappe hvor der i ark 1 er en ugeseddel. Denne seddel fylder fra A1 til I24. Når uge seddelen er udfyldt gemmer jeg denne som PDF For eks. uge 1. Det jeg gerne vil have hjælp til er en måde hvor man kan overfører den udfyldte seddel til ark 2 (Altså (ARK 1 A1 Til I24) overføres til Ark 2 kolonne A til I. Nu komme mit store problem. Hvordan overfører det aktuelle område og indsætter de forskellige uger under hinanden (EKS uge 2,3,4 osv)På ark 2 Kolonne A til I ?? Hvordan Kan man sikre at der ikke er dubletter (EKS 2 stk uge nr 3)Hvis man laver en makro og får trykke to gange på overfør.?? Kan man bruge oplysningen i celle Ark1 A2 står "uge Nr.:3" til noget.?? (Jeg retter ugenummeret hver gang jeg laver en ny ugeseddel.) Til oplysning skal Overførslen til ark 2 bruges til kontrol ifb.med lønudbetaling. Mvh Petert
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Sub KopierOmraade() Dim a As Byte Dim uge As String
uge = Sheets(1).Range("a2")
Sheets(1).Select Range("A1:I24").Select Selection.Copy Sheets("Ark2").Select Range("a65536").Select Selection.End(xlUp).Offset(1, 0).Select For Each c In Range("a1:" & Selection.Address) If c.Value = uge Then a = a + 1 Else a = a + 0 End If Next c If a = 1 Then Application.CutCopyMode = False Exit Sub Else ActiveSheet.Paste End If End Sub
Jeg er lige lidt tilbage. den laver fejl under afviklingen."denne er gul når jeg trykker på DEBRUG"(.Width = 847.5) Kan det ændres så det er området fra A2 til I24 der overføres?? MVH Petert
Jeg har løst det med at den melder fejl under afvikling. Og ændret så den tager A2 til I24 men den gør følgende. Hvis jeg laver ugeseddel for uge 1 og 2 og 3 står der i ark 2 følgende (række 2+3 og ikke række 2 til 24 fra hver uge indsat under hinanden. MVH Petert
Hos mig virker det fint. Den tager området A2 til I24 og indsætter i Ark2. Næste gang tager den samme område, og indsætter Ark2 under de første 23 linier, hvis ikke ugenummeret allerede findes. i Så fald indsætter den ikke noget.
Har du ændret andet i koden end at rette A1 til A2?
Sub KopierOmraade() Dim a As Byte Dim uge As String
uge = Sheets(1).Range("a2")
Sheets(1).Select Range("A2:I24").Select Selection.Copy Sheets("Ark2").Select Range("a65536").Select Selection.End(xlUp).Offset(1, 0).Select For Each c In Range("a1:" & Selection.Address) If c.Value = uge Then a = a + 1 Else a = a + 0 End If Next c If a = 1 Then Application.CutCopyMode = False Exit Sub Else ActiveSheet.Paste Application.CutCopyMode = False End If End Sub
Hej jkrons dette "I øvrigt er der inden .with i min kode" har jeg ikke problem med mere det var mig der klumrede i det. Jeg har ikke ændret andet i koden Men det virker ikke hos mig. kan jeg ikke sende et ark som vedhæftet fil pr mail til dig, så du kan se hvad der er galt? MVH Petert
I forbindelse med Indsæt testede makrioen på A-kolonnen, som ikke altid indeholdt data i alle celler. Nu testes i stedet på C-som altid indeholder en tekst i sidste celle i hver "kopi".
Sub KopierOmraade() Dim a As Byte Dim uge As String
uge = Sheets(1).Range("a2")
Sheets(1).Select Range("A1:I25").Select Selection.Copy Sheets("Ark2").Select Range("C65536").Select Selection.End(xlUp).Offset(1, 0).Select Range("A" & Selection.End(xlUp).Offset(1, 0).Row).Select For Each c In Range("a1:" & Selection.Address) If c.Value = uge Then a = a + 1 Else a = a + 0 End If Next c If a = 1 Then Application.CutCopyMode = False Exit Sub Else ActiveSheet.Paste End If End Sub
Synes godt om
Ny brugerNybegynder
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.