Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

letzte Zeile Werte übertragen

letzte Zeile Werte übertragen
20.02.2007 05:21:43
highman4
Hallo Excelexperten,
ich komme mal wieder nicht weiter.
Ich habe nachstehende Exceltabelle angelegt, wo ich nach VDI eine Filterkontrolle und Wechsel nachhalten will.
Leider sind meine VBA Kenntnisse so bescheiden, dass ich nicht so den richtigen Ansatz finde.
Im letzten Sheet (Ergebnisse) möchte ich gern die Ergebnisse der eingetragenen Werte aus den Sheets immer aktuell halten und abgleichen um auf einen Blick einen Stand zu haben.
Kann mir hier jemand einen Vorschlag machen oder wenigstens einen Denkanstoß geben?
Auch würde ich gern beim Ausfüllen einer Zeile sofort wieder eine leere Zeile mit den entsprechenden Formatierung der Vorzeile anhängen, Leider blieben meine Versuche dabei auch noch ohne Erfolg.
Wenn jemand mal ein paar Minuten hätte um drüber zu gucken wäre ich sehr dankbar.
https://www.herber.de/bbs/user/40553.xls
Viele Grüsse
Marco

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: letzte Zeile Werte übertragen
20.02.2007 09:00:50
Heide_Tr
hallo Marco,
mit folgendem Makro kannst Du im aktiven Worksheet hinter die letzte Zeile eine formatierte Zeile anhängen:


Sub Zeile_anfügen()
    Letzte = ActiveSheet.Range("A65536").End(xlUp).Row      ' letzte Zeile ermitteln
    Rows(Letzte).Copy Rows(Letzte + 1)                      ' letzte Zeile kopieren
    Rows(Letzte + 1).ClearContents                          ' Inhalt löschen
    Application.CutCopyMode = False                         ' Zwischenablage löschen
End Sub


mit dem zweiten Makro kannst du auf dem Sheet "Ergebnis" die Ergebnisse zusammentragen:


Sub Werte_sammeln()
Dim ws As Worksheet
Dim Zeile As Integer
Dim Letzte As Integer
   Worksheets("Ergebnis").Select
   Zeile = 2                                         ' Zeile der Zielliste
   For Each ws In ActiveWorkbook.Worksheets
     x = ws.Name
     If ws.Name <> "Filter" And ws.Name <> "Muster" And ws.Name <> "Ergebnis" Then
        Letzte = ws.Range("A65536").End(xlUp).Row    ' letzte Zeile des ws ermitteln
        Range("E" & Zeile) = ws.Range("A" & Letzte)  ' Werte zuweisen
        Range("F" & Zeile) = ws.Range("B" & Letzte)
        Range("G" & Zeile) = ws.Range("H" & Letzte)
        Range("C" & Zeile) = ws.Range("I" & Letzte)
        Range("D" & Zeile) = ws.Range("J" & Letzte)
        Zeile = Zeile + 1
     End If
   Next ws
End Sub


Unschön am zweiten Makro ist, dass er die Worksheets der Reihe nach abarbeitet und in Deiner Ergebnisliste untereinander schreibt. Er überprüft nicht, ob der Name des Worksheets mit der Ergebniszeile übereinstimmt. Dies solltest Du noch einbauen - aber dazu müsstest Du die Namen der Worksheets ändern oder die Ergebniszeilen um "Zuluftfilter" statt "Zul." erweitern. Andernfalls wird die Suche recht komplex.
viele Grüße. Heide
Anzeige
AW: letzte Zeile Werte übertragen
20.02.2007 09:13:00
highman4
Hallo Heide,
vielen vielen Dank für Deine Hilfe Du hast mir wirklich echt sehr weitergeholfen.
Ist immer blöd wenn man so ein bischen unter Zeitdruck steht, die Praxis in VBA fehlt und
dann will man was passendes schaffen.
Ich habe Deinen Code noch nicht eingebaut, aber ich denke es wird klappen, die Ereignisliste baue ich natürlich um.
Nochmals vielen Dank und schöne Grüsse
Marco
Nachtrag
20.02.2007 09:58:38
Heide_Tr
hallo Marco,
Falls auf den einzelnen Sheets die Zeile für Filterkontrolle und Filterwechsel nicht komplett gefüllt wird (Filterkontrolle ist schon neu, Filterwechsel endet irgendwo vorher), dann das zweite Makro so:


Sub Werte_sammeln()
Dim ws As Worksheet
Dim Zeile As Integer
Dim Letzte As Integer
   Worksheets("Ergebnis").Select
   Zeile = 2                                         ' Zeile der Zielliste
   For Each ws In ActiveWorkbook.Worksheets
     x = ws.Name
     If ws.Name <> "Filter" And ws.Name <> "Muster" And ws.Name <> "Ergebnis" Then
        Letzte = ws.Range("A65536").End(xlUp).Row    ' letzte Zeile Filterkontrolle
        Range("E" & Zeile) = ws.Range("A" & Letzte)  ' Werte zuweisen
        Range("F" & Zeile) = ws.Range("B" & Letzte)
        Range("G" & Zeile) = ws.Range("H" & Letzte)
        Letzte = ws.Range("I65536").End(xlUp).Row    ' letzte Zeile Filterwechsel
        Range("C" & Zeile) = ws.Range("I" & Letzte)
        Range("D" & Zeile) = ws.Range("J" & Letzte)
        Zeile = Zeile + 1
     End If
   Next ws
End Sub

viele Grüße. Heide
Anzeige
AW: Nachtrag
20.02.2007 13:27:19
highman4
Hallo Heide,
Du denkst genau mit was mein Problem ist.
Leider habe ich nicht mehr reingeguckt und dadurch nicht gesehen, dass Du das sich offenbarende Problem schon lange gelöst, erkannt und an mich übermittelt hast.
Ich habe natürlich eben gerade noch einmal eine Frage nachgeschoben die sich damit wirklich erledigt hat.
Vielen vielen Dank für Deine Hilfe.
Viele Grüsse
Marco

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige