Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Abfragen händisch eingetragene Daten erhalten
02.11.2015 19:10:25 Melanie
NotSolved
04.11.2015 11:04:03 Gast61312
NotSolved
09.11.2015 15:09:44 Gast37067
NotSolved

Ansicht des Beitrags:
Von:
Melanie
Datum:
02.11.2015 19:10:25
Views:
1732
Rating: Antwort:
  Ja
Thema:
VBA Abfragen händisch eingetragene Daten erhalten
Hallo Alle Miteinander, ich versuche gerade eine wunderbar in VBA programmierte Exceltabelle (nicht von mir programmiert, aber meine Tabelle und von mir ergänzt)mit 16 Tabellenblättern noch weiter zu ergänzen und komme nicht weiter. In Tabellenblatt 1 „wksEL = Worksheets("Einladung")“ stehen u.a. Adressdaten Name, Straße etc. in Tabellenblatt 16 „wksSPQUIT = Worksheets("Sp_Quitt")“ brauche ich nur bestimmte Eintragungen aus dem Tabellenblatt „Einladung“ um daraus einen Serienbrief zu generieren. Die Angaben in den einzelnen Zellen des Tabellenblattes „Einladung“ werden immer wieder ergänzt oder auch geändert,es ist eine Tabelle für Zu- und Absagen zu Veranstaltungen einer Hilfsorganisation für hilfsbedürftige Kinder. Bestimmte Zelleinträge aus Tabellenblatt 1 sollen übertragen werden wenn gezahlt wurde: „If UCase(.Cells(lngZ, 6).Value) > "0" “, usw. das klappt. aber dazu gibt es zwei Bedingungen: Wenn gezahlt wurde und keine andere Adresse in der Zusage (die kommt per Fax) angegeben wurde können die Daten so in das Tabellenblatt „Worksheets("Sp_Quitt")“ übernommen werden, wie diese im Tabellenblatt „Worksheets("Einladung")“ schon stehen If UCase(.Cells(lngZ, 6).Value) > "0" And .Cells(lngZ, 25).Value = "" Then wksSPQUIT.Cells(lngLastRowSPQUIT, 3).Value = .Cells(lngZ, 6).Value 'bez. am wksSPQUIT.Cells(lngLastRowSPQUIT, 4).Value = .Cells(lngZ, 5).Value 'Betrag wksSPQUIT.Cells(lngLastRowSPQUIT, 7).Value = .Cells(lngZ, 9).Value 'Vorname wksSPQUIT.Cells(lngLastRowSPQUIT, 6).Value = .Cells(lngZ, 10).Value 'Nachname usw. das klappt auch, ist aber leider noch nicht das was ich brauche. Wenn ich andere Adressdaten z.B. eine andere Straße oder Firma bekomme, mach ich einen Eintrag “X“ im Tabellenblatt „Worksheets("Einladung")“ in der Spalte „Andere Adresse“ und übernehme nur die Einträge aus den Spalten zum Namen ohne Adressdaten bzw. Wenn kein “X” in der Spalte „Andere Adresse“ steht werden alle Einträge übernommen das geht auch 'Sp.-Quitt If UCase(.Cells(lngZ, 6).Value) > "0" And .Cells(lngZ, 25).Value = "X" Then wksSPQUIT.Cells(lngLastRowSPQUIT, 3).Value = .Cells(lngZ, 6).Value 'bez. am wksSPQUIT.Cells(lngLastRowSPQUIT, 4).Value = .Cells(lngZ, 5).Value 'Betrag wksSPQUIT.Cells(lngLastRowSPQUIT, 7).Value = .Cells(lngZ, 9).Value 'Vorname wksSPQUIT.Cells(lngLastRowSPQUIT, 6).Value = .Cells(lngZ, 10).Value 'Nachname ElseIf UCase(.Cells(lngZ, 6).Value) > "0" And .Cells(lngZ, 25).Value = "" Then wksSPQUIT.Cells(lngLastRowSPQUIT, 3).Value = .Cells(lngZ, 6).Value 'bez. am wksSPQUIT.Cells(lngLastRowSPQUIT, 4).Value = .Cells(lngZ, 5).Value 'Betrag wksSPQUIT.Cells(lngLastRowSPQUIT, 7).Value = .Cells(lngZ, 9).Value 'Vorname wksSPQUIT.Cells(lngLastRowSPQUIT, 6).Value = .Cells(lngZ, 10).Value 'Nachname usw. das klappt. ABER die neuen Adressdaten werden per Hand in das Tabellenblatt Worksheets("Sp_Quitt")“ in die leeren Zellen für Straße, Ort etc eingetragen, denn in Tabelle 1 MÜSSEN die Adressdaten erhalten bleiben. Bei der nächsten Abfrage durch das Makro werden die händisch eingetragenen Werte wieder gelöscht und die sollen eigentlich erhalten bleiben. Mir ist schon klar, dass die händisch eingetragenen Werte überschrieben werden, weil ja in der Bedingung steht, „ Value = "X" Then“ nur bestimmte Zellen übernehmen aus Tabellenblatt „Einladung“, auf das sich die Formel bezieht. Ich bräuchte hier also einen Befehl, der die händisch gemachten Einträge im Tabellenblatt „Sp_Quitt“ zu dem betreffenden Namen beibehält aber das Tabellenblatt „SP-Quitt“ muss trotzdem mit den neuen Daten, die im Tabellenblatt „Einladung“ zu anderen Namen gemacht wurden, aktualisiert werden. Ergänzen sollte ich vielleicht noch, dass es zu den Tabellenblättern auch noch einen Befehl gibt „Altdaten löschen“, wksSPQUIT.Range("C3:K" & wksSPQUIT.Cells(Rows.Count, 2).End(xlUp).Row + 3).ClearContents der müsste dann bestimmt auch angepasst werden, oder? Die Sortierung der Liste funktioniert leider auch nicht: '### Listen sortieren ### 'Sp_Quitt With wksSPQUIT.Range("A3:K" & wksSPQUIT.Cells(Rows.Count, 1).End(xlUp).Row + 2) .Sort Key1:=.Range("C3"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal End With Kann man das mit VBA lösen? Ich wäre für eine Lösung sehr dankbar, da ich die Tabelle ständig benutze, für verschiedene Veranstaltungen der Hilfsorganisation, immer mit anderen Daten in den Zellen, aber immer das Gleiche Prozedere. Vielen Dank im Voraus liebe Grüße Melanie

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Abfragen händisch eingetragene Daten erhalten
02.11.2015 19:10:25 Melanie
NotSolved
04.11.2015 11:04:03 Gast61312
NotSolved
09.11.2015 15:09:44 Gast37067
NotSolved