Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: UliD22 am April 29, 2015, 11:55:39 Vormittag
-
;D Meine Frau macht sich zum ersten Mal inrem Leben selbständig.
Alles Geld ist inzwischen aufgebraucht. :o Ich habe mich einmal damit beschäftigt,
eine Datenbank in Excel zu programmieren. Leider :-\ bin ich als VBA Neuling 8) jetzt am Ende angelangt. ::)
Wenn sich jemand mal meiner annehmen würde, dann schickte ich mal meine Ergebnisse als Datei ... :-[
Ach ja - in Office 2013 erstellt - funzt nicht auf einem Mac mit Office 2011 - das ist auch sch... nicht schön. :'(
-
Hallo UliD22,
willkommen im Forum. Besser fände ich es, wenn Du vielleicht die Fehlermeldung beschreiben könntest,
bzw. was nicht funktioniert. Vielleicht auch mit Beispieldatei (anonymisiert natürlich). Denn dann hätten
andere User im Forum auch was davon, was bei "Zusenden der Datei" nicht der Fall wäre.
Gruß
-
OK, ich versuche es:
Ich habe eine Excel-Tabelle mit 29 Spalten.
Diese will ich übersichtlich (Bild 1) darstellen lassen.
Die gelben Felder werden in der Tabelle per sverweis (aus einem separaten Tabellenblatt) ausgelesen.
(Beispiel: PLZ trage ich ein - mittels sverweis wird dann die Stadt ermittelt. BLZ und KtoNr = Bank/IBAN und BIC)
Wie hier
(http://www.office-fragen.de/index.php?action=dlattach;topic=29309.0;attach=811;image)
ersichtlich habe ich eine UserForm gebaut, die eine Tabelle abfragt und mir alle Daten anzeigt, die ich haben will (Quellcode füge ich später ein).
Komme ich an eine Stelle, wo ich keine echten Bankdaten habe, habe ich und nehme ich Platzhalter
(http://www.office-fragen.de/index.php?action=dlattach;topic=29309.0;attach=817;image)
bekomme ich die Fehlermeldung
(http://www.office-fragen.de/index.php?action=dlattach;topic=29309.0;attach=813;image)
Debuggen bringt mich auf dieses Ergebnis
(http://www.office-fragen.de/index.php?action=dlattach;topic=29309.0;attach=815;image)
Außerdem funktionieren die Schalter unten nicht für alle Zellen.
Neuer Datensatz: trägt nur in Spalte 1 ein
Ich hoffe, das war jetzt nicht zu konfus
Option Explicit
Option Compare Text
'Neuer Eintrag Schaltfläche Ereignisroutine
Private Sub CommandButton1_Click()
Dim lZeile As Long
'Wenn der Benutzer einen neuen Eintrag erzeugen möchte,
'erstellen wir einen neuen Eintrag in der ListBox und markieren
'diesen, damit der Benutzer die Daten eintragen kann
lZeile = 2 'Start in Zeile 2, Zeile 1 sind ja die überschriftrn
'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) <> ""
lZeile = lZeile + 1 'Nächste Zeile bearbeiten
Loop
'Nach Durchlauf dieser Schleife steht lZeile in der ersten leeren Zeile von Tabelle1
'Neuen Eintrag in die Tabelle1 schreiben, Spalte ID muss gefüllt sein, damit
'unsere Routinen die Zeile wiederfinden!
Tabelle1.Cells(lZeile, 1) = CStr("Neuer Eintrag Zeile " & lZeile)
'Und neuen Eintrag in die UserForm eintragen
ListBox1.AddItem CStr("Neuer Eintrag Zeile " & lZeile)
'Den neuen Eintrag markieren mit Hilfe des ListIndexes
ListBox1.ListIndex = ListBox1.ListCount - 1
'Durch das Click Ereignis der ListBox werden die Daten automatisch geladen
End Sub
'Löschen Schaltfläche Ereignisroutine
Private Sub CommandButton2_Click()
Dim lZeile As Long
'Wenn kein Datensatz in der ListBox markiert wurde, wird die Routine beendet
If ListBox1.ListIndex = -1 Then Exit Sub
'Zum Löschen benötigen wir die Zeilennummer des ausgewählten Datensatzes
lZeile = 2 'Start in Zeile 2, Zeile 1 sind ja die Überschriften
'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) <> ""
'Datensatz ID Spalte mit selektiertem Eintrag der ListBox vergleichen
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
'Eintrag gefunden, die ganze Zeile wird nun gelöscht
Tabelle1.Rows(CStr(lZeile & ":" & lZeile)).Delete
'Die ListBox muss nun neu geladen werden!
Call UserForm_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
Exit Do 'Vorzeitiges Ende, da der Datensatz schon gefunden ist
End If
lZeile = lZeile + 1 'Nächste Zeile bearbeiten
Loop
End Sub
'Speichern Schaltfläche Ereignisroutine
Private Sub CommandButton3_Click()
Dim lZeile As Long
With UserForm1
'Wenn kein Datensatz in der ListBox markiert wurde, wird die Routine beendet
If .ListBox1.ListIndex = -1 Then Exit Sub
'Wir müssen prüfen, ob die ID Spalte auch gefüllt ist!!
If Trim(CStr(TextBox1.Text)) = "" Then
'Meldung ausgeben
MsgBox "Sie müssen mindestens einen Namen eingeben!", vbCritical + vbOKOnly, "FEHLER!"
'Abbrechen der Speicherroutine
Exit Sub
End If
'Ausbauoption: Prüfen, ob die ID in Tabelle1 Spalte 1 schon vorhanden ist!
'Zum Speichern benötigen wir die Zeilennummer des ausgewählten Datensatzes
lZeile = 2 'Start in Zeile 2, Zeile 1 sind ja die Überschriften
'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) <> ""
'Datensatz ID Spalte mit selektiertem Eintrag der ListBox vergleichen
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
'Eintrag gefunden, TextBoxen in die Zellen schreiben
Cells(lZeile, 2) = .txt_Anrede.Text
Tabelle1.Cells(lZeile, 3).Value = txt_Nachname.Text
Tabelle1.Cells(lZeile, 4).Value = txt_Vorname.Text
Tabelle1.Cells(lZeile, 6).Value = txt_HausNr.Text
Tabelle1.Cells(lZeile, 7).Value = txt_PLZ.Text
Tabelle1.Cells(lZeile, 8).Value = txt_Ort.Text
Tabelle1.Cells(lZeile, 9).Value = txt_Email.Text
Tabelle1.Cells(lZeile, 10).Value = txt_GebDat.Text
Tabelle1.Cells(lZeile, 11).Value = txt_PersoNr.Text
Tabelle1.Cells(lZeile, 12).Value = txt_Mobil.Text
Tabelle1.Cells(lZeile, 13).Value = txt_Festnetz.Text
Tabelle1.Cells(lZeile, 14).Value = txt_VertragNr.Text
Tabelle1.Cells(lZeile, 15).Value = txt_VArt_kurz.Text
Tabelle1.Cells(lZeile, 17).Value = txt_Preis.Text
Tabelle1.Cells(lZeile, 18).Value = txt_Vertrag_Bez.Text
Tabelle1.Cells(lZeile, 19).Value = txt_Laufzeit_Beginn.Text
Tabelle1.Cells(lZeile, 20).Value = txt_Laufzeit_Ende.Text
Tabelle1.Cells(lZeile, 23).Value = txt_Bank.Text
Tabelle1.Cells(lZeile, 24).Value = txt_BLZ.Text
Tabelle1.Cells(lZeile, 25).Value = txt_Kto_Nr.Text
Tabelle1.Cells(lZeile, 26).Value = txt_KontoInha.Text
Tabelle1.Cells(lZeile, 27).Value = txt_IBAN.Text
Tabelle1.Cells(lZeile, 28).Value = txt_BIC.Text
' Cells(lZeile, 1) = Trim(CStr(.TextBox1.Text))
' Tabelle1.Cells(lZeile, 5).Value = TextBox5.Text
' Tabelle1.Cells(lZeile, 16).Value = TextBox16.Text
' Tabelle1.Cells(lZeile, 21).Value = TextBox21.Text
' Tabelle1.Cells(lZeile, 22).Value = TextBox22.Text
'Tabelle1.Cells(lZeile, 29).Value = TextBox29.Text
'Die ListBox muss nun neu geladen werden
'allerdings nur, wenn sich der Name (ID) geändert hat
If ListBox1.Text <> Trim(CStr(TextBox1.Text)) Then
Call UserForm_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
End If
Exit Do 'Vorzeitiges Ende, da der Datensatz schon gefunden ist
End If
lZeile = lZeile + 1 'Nächste Zeile bearbeiten
Loop
End With
End Sub
'Beenden Schaltfläche Ereignisroutine
Private Sub CommandButton4_Click()
Unload Me
End Sub
Private Sub Label18_Click()
End Sub
'Klick auf die ListBox Ereignisroutine
Private Sub ListBox1_Click()
Dim lZeile As Long
'Wenn der Benutzer einen Namen anklickt, suchen wir
'diesen in der Tabelle1 heraus und tragen die Daten
'in die TextBoxen ein.
'Wir löschen standardmäßig alle bisherigen TextBoxen-Inhalte
txt_Anrede = ""
txt_Nachname = ""
txt_Vorname = ""
txt_Strasse = ""
txt_HausNr = ""
txt_PLZ = ""
txt_Ort = ""
txt_Email = ""
txt_GebDat = ""
txt_PersoNr = ""
txt_Mobil = ""
txt_Festnetz = ""
txt_VertragNr = ""
txt_VArt_kurz = ""
txt_Preis = ""
txt_Vertrag_Bez = ""
txt_Laufzeit_Beginn = ""
txt_Laufzeit_Ende = ""
txt_Bank = ""
txt_BLZ = ""
txt_Kto_Nr = ""
txt_KontoInha = ""
txt_IBAN = ""
txt_BIC = ""
'TextBox1 = ""
'TextBox16 = ""
'TextBox21 = ""
'TextBox22 = ""
'TextBox29 = ""
'Nur wenn ein Eintrag selektiert/markiert ist
If ListBox1.ListIndex >= 0 Then
lZeile = 2 'Start in Zeile 2, Zeile 1 sind ja die Überschriften
'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) <> ""
'Wenn wir den Namen aus der ListBox1 in der Tabelle1 Spalte 1
'gefunden haben, übertragen wir die anderen Spalteninhalte
'in die TextBoxen!
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
'TextBoxen füllen
txt_Anrede = Tabelle1.Cells(lZeile, 2).Value
txt_Nachname = Tabelle1.Cells(lZeile, 3).Value
txt_Vorname = Tabelle1.Cells(lZeile, 4).Value
txt_Strasse = Tabelle1.Cells(lZeile, 5).Value
txt_HausNr = Tabelle1.Cells(lZeile, 6).Value
txt_PLZ = Tabelle1.Cells(lZeile, 7).Value
txt_Ort = Cells(lZeile, 8 )
txt_Email = Tabelle1.Cells(lZeile, 9).Value
txt_GebDat = Tabelle1.Cells(lZeile, 10).Value
txt_PersoNr = Tabelle1.Cells(lZeile, 11).Value
txt_Mobil = Tabelle1.Cells(lZeile, 12).Value
txt_Festnetz = Tabelle1.Cells(lZeile, 13).Value
txt_VertragNr = Tabelle1.Cells(lZeile, 14).Value
txt_VArt_kurz = Tabelle1.Cells(lZeile, 15).Value
txt_Laufzeit_Beginn = Tabelle1.Cells(lZeile, 19).Value
txt_Laufzeit_Ende = Cells(lZeile, 20)
txt_BLZ = Cells(lZeile, 24)
txt_Kto_Nr = Tabelle1.Cells(lZeile, 25).Value
txt_KontoInha = Tabelle1.Cells(lZeile, 26).Value
txt_IBAN = Tabelle1.Cells(lZeile, 27).Value
txt_Vertrag_Bez = Cells(lZeile, 18)
txt_Preis = Cells(lZeile, 17)
txt_BIC = Cells(lZeile, 28)
txt_Bank = Cells(lZeile, 23)
' TextBox1 = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value))
' TextBox16 = Cells(lZeile, 16)
' TextBox21 = Cells(lZeile, 21)
' TextBox22 = Cells(lZeile, 22)
' TextBox29 = Cells(lZeile, 29)
Exit Do 'Vorzeitiges Ende, da der Datensatz schon gefunden ist
End If
lZeile = lZeile + 1 'Nächste Zeile bearbeiten
Loop
End If
End Sub
Private Sub TextBox20_Change()
End Sub
Private Sub txt_Anrede_Change()
End Sub
Private Sub UserForm_Activate()
'Wenn die Eingabemaske angezeigt wird, markieren wir den ersten Namen
'jedoch nur, wenn auch Einträge in der Liste stehen
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
End Sub
'Startroutine, wird ausgeführt bevor die Eingabemaske angezeigt wird
Private Sub UserForm_Initialize()
Dim lZeile As Long
'Alle TextBoxen leer machen
txt_Anrede = ""
txt_Nachname = ""
txt_Vorname = ""
txt_Strasse = ""
txt_HausNr = ""
txt_PLZ = ""
txt_Ort = ""
txt_Email = ""
txt_GebDat = ""
txt_PersoNr = ""
txt_Mobil = ""
txt_Festnetz = ""
txt_VertragNr = ""
txt_VArt_kurz = ""
txt_Preis = ""
txt_Vertrag_Bez = ""
txt_Laufzeit_Beginn = ""
txt_Laufzeit_Ende = ""
txt_Bank = ""
txt_BLZ = ""
txt_Kto_Nr = ""
txt_KontoInha = ""
txt_IBAN = ""
txt_BIC = ""
' TextBox1 = ""
' TextBox16 = ""
' TextBox21 = ""
' TextBox22 = ""
' TextBox29 = ""
'In dieser Routine laden wir alle vorhandenen
'Einträge in die ListBox1
ListBox1.Clear 'Zuerst einmal die Liste leeren
lZeile = 2 'Start in Zeile 2, Zeile 1 sind ja die Überschriften
'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) <> ""
'Aktuelle Zeile in die ListBox eintragen
ListBox1.AddItem Trim(CStr(Tabelle1.Cells(lZeile, 1).Value))
lZeile = lZeile + 1 'Nächste Zeile bearbeiten
Loop
End Sub
-
Hallo,
erstmal vielen Dank für die ausführliche Erläuterung. Dem Fehler nach zu schließen, liefert der SVERWEIS einen Fehler (z.B. #NV)
in der Zelle, weshalb dies nicht der Textbox zugeordnet werden kann. Könntest Deine SVERWEIS-Formel anpassen und schauen,
ob es dann klappt:
WENNFEHLER(SVERWEIS(...);"-")
Du hast zudem einige Ungereimtheiten im Code drin. Beispiele: CStr() sollte auf eine Zahl angewandt werden, somit z.B. statt
CStr("Neuer Eintrag Zeile " & lZeile) dann "Neuer Eintrag Zeile " & CStr(lZeile) denn sonst nützt CStr() nichts. Ereignisse sollten
in der Regel nicht direkt vom Code aufgerufen werden - die werden durch Excel ausgelöst. Besser ist, den Ereigniscode in eine
Prozedur bzw. Funktion auszulagern und dann im Ereignis aufzurufen und Du kannst dann die Prozedur auch wiederum woanders
aufrufen. Optimalerweise sollten auch die Eigenschaften explizit referenziert werden, die Du meinst. Statt txt_Anrede ="" dann
eher txt_Anrede.Text = "" (bei einigen Zeile hast Du es drin, bei anderen nicht). Ebenso mit Cells(...).Value statt nur Cells(...)
Meinst Du mit Schalter die CommandButtons unten?
Gruß
-
Hallo,
erstmal vielen Dank für die ausführliche Erläuterung. Dem Fehler nach zu schließen, liefert der SVERWEIS einen Fehler (z.B. #NV)
in der Zelle, weshalb dies nicht der Textbox zugeordnet werden kann. Könntest Deine SVERWEIS-Formel anpassen und schauen,
ob es dann klappt:
WENNFEHLER(SVERWEIS(...);"-")
Du hast zudem einige Ungereimtheiten im Code drin. Beispiele: CStr() sollte auf eine Zahl angewandt werden, somit z.B. statt
CStr("Neuer Eintrag Zeile " & lZeile) dann "Neuer Eintrag Zeile " & CStr(lZeile) denn sonst nützt CStr() nichts. Ereignisse sollten
in der Regel nicht direkt vom Code aufgerufen werden - die werden durch Excel ausgelöst. Besser ist, den Ereigniscode in eine
Prozedur bzw. Funktion auszulagern und dann im Ereignis aufzurufen und Du kannst dann die Prozedur auch wiederum woanders
aufrufen. Optimalerweise sollten auch die Eigenschaften explizit referenziert werden, die Du meinst. Statt txt_Anrede ="" dann
eher txt_Anrede.Text = "" (bei einigen Zeile hast Du es drin, bei anderen nicht). Ebenso mit Cells(...).Value statt nur Cells(...)
Meinst Du mit Schalter die CommandButtons unten?
Gruß
Danke für die erste Antwort.
Sorry, dass ich mich erst jetzt melde; es liegt nicht daran, dass ich keine Lust habe, sondern daran, dass wir am Samstag Neueröffnung haben...
Ich konnte bisher noch nichts ausprobieren.
Aber 2 Antworten kann ich schon geben:
1. an den Stellen, wo ich nur Cells(...) ohne ».value« verwand habe, wird der Wert der Zelle ausgelesen, die die Tabelle mittels sverweisaus einem anderen TabellenBlatt hollen
Mit ».value« war die Box leer.
2. Mit Schalter meine ich natürlich die Cmd-Boxen.
Gruss Uli
-
Moin Uli,
kannst Du eine Version der Datei ohne Daten hier hochladen? Ein Nachbau der Datei wäre ziemlich aufwändig.
Gruß
-
Moin Uli,
kannst Du eine Version der Datei ohne Daten hier hochladen? Ein Nachbau der Datei wäre ziemlich aufwändig.
Gruß
Ja werde ich machen.
Habe ich auf meinen Server gelegt. zu groß --> kunden.xlsm (http://www.korschenbroich.org/kunden.xlsm)
Ich habe ALLE Daten, bis auf die Nachnamen verfälscht.
Und dann habe ich ungefähr 35000 Postleitzahlen gelöscht. Tut mir Leid, wenn Deine Stadt dabei gewesen ist.
Dein Hinweis, dass WENNFEHLER(SVERWEIS(...);"-") war
\o/\o/\o/\o/\o/\o/\o/ SPITZE \o/\o/\o/\o/\o/\o/\o/
Der Hat schon mal geholfen -
Jetzt gibt es noch die CMD- unten.
Also:
1. Neuer Datensatz --> generiert einen neuen Datensatz - schreibt aber in A »Neuer Eintrag« stattdessen sollte dort aber der Zu- und Vorname verkettet werden (... =VERKETTEN(C3; " "; D3) ... )
2. Springt nach dem Speichern des neuen Datensatzes der Curser immer wieder nach oben ...
hmmm ... wenn ich Dir (Euch) damit auf die E.. Nerven gehe, dann sagt es mir -- BITTE
-
Hallo,
ok, hab's mir runtergeladen und schaue es mir nachher mal an. Ggf. geht's aber auch erst morgen.
Melde mich dann wieder hier.
Gruß
-
Hallo,
ok, hab's mir runtergeladen und schaue es mir nachher mal an. Ggf. geht's aber auch erst morgen.
Melde mich dann wieder hier.
Gruß
Alles klar ;) :D ::)
-
Hallo Uli,
anbei eine Version für Dein Tool. Habe den ehemaligen Code entfernt und eine neue Implementierung in dem Dialog vorgenommen.
Allerdings habe ich nicht alle Ereignisse implementiert, speziell zu den Textboxen fehlen noch einige. Du müsstest diese also dann
ergänzen; als Muster dienen dann die bereits implementierten. Ereignisse für die abhängigen Textboxen bzw. die, die an Formeln
gekoppelt sind, sind nicht notwendig.
Der Speichern Button ist nicht enthalten. Da hängt's davon ab, ob Du nur Ändrungen am aktuellen Datensatz oder alle and den
Datensätzen vorhandenen Änderungen speichern möchtest. Beides würde eine andere Art der Implementierung bedingen, d.h.
dass dann die Datensätze (oder mindestens der aktuelle) nicht direkt in die Tabelle geschrieben werden, sondern z.B. in einem
Array vorgehalten werden. Um das zu implementieren fehlt mir allerdings die Zeit. Das Löschen ist auch relativ simpel, es können
dann Lücken entstehen. Könntest beim Beenden des Dialogs sortieren. Insgesamt, schau' mal, ob's so passt. Intensiv getestet
habe ich nicht.
PS: damit die Datei hier hochgeladen werden kann, habe ich mal viele Datensätze bei den BIC's entfernt.
Gruß
-
Hallo Uli,
anbei eine Version für Dein Tool. Habe den ehemaligen Code entfernt und eine neue Implementierung in dem Dialog vorgenommen.
Allerdings habe ich nicht alle Ereignisse implementiert, speziell zu den Textboxen fehlen noch einige. Du müsstest diese also dann
ergänzen; als Muster dienen dann die bereits implementierten. Ereignisse für die abhängigen Textboxen bzw. die, die an Formeln
gekoppelt sind, sind nicht notwendig.
Der Speichern Button ist nicht enthalten. Da hängt's davon ab, ob Du nur Ändrungen am aktuellen Datensatz oder alle and den
Datensätzen vorhandenen Änderungen speichern möchtest. Beides würde eine andere Art der Implementierung bedingen, d.h.
dass dann die Datensätze (oder mindestens der aktuelle) nicht direkt in die Tabelle geschrieben werden, sondern z.B. in einem
Array vorgehalten werden. Um das zu implementieren fehlt mir allerdings die Zeit. Das Löschen ist auch relativ simpel, es können
dann Lücken entstehen. Könntest beim Beenden des Dialogs sortieren. Insgesamt, schau' mal, ob's so passt. Intensiv getestet
habe ich nicht.
PS: damit die Datei hier hochgeladen werden kann, habe ich mal viele Datensätze bei den BIC's entfernt.
Gruß
Das hört sich klasse an.
Ich werde mir das am Sonntag zu Gemüte führen.
Da morgen Eröffnung ist, haben wir grad mal alle Hände voll zu tun.
Aber trotzdem : Vielen Dank - erst mal...
-
Kurze Zwischenmeldung:
Ich habe Dich natürlich nicht vergessen. Ich ergänze gerade die noch fehlenden Codes-Zeilen.
Was ich bisher gesehen habe, ist klasse!
Melde mich, wenn ich mehr weiß :D
Komme noch nicht so ganz mit diesem Teil zurecht ... mir ist die Systematik noch nicht ganz klar
Private Sub btn_New_Click()
' Bypass...
blnBypass = True
' Zurücksetzen...
KundendatenZuruecksetzen
' Hinzufügen...
If lsb_Kunden.ListCount > 0 Then
lsb_Kunden.AddItem
lsb_Kunden.List(lsb_Kunden.ListCount - 1, 0) = CStr(CLng( _
lsb_Kunden.List(lsb_Kunden.ListCount - 2, 0)) + 1)
lsb_Kunden.List(lsb_Kunden.ListCount - 1, 1) = "?"
?* ?* ?*
Else
lsb_Kunden.AddItem
lsb_Kunden.List(lsb_Kunden.ListCount - 1, 0) = CStr(cstDatenblattStartzeile)
lsb_Kunden.List(lsb_Kunden.ListCount - 1, 1) = "?"
?** ?** ?**
End If
' Bypass...
blnBypass = False
' Index...
lsb_Kunden.ListIndex = lsb_Kunden.ListCount - 1
End Sub
Wie geht es hier weiter ...
-
Guten Morgen,
Hinzufügen = wenn noch kein Eintrag in der Liste drin ist, dann Zeilennummer (immer in erster Spalte der Listbox) auf die Startzeile setzen.
Ist schon ein Eintrag in der Listbox drin, dann die Zeilenummer der letzten Zeile + 1 nehmen = Letzte Zeile + 1 der Tabelle in dem aktuellen
Einlesezustand. Eine neue Zeile in der Listbox wird an der Ende der Liste gesetzt. Jetzt ok?
Gruß
-
Guten Morgen,
Hinzufügen = wenn noch kein Eintrag in der Liste drin ist, dann Zeilennummer (immer in erster Spalte der Listbox) auf die Startzeile setzen.
Ist schon ein Eintrag in der Listbox drin, dann die Zeilenummer der letzten Zeile + 1 nehmen = Letzte Zeile + 1 der Tabelle in dem aktuellen
Einlesezustand. Eine neue Zeile in der Listbox wird an der Ende der Liste gesetzt. Jetzt ok?
Gruß
8) Na klar ... ::) Danke