online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Piscator vom 25.04.2020, 12:34 Options

Daten exportieren...

Moin,
ich habe mal eine wahrscheinlich ganz einfache Frage.
Ich habe zusammen mit einem VBA Programmierer (da ich keine Ahnung davon habe und der Programmierer in Urlaub ist) ein Programm entwickelt und möchte nun die Statistiken exportieren in eine andere Excel Datei. Es funktioniert auch schon fast automatisch, aber leider werden die Daten immer überschrieben, wenn ich über das Programm einen neuen Datensatz einlese.
Also: Ich habe in meinem Programm einen Reiter "Stats". Dieser zeigt mir die Statistiken eines Patientendatensatzes an. Aber immer nur den zuletzt eingelesenen. Kopiere ich diese Statistiken in eine andere Excel-Datei klappt das natürlich. Lese ich allerdings einen neuen Patientensatz ein, wird auch die Statistik in der neuen Datei überschrieben. Weiß jemand wie ich dies fortlaufend machen kann, daß ich dann die Gesamtstatistik errechnen kann. Da dies über 1000 Datensätze sind möchte ich dies nur ungern manuell tun.

Danke für jegliche Hilfe......


Antwort schreiben

Antwort 1 von Beverly vom 25.04.2020, 16:08 Options

Hi,

vom Prinzip her auf diesem Weg
Sub kopieren()
    Dim loLetzte As Long
    With Workbooks("Mappe2.xls").Worksheets("Tabelle1")
        loLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count) + 1
        ActiveSheet.Range("A10:H10").Copy .Cells(loLetzte, 1)
    End With
End Sub

Tabellen- und Arbeitsmappenname bitte anpassen.

Bis später,
Karin

Antwort 2 von Piscator vom 25.04.2020, 17:46 Options

Danke, das funktioniert soweit. Nur beziehen sich manche Daten auf Formeln, sodaß die Verweise nicht mehr stimmen. Wie lautet denn der Befehl für das 'Inhalte einfügen' + 'Nur Text'?

Danke auf jeden Fall...

Antwort 3 von Piscator vom 25.04.2020, 17:56 Options

Hallo,
ich nochmal.
Im Prinzip sollte dies jetzt noch automatisch gehen.
Also von A2:X2 stehen meine Daten die immer denen aus dem aktuellen Datenblatt des Programms entsprechen, sprich sollte sich immer automatisch in die erste freie Zeile kopieren (die Werte nur)...
Bis jetzt habe ich das nur als Makro, oder kann man den automatisieren?

Grüße

Antwort 4 von Beverly vom 25.04.2020, 19:11 Options

Hi,

hier der selbe Code, nur diesmal zum Einfügen ausschließlich der Werte

Sub kopieren()
    Dim loLetzte As Long
    With Workbooks("Mappe2.xls").Worksheets("Tabelle1")
        loLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count) + 1
        ActiveSheet.Range("A2:X2").Copy
        .Cells(loLetzte, 1).PasteSpecial Paste:=xlValues
        Application.CutCopyMode = False
    End With
End Sub

Wie kommen deine Wert nach A2:X2? Trägst du sie von Hand ein oder werden sie mittels Formel erzeugt? Wie wird im letzten Fall festgelegt, welche Daten in A2:X2 angezeigt werden?

Bis später,
Karin

Antwort 5 von Piscator vom 25.04.2020, 19:23 Options

Super!
Danke vielmals...
Die Werte kommen aus der Patientendatenbank und zeigen immer den zuletzt eingeladenen Patienten an.

So eben:=[orbscan_RC13.xls]patientfile!F5

Kann man das auch automatisieren? Wenn sich der Wert ändert, daß er dann sofort in die nächste leere Zeile kopiert wird?

Danke
Mario

Antwort 6 von Beverly vom 25.04.2020, 19:33 Options

Hi Mario,

heißt das, dass der Code eigentlich ausgeführt werden müsste, sobald in der Patientendatenbank ein neuer Patient mit seinen Daten eingetragen wird? Denn nur dann werden seine Daten ja in der Statistikdatei angezeigt - oder habe ich das falsch verstanden?

Bis später,
Karin

Antwort 7 von Piscator vom 25.04.2020, 19:46 Options

Nein, hast du ganz richtig verstanden. Im Moment mache ich das manuell, d.h. Patient einladen, dann Makro ausführen zum kopieren. Allerdings kann ich auch alle Patienten hintereinander einladen und wenn das funktionieren würde, könnte ich mir 4-5000 klicks sparen.
Das bedeutet, daß die Statistiken sich dann für jeden neuen Patienten ändern. Doch wenn ich jetzt alle einlade, wird nur der letzte angezeigt.

Mario

Antwort 8 von Beverly vom 25.04.2020, 22:41 Options

Hi Mario,

du hast aber nicht geschrieben wie du den letzten Patienten einlädst - mittels DroDown-Listenfeld, oder trägst du z.B. seinen Namen von Hand ein oder wie auch immer. Nur du allein kennst deine Arbeitsmappen und weißt, was du dort ausführst. Für jemanden, der das nicht weiß und nicht sehen kann, was du machst, ist es ziemlich schwierig, das System zu erkennen.

Eine generell andere Möglichkeit: man prüft, ob in der Patientendatenbank genau so viele Einträge vorhanden sind wie in der Statistikdatei. Dazu müsste man aber wissen, ob der Aufbau der beiden Dateien identisch ist, d.h. welche Daten sollen denn übernommen werden und in welchen Zellen stehen sie denn?

Bis später,
Karin

Ähnliche Themen

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026