12. september 2007 - 22:05Der er
10 kommentarer og 2 løsninger
Flytte værdi til et andet ark
Jeg arbejder i to ark. Ark1 er et ordre/produktions ark. I dette ark er der 3 kolonner kolonne a = vare, kolonne b = ordreindgangsdato, kolonne c = produktionsdato.
I ark2 har jeg i kolonne a en kalender med en dato pr. række.
Det jeg gerne vil lave er et overblik i mit kalender ark, så den vare der kommer en ordre på bliver lagt over i kalender arket i kolonne b ud for den dato ordren blev lagt. Og det samme med produktionsdatoen. Hvis der er flere ordrer eller produktioner skal de ligges i den næste ledige celle ud for datoen i kalenderen.
I kalenderarket skal ordre celler farves røde og produktions celler farves grønne.
Kan det lade sig gøre, og evt. helt uden brug af VBA.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Tak. Det ser ud til at kunne virke. Men hvad nu hvis der er to ordre datoer der er ens. Så vil jeg gerne have at den smider nummer 2 ud i den næste kolonne i ark2. Og hvad hvis der er så også er en produktionsdato der er den samme som de to ordredatoer, så skal den kunne smide denne ud i den næste ledige kolonne.
PS. Der var fejl i koden til produktionsdato. Koden til at hente produktionsdato skal se sådan ud. =HVIS(ER.FEJL(SAMMENLIGN(A2;Ark1!$C$2:$C$500;0));"";INDEKS(Ark1!$A$2:$A$500;SAMMENLIGN(A2;Ark1!$C$2:$C$500;0)))
Hvis du har produktions dato i kolonne C så skulle den nu virke som jeg lavede den. den du har ændret henter værdi i kolonne A, og der skulle vare være efter din beskrivelse.
men bortset fra det, så er jeg bange for at vi ikke undgår VBA jeg har ikke umiddelbart en løsning på de evt. ekstra kolonner.
så hvis du kan leve med en makro, så indsæt denne i arkets kodemodul (Højreklik på Ark1's fane, vælg vis programkode og indsæt kode der) Koden starter når du indtaster nye varer i Ark1
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("B2:C500")) Is Nothing Then Exit Sub
Sheets("Ark2").Range("B2:Q500").Clear r1 = Sheets("Ark1").Cells(65500, 1).End(xlUp).Row For t = 2 To r1 dato = Sheets("Ark1").Cells(t, 2).Value r2 = Sheets("Ark2").Range("A2:A500").Find(dato, LookIn:=xlValues).Row c2 = Sheets("Ark2").Cells(r2, 250).End(xlToLeft).Column + 1 Sheets("Ark2").Cells(r2, c2) = Sheets("Ark1").Cells(t, 1).Value If Sheets("Ark2").Cells(r2, c2) = "" Then Sheets("Ark2").Cells(r2, c2) = "'" Sheets("Ark2").Cells(r2, c2 + 1) = Sheets("Ark1").Cells(t, 3).Value If Sheets("Ark2").Cells(r2, c2 + 1) = "" Then Sheets("Ark2").Cells(r2, c2 + 1) = "'" Sheets("Ark2").Cells(r2, c2).Interior.ColorIndex = 3 Sheets("Ark2").Cells(r2, c2 + 1).Interior.ColorIndex = 4 Next
Hej Excelent. Jeg tænkte nok jeg ikke kunne slippe for VBA. Jeg har afprøvet dit eksempel og det fungerer fint, med små skønhedsfejl, som jeg selv kan fifle med at få løst. Bl.a. farver den også nogle tomme celler, hvor der ikke er hevet nogle værdier med over. Og det er i begge tilfælde værdien i kolonne a, altså varen, jeg gerne vil have med over i ark2. Farvekoden fortæller mig så om det er ordre eller produktion.
Jeg venter lige lidt med at give point, da jeg gerne vil se om der andre der kan løse den uden VBA.
I Ark2 celle B2 indsæt : =HVIS(TÆL.HVIS(Ark1!$B$2:$B$500;A2)>=1;INDEKS(Ark1!$A$1:$A$500;MINDSTE(HVIS(Ark1!$B$1:$B$500=A2;RÆKKE(Ark1!$A$1:$A$500));1));"") I Ark2 celle C2 indsæt : =HVIS(TÆL.HVIS(Ark1!$B$2:$B$500;A2)>=1;INDEKS(Ark1!$C$1:$C$500;MINDSTE(HVIS(Ark1!$B$1:$B$500=A2;RÆKKE(Ark1!$A$1:$A$500));1));"") I Ark2 celle D2 indsæt : =HVIS(TÆL.HVIS(Ark1!$B$2:$B$500;A2)>=2;INDEKS(Ark1!$A$1:$A$500;MINDSTE(HVIS(Ark1!$B$1:$B$500=A2;RÆKKE(Ark1!$A$1:$A$500));2));"") I Ark2 celle E2 indsæt : =HVIS(TÆL.HVIS(Ark1!$B$2:$B$500;A2)>=2;INDEKS(Ark1!$C$1:$C$500;MINDSTE(HVIS(Ark1!$B$1:$B$500=A2;RÆKKE(Ark1!$A$1:$A$500));2));"") I Ark2 celle F2 indsæt : =HVIS(TÆL.HVIS(Ark1!$B$2:$B$500;A2)>=3;INDEKS(Ark1!$A$1:$A$500;MINDSTE(HVIS(Ark1!$B$1:$B$500=A2;RÆKKE(Ark1!$A$1:$A$500));3));"") I Ark2 celle G2 indsæt : =HVIS(TÆL.HVIS(Ark1!$B$2:$B$500;A2)>=3;INDEKS(Ark1!$C$1:$C$500;MINDSTE(HVIS(Ark1!$B$1:$B$500=A2;RÆKKE(Ark1!$A$1:$A$500));3));"")
Alle formlerne skal afsluttes med CTRL+SHIFT+ENTER {} kopier med fyldhåndtag så langt ned du har datoer i kolonne A
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.