11. april 2005 - 13:09Der er
15 kommentarer og 2 løsninger
Hjælp til dynamisk opdatering af tabel.
Jeg 4 tabeller. Indholdet i disse bliver automatisk genereret af forskellige andre tabeller. Kolonnerne er helt ens i de 4 tabeller. Jeg vil gerne have en 5. tabel som akkumulere indholdet af de 4 tabeller, således at indholdet i kolonne A-X i tabel1 bliver kopieret over i tabal5 under denne skal indholdet af tabel 2 3 4 komme. Tabellerne 1-4 er dynamiske i antal rækker, men ikke i antal kolonner. Er dette muligt og hvordan?
Jeg er ikke helt sikker på hvad du vil. Hvis række 1 i alle 4 tabeller f.eks. er "omsætning" og kolonne b er "Tøj" vil du så have ark 5 til at vise Omsætning1 100 Omsætning2 150 Omsætning3 120 Omsætning4 130 Subtotal 500
Jeg er stadig lidt i tvivl om dit ønske. Skal tabel 5 vise alle posterne fra tabel 1-4 (hvis hver tabel har 1000 rækker får tabel 5 altså 4000 rækker)? Eller skal tabel 5 have lige så mange rækker som tabel1-4 (altså 1000 rækker), hvor der vises en sum for tabel 1-4?
Så må det være en macro du skal have fat i. Jeg er ikke ekspertens bedste på det område (langt fra!), men nedenstående virker for mig, når de 4 tabeller står i er i samme worksheet i arkene ark1 til ark4 og ønskes samlet i ark 5 fra række 3 og ned (kopiering er jo let, men jeg er sikker på andre kan lave en noget kortere og mere elegant makro):
Sub Totaler1_4() ' ' Totaler1_4 Makro ' Makro indspillet 11-04-2005 af Lasse Olesen '
Private Sub Worksheet_Activate() Columns("A:X").ClearContents ' tømmer arket inden nye sættes ind OpdaterArk5 End Sub
I et Modul
Public Sub OpdaterArk5() ark = Array("Ark1", "Ark2", "Ark2", "Ark4") ' dine ark med tabeller Dest = "Ark5" ' dit ark med samlet tabel For i = 0 To UBound(ark) RW = Sheets(Dest).Range("A65536").End(xlUp).Row + 1 FRW = Sheets(ark(i)).Range("A65536").End(xlUp).Row Sheets(ark(i)).Range("A1:X" & FRW).Copy Sheets(Dest).Range("A" & RW) Next End Sub
Tak for hjælpen kabbak, lige et problem, mine tabeller 1-4 indeholder nogle formler, så jeg vil gerne at det kun er values der bliver pastet ind i tabel 5
Public Sub OpdaterArk5() ark = Array("Ark1", "Ark2", "Ark2", "Ark4") ' dine ark med tabeller Dest = "Ark5" ' dit ark med samlet tabel For i = 0 To UBound(ark) RW = Sheets(Dest).Range("A65536").End(xlUp).Row + 1 FRW = Sheets(ark(i)).Range("A65536").End(xlUp).Row Sheets(ark(i)).Range("A1:X" & FRW).Copy Sheets(Dest).Range("A" & RW).PasteSpecial Paste:=xlValues Next End Sub
Kabbak, du er for beskeden. kosl99=> Jeg synes roligt du kan dele points. Kabbak kom jo med den kortere udgave, jeg vidste fandtes, men ikke selv kunne levere, og vi lærer alle mest af at fastholde jagten efter den bedste løsning. Derfor bør hans anstrengelser belønnes.
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.