Brauche hilfe in VBA Excel. Wie kann man aus einer erstellten Rechnung daten in einer neuen Tabelle speichern?

...komplette Frage anzeigen

1 Antwort

Du musst in Blatt 2 -benenne es  ReLi wie RechnungsListe- eine Tabelle mit zB folgenden Spalten anlegen:

A:A Rechnungsnummer

B:B Name

C:C Vorname

D:D Datum

E:X die weiteren Daten, die relevant sind.und deshalb aus A übernommen werden sollen

Im Blatt ReLi übernimmst Du die Daten mit =(Adresse des Feldinhalts $absolut) für alle relevanten Felder (Benennst Du im Re-Blatt die Felder mit Namen, macht xl das automatisch absolut) und zwar für die gesamte datenzeile soweit relevant (ich nehme mal an, Z bleibt frei, s. später).

Diese Formeln kopierst Du erst mal eins nach unten: die Werte beider Zeilen müssen ALLE gleich sein (sonst ist ein Fehler drin) (sollte Zeile 2 und 3 sein, Zeile 1 enthält die Überschriften)

Nun verwendest Du eine bedingte Formatierung: "Formel ist":

  • =($A1&$B1&$C1&.....$x1)=($A2&$B2&.....4x1)
  • Bezieht sich auf $A2:$x2
  • für diese Bedingung die Schrift gelb formatieren
  • Dieses Format auf Zeile 3 übertragen (Formatpinsel)
  • Da die Rechnungsnummern definitiv unterschiedlich sein müssen, sollte als Formel auch genügen;
  • =$A1=$A2, aber da werden erst teilweise ausgestellte Rechnungen auch schon schwarz geschrieben, bei der obigen Langformel dagegen erst, wenn Alle genannten Felder ausgefüllt sind!

Zeile 3 auf Vorrat nach unten kopieren: alle Zeilen ab Zeile 3 müssen gelbe Schrift haben (also kaum sichtbar sein)

  • Zeile 2 (die erste mit den Formeln)muss in eingestellter Schriftfarbe erscheinen (zB schwarz oder blau etc)

fixierst Du nun Zeile 2 als Werte und füllst das Formblatt neu, erscheint die erste noch nicht fixiete Zeile, die ja jetzt die neuen Übernahmedaten enthält, wieder in eingestellter schriftfarbe, die darunter bleiben gelb.

Also nochmal: Die erste jeweils schwarz geschriebene Zeile wird kopiert und als Werte wieder eingefügt, am besten,bevor du die Daten zum Drucken schickst (oder gleich danach, aber nicht vergessen!).

Eine Erinnerungsformel mit Warnhinweis liefere ich Dir später nach, das dauert mir jetzt zu lang. (dafür zB Spalte Z, weil die mit der Zeit arbeitet)

Zum Wiedererstellen in Blatt 3 brauchst Du keinen eigenen Button, das geht mit Formeln (oder ist das eine Übung für VBA?)

Die Formel

=index(ReLi!B:B:Vergleich(Rechnungsnummer in Blatt3;ReLi!$A:$A;0))

gibt Dir den Namen wieder, index(ReLi!C:C;Vergleich(....)) den Vornamen usw.

PS: ich würde übrigens noch eine Kundennummer vorsehen zur eindeutigen Identifizierung: es gibt viele Hans Meier oder Josef Huber!

Das Ganze war eine "Trockenübung", melde Dich, wenn was nicht funktioniert oder Du weitere Fragen dazu hast.

lula08 10.07.2017, 20:06

Hallo,

Erstmal vielen dank für diese sehr ausführliche antwort. Aber ja du hast recht es sollte schon in VBA geschrieben sein. Bekommst du das in VBA auch hin?

MFG

1
Iamiam 11.07.2017, 23:29
@lula08

Na ja, müsste gehen, aber heute nicht mehr...

0
lula08 17.07.2017, 20:38
@Iamiam

Okay wäre nett und hilfreich, wenn du eine Lösung hättest ;)

0

Was möchtest Du wissen?