![]() |
Betrifft: Daten aus Excel Tabelle in andere Tabelle übertrag
von: tony0786
2010 - Daten aus Excel-Datei per Schaltfläche in andere Excel-Datei übertragen
Guten Tag zusammen. Ich hoffe es war richtig ein neues Thema zu eröffnen, da ich kein anderes /ähnliches Thema gefunden habe.
Ich habe folgendes Problem.
Ich möchte gerne Werte aus einer Excel Tabelle per Knopfdruck in eine andere Excel Tabelle einer anderen Excel-Datei übertragen.
Die erste Tabelle ist ein Bautagesbericht. Dieser enthält viele Informationen und einige wenige davon möchte ich gerne per Konopfdruck in einer weiteren Excel-Datei-Liste auflisten. Dabei sollen allerdings nur Werte übertragen werden welche ein bestimmtes Kriterium erfüllen. Diese Abfrage muss leider sein, da nicht immer die gleiche Zelle abgefragt werden soll.
Zum Beispiel folgender Fall:
In dem Bautagesbericht stehen in einer Liste diverse Tätigkeiten, welche von einer Vorgangs-ID abhängig sind. Siehe Bild_1 im Anhang bzw. Link ganz unten.
Links ist die Vorgang-ID und die rechte Spalte beinhaltet die Tätigkeit bzw. das Ereignis. Jetzt sollen per Knopfdruck alle Werte die in der Vorgang-ID ein "BD" und oder ein "BH" beinhalten übertragen werden. Zwar gibt es unterschiedliche ID´s jedoch würde es ausreichen wenn das Programm erkenn das ein "BD" oder ein "BH" enthalten ist. Darüber hinaus soll noch das in der Quelldatei enthaltene Datum "Zelle Z5" in die Zieldatei übertragen werden. Dabei sollen die Werte einfach in den zugewiesenen Spalten aufgelistet werden. Das bedeutet das Programm muss wissen wo die erste leere Zelle anfäng in der Zieldatei.
Im Prinzip reicht eine einfache auflistung aus. Es muss nicht chronologisch sein, da das datum mit übertragen werden sol. Für eine chronologische Auföistung kann dann später die Sortiefunktion verwendet werden in der Zieldatei. Da es ein Bautagesbericht ist, soll diese Vorgehensweise jeden Tag von einem neuen Bautagesbericht aus gestartet werden. Die Zieldatei bleibt jedoch immer die gleich und würde sich nur bei einem neuen Projekt ändern.
erste Frage:
Ist mein Vorhaben möglich?
zweite Frage?
Was benötigt Ihr noch um mir eventuell weiter zu helfen?
Ich danke dem oder derjenigen Helfer schon mal vielmals im voraus.
Ich habe leichte Excelkenntnisse und habe auch schon mal was in VBA gemacht jedoch liegt das schon 6-7 Jahre zurück. Dementsprechend eingestaubt ist mein Wissen. Ich nutze Excel 2010.
MfG
Tony0786
![]() |
Betrifft: dies geht auch ohne "Knopfdruck" ...
von: der neopa C
Geschrieben am: 28.04.2015 08:48:45
Hallo Tony,
... dies kann man mit einer Formel lösen. Lade dazu mal Deinen kleinen Datenauszug als Datei hier hoch.
Gruß Werner
.. , - ...
![]() |
Betrifft: AW: dies geht auch ohne "Knopfdruck" ...
von: tony0786
![]() |
Betrifft: das ist ein anderer Sachverhalt ...
von: der neopa C
![]() |
Betrifft: AW: das ist ein anderer Sachverhalt ...
von: tony0786
Geschrieben am: 28.04.2015 09:56:50
Hmm, ok!
Das bedeutet es ist zu schwierig?
Oder es kann mir niemand helfen?
Gruß Tony
![]() |
Betrifft: ich stelle Deinen Thread wieder auf offen t ...
von: der neopa C
Geschrieben am: 28.04.2015 10:11:30
Hallo Tony,
... ich halte mich aus VBA-Lösungsangeboten außen vor. Als schwierig betrachte ich es nicht.
Gruß Werner
.. , - ...
![]() |
Betrifft: Haste aber nicht, Werner...! Aber jetzt! orT
von: Luc:-?
Geschrieben am: 28.04.2015 19:55:07
Gruß, Luc :-?
![]() |
Betrifft: Datenübertragung mit Makro
von: Daniel
Sub Übertrag()
Dim wbE As Workbook
Dim ZelleZiel As Range
Dim i As Long
Dim ZelleQuelle As Range
With ThisWorkbook.Sheets("BTB")
'--- Prüfen, ob relevante Einträge vorhanden sind
If WorksheetFunction.Sum(.Range("AL:AL")) = 0 Then
MsgBox "Keine relevanten Einträge vorhanden."
Exit Sub
End If
'--- Prüfen, ob Ereignisdatei geöffnet ist
For Each wbE In Application.Workbooks
If wbE.WorkSheets(1).Name = "Ereignisse" Then Exit For
Next
If wbE Is Nothing Then
MsgBox "Bitte Ereignis-Datei öffnen und dann Makro nochmal ausführen:"
Exit Sub
End If
'--- Daten übertragen
Set ZelleZiel = wbE.WorkSheets(1).Cells(Rows.Count, 3).End(xlUp).Offset(1, 0)
For Each ZelleQuelle In .Range("AL:AL").SpecialCells(xlCellTypeFormulas, 1)
ZelleZiel.Offset(i, 0).Value = .Range("Z5").Value
ZelleZiel.Offset(i, 1).Value = ZelleQuelle.Offset(0, 1 - ZelleQuelle.Column).Value
ZelleZiel.Offset(i, 2).Value = ZelleQuelle.Offset(0, 6 - ZelleQuelle.Column).Value
i = i + 1
Next
End With
End Sub
gruß Daniel![]() |
Betrifft: AW: Datenübertragung mit Makro
von: tony0786
![]() |
Betrifft: AW: Datenübertragung mit Makro
von: Daniel
Geschrieben am: 30.04.2015 14:31:23
tja, da wird sich wohl dein Bekannter drum kümmern müssen, da kann ich dir auch nicht weiter helfen.
Gruß Daniel
![]() |
Betrifft: AW: Datenübertragung mit Makro
von: tony0786
Geschrieben am: 01.05.2015 10:34:13
OK Daniel, trotzdem vielen Dank für Deine Bemühung.
Schönes Wochenende wünsche ich noch.
Freundliche Grüße Tony
![]() |