Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Letzte Tabellenwerte kopieren und am Ende einer Tabelle einfügen
#1
Hallo,

ich habe schon einiges gelesen, was ähnlich meiner Frage geklungen hat, allerdings hat das bisher nicht zum Erfolg geführt, daher meine Frage:

Ich habe im Tabellenblatt "Uebersicht" Werte in den Spalten B, C, D. Dabei wird täglich, um eine Zeile nach unten verrutscht, der aktuelle Wert eingetragen. Nun soll immer der aktuellste und damit am weitesten unten stehende Wert aus den genannten Spalten in mehrere Tabellenblätter kopiert werden und dort immer am Ende einer Spalte angefügt werden, sodass auch dort die Historie zu erkennen ist. Beispiel:

Tabellenblatt "Uebersicht"
A B C
1 2 3
4 5 6
7 8 9 <-- das soll kopiert werden, also immer die letzte Zeile

Tabellenblatter "Kunde1"
A B C
1 2 3
4 5 6
7 8 9 <-- die kopierten Werte aus "Uebersicht" sollen am Ende der Tabelle eingetragen werden, zudem soll in Spalte D das aktuelle Datum eingetragen werden

Wie kann ich das lösen? Vielen Dank im Voraus.
Antworten Top
#2
Hallo,
leider lässt sich das nur per VBA lösen. Aber dazu brauch man das Sheet um sowas ein zu bauen. Also du müsstet Dir schon die Mühe machen eine Demo Version hier hoch zuladen.
Grüße aus Nürnberg
Armin
Ich benutze WIN 10 (64bit) und Office 19 (32bit)
Antworten Top
#3
(06.08.2018, 14:10)EbyAS schrieb: Hallo,
leider lässt sich das nur per VBA lösen. Aber dazu brauch man das Sheet um sowas ein zu bauen. Also du müsstet Dir schon die Mühe machen eine Demo Version hier hoch zuladen.

Hallo EbyAS,

alles klar, vielen Dank für deine Bemühungen! Siehe anbei.


Angehängte Dateien
.xlsx   DemoVersion.xlsx (Größe: 18,79 KB / Downloads: 4)
Antworten Top
#4
Zitat:Ich habe im Tabellenblatt "Uebersicht" Werte in den Spalten B, C, D.

Tabellenblatt "Uebersicht"
A B C
1 2 3

Zunächst möchten wir erst mal Ordnung schaffen.  In Deiner Demo existiert keine Tabelle "Übersicht" also gehe ich davon aus das die Tabelle1 diese sein soll! Denn wenn ich Bezug auf "Tabelle1" nehme findet er im "Original" dann natürlich keine Tabelle "Übersdicht". Genauso verhält es sich mit den Spalten B,C,D oder A, B,C  was soll ich benutzen?
Grüße aus Nürnberg
Armin
Ich benutze WIN 10 (64bit) und Office 19 (32bit)
Antworten Top
#5
(06.08.2018, 14:36)EbyAS schrieb: Zunächst möchten wir erst mal Ordnung schaffen.  In Deiner Demo existiert keine Tabelle "Übersicht" also gehe ich davon aus das die Tabelle1 diese sein soll! Denn wenn ich Bezug auf "Tabelle1" nehme findet er im "Original" dann natürlich keine Tabelle "Übersdicht". Genauso verhält es sich mit den Spalten B,C,D oder A, B,C  was soll ich benutzen?

Sorry, das hatte ich in der Eile vergessen umzubenennen. Bitte nutze es so, wie es jetzt in der Datei ist. Ich denke, das ist am einfachsten. Ich denke, ggf. den Code um einzelne Spalten anzupassen, traue ich mir zu. Vielen herzlichen Dank. Smile
Antworten Top
#6
Hallo,
hier ein Versuch. Bitte beachten es müssen 3 Werte vorhanden sein sonst passiert garnichts. Also in Spalte A,B und C nach der letzeten Eingabe (Spalte C) wird die Zeile Übertragen in Klient(n).
Wichtig! Es darf keine Tabelle mit irgend was existieren, diese würde überschrieben. Nur für den Fall, dass das Original weitere Seiten auser Klient(n) und Uebersicht hat. Das müsste im Code berücksichtigt werden. Übrigens habe ich nicht "Übersicht" sondern "Uebersicht" ohne Umlaut als Tabellen-Namen verwandt.


Angehängte Dateien
.xlsm   DemoVersion.xlsm (Größe: 27,88 KB / Downloads: 4)
Grüße aus Nürnberg
Armin
Ich benutze WIN 10 (64bit) und Office 19 (32bit)
Antworten Top
#7
Klasse, so hatte ich mir das vorgestellt. Tausend Dank!!  :19:
Antworten Top
#8
Hi,

hier mal eine Alternative, die nur einmal am Tag das Kopieren zuläßt:


Code:
Sub Test()
Dim loLetzte As Long
Dim loLetzte2 As Long
Dim loA As Long
Dim loB As Long
loLetzte2 = Sheets("Klient1").Cells(Rows.Count, 1).End(xlUp).Row
If Sheets("Klient1").Cells(loLetzte2, 1) = Date Then Exit Sub
With Sheets("Tabelle1")
    loLetzte = .Cells(Rows.Count, 1).End(xlUp).Row
    '.Range(.Cells(loLetzte, 1), .Cells(loLetzte, 3)).Copy
    For loA = 1 To Sheets.Count
        If Sheets(loA).Name <> "Tabelle1" Then
            loLetzte2 = Sheets(loA).Cells(Rows.Count, 1).End(xlUp).Row + 1
            Sheets(loA).Cells(loLetzte2, 1) = Date
            For loB = 1 To 3
                Sheets(loA).Cells(loLetzte2, loB + 1) = .Cells(loLetzte, loB)
            Next
        End If
    Next
End With
End Sub
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste