Hallo w-w-w-Gemeinde,
ich möchte hier an einen weiter untenstehenden Thread (zur Zeit noch der unterste) „Kundenkonto suchen und Guthaben ausgeben“
http://www.wer-weiss-was.de/cgi-bin/f…
anknüpfen, da ich glaube fast am Ziel zu sein und für den Endspurt eure Hilfe brauche. 
Es geht um eine Excellösung, bei der ich aus einem Adressenpool einen bestimmten Datensatz auswählen kann, und diesem Satz einen Rabatt auf das entsprechende Guthabenkonto gutschreibe oder abziehe. Mit Hilfe vom www-Mitglied Reinhard bin ich schon ziemlich weit gekommen.
Eine Testdatei kann unter
http://rapidshare.de/files/10934957/T…
runtergeladen werden.
Hier die aktuelle Beschreibung der Exceldatei:
Es gibt drei Tabellenblätter. Blatt 1 = Eingabe, Blatt 2 = Adressen, Blatt 3 = Protokoll.
In Blatt 1 wird der Name in Zelle B5 aus einer Dropdownliste ausgewählt. Dazu habe ich den Adressdatenbereich in „Adressen“ in Bereich benannt. Unter Daten -> Gültigkeit-> Zulassen-> Liste = Bereich in der Zelle B5 eine Dropdownliste von „Bereich“ eingerichtet.
VB-Code aus Blatt 1:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address(0, 0) „B5“ Then Exit Sub
Set wsA = Worksheets(„Adressen“)
Set wsP = Worksheets(„Protokoll“)
zeiA = wsA.Range(„A65536“).End(xlUp).Row
zeiP = wsP.Range(„A65536“).End(xlUp).Row
zei = Application.WorksheetFunction.Match(Range(„B5“), wsA.Range(„I1:I“ & zeiA), 0)
wsA.Range(„A“ & zei & „:H“ & zei).Copy wsP.Range(„A“ & zeiP + 1)
wsA.Range(„A“ & zei & „:H“ & zei).Copy Range(„A2“)
Application.EnableEvents = True
End Sub
In den Zellen A2-H2 werden dann die Kundendaten aus „Bereich“ wie folgt ausgegeben:
Kd-Nr. | Anrede | Name | Vorname | Straße | PLZ | Ort | G-Konto
In Zelle C5 wird der Rabatt eingegeben, welcher vom G-Konto aufgerechnet oder abgezogen wird. Dies wird durch Makros erreicht die über „+“ & „-“-Buttons aktiviert werden. Der neue Betrag wird in Zelle H2 angezeigt.
VB-Code „+“ & „-“, sowie Protokollierung:
Sub Plus()
Call neu(1)
End Sub
______________________________________________________________________
Sub Minus()
Call neu(-1)
End Sub
______________________________________________________________________
Sub neu(faktor As Integer)
Set wsA = Worksheets(„Adressen“)
Set wsP = Worksheets(„Protokoll“)
Set wsE = Worksheets(„Eingabe“)
If wsE.Range(„C5“) = „“ Or wsE.Range(„C5“) = 0 Then
MsgBox „C5 ist leer!“
Exit Sub
End If
zeiA = wsA.Range(„A65536“).End(xlUp).Row
zei = Application.WorksheetFunction.Match(Range(„B5“), :wsA.Range(„I1:I“ & zeiA), 0)
wsE.Range(„H2“) = wsE.Range(„H2“) + faktor * wsE.Range(„C5“)
wsA.Range(„H“ & zei) = wsA.Range(„H“ & zei) + faktor * wsE.Range(„C5“)
wsP.Range(„I“ & wsP.Range(„A65536“).End(xlUp).Row) = wsA.Range(„H“ & zei)
wsP.Range(„J“ & wsP.Range(„A65536“).End(xlUp).Row) = wsP.Range(„I“ & wsP.Range(„A65536“).End(xlUp).Row) - wsP.Range(„H“ & wsP.Range(„A65536“).End(xlUp).Row)
wsP.Range(„K“ & wsP.Range(„A65536“).End(xlUp).Row) = Date
wsP.Range(„L“ & wsP.Range(„A65536“).End(xlUp).Row) = Time
Range(„C5“) = „“
End Sub
Die Eingabezellen hießen vorher anders. Ich habe Sie der Übersichtlichkeit anders angeordnet und die entsprechenden Verweise im Code angepasst. Seitdem muss ich nach jedem eingegebenen Betrag unter C5 den Button „Funktion reaktivieren“ klicken, damit der ausgewählte Datensatz in den Zellen A2-H2 in „Eingabe“ angezeigt wird.
VBA-Code „Funktion reaktivieren“:
Sub MakrosEin()
Application.EnableEvents = True
End Sub
So sieht der VB-Code in „Adressen“ aus:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Then Exit Sub
zei = Range(„A65536“).End(xlUp).Row
ActiveWorkbook.Names.Add Name:=„Bereich“, RefersTo:="=Adressen!$I$2:blush:I$" & zei
MsgBox ActiveWorkbook.Names(„Bereich“).RefersTo
End Sub
Dort hab ich noch einen Button welches den Befehl aus Daten -> Maske öffnet:
Private Sub CommandButton1_Click()
ActiveSheet.ShowDataForm
End Sub
Zur Zeit sind nur drei Datensätze in „Adressen“ eingegeben. In der „echten“ Adressliste sind aber einige Hundert Andressen gespeichert. Da die Dropdownliste nur ein manuelles suchen per scrollen erlaubt, wird es etwas schwierig den richtigen Kunden schnell zu finden. Gibt es noch eine Möglichkeit, den Namen einzugeben, oder den ersten Buchstaben zuerst auszuwählen, wie es Reinhard schon im untenstehenden Archiv angedeutet hat?
Noch eins zur Klärung:
Von dem was hier geschrieben steht, versteh ich nur die Hälfte und kam auch nur zustande, da Reinhard mir den größten Teil „gebastelt“.
Darum bitte ich Euch um verständliche Hilfestellungen.
Vieln Dank! 
Achim