Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
656to660
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
656to660
656to660
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hallo Matthias und Fred ...Listbox

Hallo Matthias und Fred ...Listbox
Walter
Hallo Matthias,
hallo Fred,
ich hatte heute Morgen Fred informiert das ich die Überschriften nicht brauch,
weiß aber nicht wie ich dies anstellen soll ?!!!
Grundsätzlich habe ich folgende Frage:
Ich habe eine Mappe wo ich die Daten einlesen möchte. Grund man soll nicht an die anderen Daten kommen deswegen eine UF.
Ich möchte gern:
1. Löschen
2. Neue Namen einsetzen
3. Sortieren nach Namen und VK-.Nr.
Habt Ihr den sonst eine Idee wie oder was man gebrauchen kann?
Gruß Walter

44
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Hallo Matthias und Fred ...Listbox
Matthias
Hallo Walter,
du brauchst den Tabellenbereich also nur als Quelle und willst die Daten später nicht mehr zurückschreiben?
Wenn du mit .RowSource arbeitest, werden die Daten immer synchronisiert.
Ohne .RowSource musst du einträgr mit .AddItem hinzufügen, die anderen Spalten dann mit .List().
So wird die Listbox "manuell" gefüllt:
Private Sub UserForm_Initialize() Dim lzeile As Long Dim intstartzeile As Integer Dim i As Integer, j As Integer Dim strSh As String strSh = "Kulanzblatt-VK" intstartzeile = 91 lzeile = Sheets(strSh).Cells(Sheets(strSh).Rows.Count, 36).End(xlUp).Row With ListBox1 .ColumnCount = 5 'Anzahl der Spalten .ColumnWidths = "1cm;1cm;5cm;3cm;4cm" .Clear 'Listbox füllen For i = intstartzeile To lzeile .AddItem Sheets(strSh).Cells(i, 32) For j = 1 To 4 .List(.ListCount - 1, j) = Sheets(strSh).Cells(i, 32 + j) Next j Next i End With End Sub
Gruß Matthias
Anzeige
AW: Hallo Matthias und Fred ...Listbox
Walter
Guten Morgen Matthias,
erst mal Danke.
Ich möchte die Daten zurückschreiben, so das das Tabellenblatt aktualliesiert wird.
Ferner möchte ich Daten hinzufügen.
Melde mich, da ich über "Recherche" auch gestern über 4H tätig war und will mal bastel,
bis später
gruß Walter
Teilerfolg !!!!
Walter
Hallo Matthias,
bin schon etwas glücklich, die Daten werden"SAUBER" reingelesen, wenn ich auf löschen gehe, kommt keine Fehlermeldung aber es werden ALLE Zeilen oberhalb der
selktierten Zeile in der Listbox gelöscht.
Hier dein Makro für das löschen:
'------------------ Zeile löschen von Matthias ----------------------------------
Private Sub CommandButton13_Click() Dim i As Integer, s As Integer With ListBox1 For i = 0 To .ListIndex - 1 'Einträge For s = 2 To 5 'Spalte 2-5 .List(i, s) = "" Next s Next i End With End Sub
Die Daten sollen dann aber auch im Tabellenblatt aktualisiert werden.
Gruß Walter
Anzeige
Aber noch jetzt funkts...
Walter
Hallo Matthias,
hiermit (habe ich aus der recherche), funkioniert das löschen in der Listbox, wie aber geht es das die Zeile im Tabellenblatt auch gelöscht wird ?
'-------------- Wert aus Liste Löschen --------------------------
Private Sub CommandButton8_Click() On Error GoTo Errorhandler ListBox1.RemoveItem (ListBox1.ListIndex) Exit Sub Errorhandler: MsgBox "Bitte einen Eintrag auswählen" End Sub
Gruß Walter
AW: Aber noch jetzt funkts...
Matthias
Hallo Walter,
schau dir mal meine Beispielmappe an:
https://www.herber.de/bbs/user/26101.xls
Hakt noch an einigen Stellen, v.a. weil ich nicht weiß, wie du mit bestimmten Ereignissen umgehen willst:
z.B.:
Soll die lfd Nr. immer von 1 aufsteigend sein, soll sie sich also ändern, wenn Einträge gelöscht werden?
Der Code zum Übernehmen in die Tabelle fehlt auch noch.
Naja, schau's mal an und melde dich.
Gruß Matthias
Anzeige
AW: Aber noch jetzt funkts...
Walter
Hallo Matthias,
Super Dein Beispiel.
Die Mappe: "Kulanzblatt-VK"
Die Maske für die Bearbeitung würde ich auch so durchführen, wobei
ich brauch nur: VK-Nr. und Name das kann ich ja ändern.
Der der Name in der Spalte 4+5 durch Formel als Vorname und Nachname aufgeteilt wird.
Beim LÖSCHEN soll die laufende Nr. nicht gelöscht werden, die soll später beim
aktualisieren bzw. schließen im Tabellenblatt verlängert werden.
Ich muß schon sagen, Du hast es drauf !
Gruß Walter
AW: Aber noch jetzt funkts...
Matthias
Hallo Walter,
ok, hier mit Daten übernehmen durch OK-Button, die lfd. Nummern werden beim Löschen immer neu gesetzt:
https://www.herber.de/bbs/user/26103.xls
Gruß Matthias
Anzeige
Danke und noch schönen Sonntag
Walter
Hallo Matthias,
das ist einfach genial.
(beim anklicken des button bei deinem beispiel kommt fehlermeldung "Fehler beim Laden"
und danach wird aber die uf gefallen)
Noch schönen Sonntag
gruß Walter
AW: Danke und noch schönen Sonntag
Matthias
Hallo Walter,
(beim anklicken des button bei deinem beispiel kommt fehlermeldung "Fehler beim Laden"
und danach wird aber die uf gefallen)

?
Genial?
Gruß Matthias
Sorry aber...
Walter
Hallo Matthias,
entschuldige ich meinte dies nur als Hinweis.
Insgesamt was Du gemacht hast ist genial.
Ich hoffe, ich bin nicht unverschämmmmmt, kann man auch sortieren, nach VK-Nr.
und nach Namen, wollte dies auch über CommandButton durchführen.
Gruß Walter
Anzeige
AW: Sorry aber...
Matthias
Hallo Walter,
ins Userform-Modul:

Private Sub SorterenButton_Click()
SortiereFeld 2 'nach Spalte 2 Sortieren (VK-Nr.)
NummernAktualisieren 'Spalte 1 von 1 bis ...
End Sub
Private Sub SortiereFeld(sp As Integer)
Dim ws As Worksheet
Application.ScreenUpdating = False
Set ws = ThisWorkbook.Sheets.Add
With ListBox1
ws.Range(ws.Cells(1, 1), ws.Cells(.ListCount, .ColumnCount)) = .List
ws.Cells(1, 1).CurrentRegion.Sort Key1:=Cells(1, sp), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
.List = ws.Cells(1, 1).CurrentRegion.Value
End With
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Private Sub NummernAktualisieren()
Dim i As Integer
With ListBox1
For i = 0 To .ListCount - 1
.List(i, 0) = i + 1
Next i
End With
End Sub

Gruß Matthias
Anzeige
Danke
Walter
HAllo Matthias,
Danke nochmals.
Wenn Du noch 1 Min. Zeit hast, wie kann man die Zahl mit oooo darstellen also
0001, wie in der Tabelle.
Gruß Walter
AW: Danke
Matthias
Hallo Walter,

.List(i, 0) = Format(i + 1, "0000")

Gruß Matthias
AW: Danke
Walter
Hallo Matthias,
Danke. Bin gerade zurück und unterwegs viel mir ein das ich für eine andere Listbox
beim einfügen die Zeile (Spalte1-4) das Format und die Länge der der Tabelle brauch.
Das heißt die Formeln passen sich ja an, wenn ich zur letzten Zeile gehe, diese nach unten schiebe und dann von die letzte Zeile eine Zeile nach oben kopieren dann wieder nach unten und lösche nur die Daten.
Hier mein Makro welches ich von der Mappe per CommandButton auslöse.
'--------------- Rohüberschuß Datum einfügen und Werte ----------------------------

Sub NW_Rohüberschuß_Datum_Änderung()
'Application.ScreenUpdating = False
Sheets("Kulanzblatt-VK").Select
' Sheets("Kulanzblatt-VK").Unprotect ("ww")                 'so hebt richtig auf
Range("BL440").Select
z = Range("BL440").End(xlDown).Row
ActiveSheet.Range(Cells(z, 64), Cells(z, 68)).Select
Selection.Insert Shift:=xlDown                             ' Zellen nach unten verschoben
ActiveSheet.Range(Cells(z + 1, 64), Cells(z + 1, 68)).Select
Selection.Copy
ActiveSheet.Range(Cells(z, 64), Cells(z, 68)).Select              ' 1 Zeile nach oben
ActiveSheet.Paste
Application.CutCopyMode = False                                   ' makierung aufheben
ActiveSheet.Range(Cells(z + 1, 64), Cells(z + 1, 68)).Select      ' Zeile nach unten
' Selection.ClearContents                                           ' kompl. Zeile  löschen
Range("BL437").Select
Application.ScreenUpdating = True
End Sub

Geht das mit der Listbox auch ?
So aber vorher möchte ich mich nochmals bedanken für DEINE Bereitschaft und für das Wissen, ích hätte wohl wahrscheinlich noch Wochen gebraucht, wenn überhaupt erreicht.
Ich würde Dir gern ein kleines Präsent zukommen lassen, wirst Dich freuen, bitte schicke mir DEINE Adresse.
Hier meine Privatmail-Adresse walterbuhl@t-online.de, besser vielleicht direkt an die Firma: Walter.Buhl@mercedes-benz.de
Gruß Walter
Anzeige
Wo hinsetzen
Walter
Hallo Matthias,
jetzt bin ich hier soweit klar aber WO setze ich die Formel rein.
.List(i, 0) = Format(i + 1, "0000")
Gruß Walter
AW: Wo hinsetzen
Matthias
Hallo Walter,
hier z.B.:

Private Sub NummernAktualisieren()
Dim i As Integer
With ListBox1
For i = 0 To .ListCount - 1
.List(i, 0) = Format(i + 1, "0000") '<<< da
Next i
End With
End Sub

Und wenn du beim Einlesen aus dem Blatt schon die Zellinhalte wie sichtbar haben willst:

Private Sub UserForm_Initialize()
Dim lzeile As Long
Dim i As Integer, j As Integer
lzeile = Sheets(strSh).Cells(Sheets(strSh).Rows.Count, 36).End(xlUp).Row
With ListBox1
.ColumnCount = 5             'Anzahl der Spalten
.ColumnWidths = "1cm;1cm;5cm;3cm;4cm"
.Clear
'Listbox füllen
For i = intstartzeile To lzeile
.AddItem Sheets(strSh).Cells(i, 32).Text '<<< da, jetzt .Text (statt Default .Value)
For j = 1 To 4
.List(.ListCount - 1, j) = Sheets(strSh).Cells(i, 32 + j).Text '<<< da auch
Next j
Next i
End With
UpdateButtons
End Sub

Gruß Matthias
Anzeige
Hallo Matthias erst dies...
Walter
Hallo Matthias,
für die Formatierung der Zellen in Spalte 3+4, damit ddie Formeln übernommen werden,
habe ich folgendes geschrieben:
Dim z
Sheets("Kulanzblatt-VK").Select
Range("AH91").Select
z = Range("AH91").End(xlDown).Row
ActiveSheet.Range(Cells(z, 35), Cells(z, 36)).Select ' letzte Zeile
ActiveSheet.Range(Cells(z - 1, 35), Cells(z - 1, 36)).Select ' Zeile oben unten
Selection.Copy
ActiveSheet.Range(Cells(z, 35), Cells(z, 36)).Select ' 1 Zeile nach unten
ActiveSheet.Paste
Application.CutCopyMode = False ' makierung aufheben
Funktioniert auch, wenn ich dies über die Mappe aktiviere. Nun wollte ich dieses Makro
bei dem CommandButton "OK" UF2 einbinden, leider keine Rekation, bzw. die vorletzte Zeile
der Spalte 3+4 Wird selektiert aber nicht nach unten kopiert.
Oder wo soll ich dies einbinden ?
Gruß Walter
Anzeige
AW: Hallo Matthias erst dies...
Matthias
Hallo Walter,
mein Vorschlag dazu:

Sub test2()
Dim lz As Long
With Sheets("Kulanzblatt-VK")
lz = .Range("AH91").End(xlDown).Row
.Cells(lz, 35).FormulaR1C1 = .Cells(lz - 1, 35).FormulaR1C1
.Cells(lz, 36).FormulaR1C1 = .Cells(lz - 1, 36).FormulaR1C1
End With
End Sub

Grüße,
Matthias
AW: Hallo Matthias erst dies...
Walter
Hallo Matthias,
JA, Danke aber wo rein setzen, leider keine Reaktion, wenn ich mit OK den
Namen eingegeben habe.
Gruß Walter
AW: Hallo Matthias erst dies...
Matthias
Hallo Walter,
ich hab momentan den Überblick verlosen, mit welcher Mappe du arbeitest. Deine Mitteilung der Formel, mit der du Name und Vorname teilst, konnte ich in meiner Beispielmappe (mit der ich arbeite) nicht nachvollziehen.
Vielleicht lädst du mal eine Beispielmappe mit ein paar Dummy-Daten hoch.
Gruß Matthias
Bitte noch ....
Walter
Hallo Matthias,
hier mein Makro: (natürlich DEINE Arbeit)

Private Sub CommandButton1_Click()
'Übernehmen
With UserForm1.ListBox1
If Neu Then
If TextBox_VK = "" And TextBox_Name = "" And TextBox_Vorname = "" And TextBox_Ort = "" Then
MsgBox "Kein Eintrag"
Neu = False
Me.Hide
End If
.AddItem .List(.ListCount - 1, 0) + 1
.ListIndex = .ListCount - 1
End If
.List(.ListIndex, 1) = TextBox_VK
.List(.ListIndex, 2) = TextBox_Name
.List(.ListIndex, 3) = TextBox_Vorname
.List(.ListIndex, 4) = TextBox_Ort
End With
Neu = False
Dim lz As Long
With Sheets("Kulanzblatt-VK")
lz = .Range("AH91").End(xlDown).Row
.Cells(lz, 35).FormulaR1C1 = .Cells(lz - 1, 35).FormulaR1C1
.Cells(lz, 36).FormulaR1C1 = .Cells(lz - 1, 36).FormulaR1C1
End With
Me.Hide
End Sub

Funktioniert aber habe das was UF drin steht reinkopiert, leider Fehlermeldung.
Wie erhalte ich in der ListBox1 zurück ?
Gruß Walter
AW: Bitte noch ....
Matthias
Hallo Walter,
Nein nein, das muss ins andere Userform, dieses hier übernimmt ja nur die Daten der Textboxen in die Listbox1 der Userform1.
Wie lauten denn die Formeln in der Tabelle, und wieso hängst du eigentlich so daran?
Gruß Matthias
AW: Bitte noch ....
Walter
Hallo Matthias,
brauch dies, da ich bei der UF 2 bei Namen den Gesamten Namen eingebe, so:
Walter, Buhl in der Spalte 5 steht diese Formel fü das "zerlegen in Vornamen"
=WENN(ISTLEER(AH91);"";LINKS(AH91;FINDEN(" ";WECHSELN(AH91;"";" ";LÄNGE(AH91)-LÄNGE(WECHSELN(AH91;" ";""))))-1))~f~
SO:
0400 Walter Buhl VL 21604 / Walter / Buhl VL 21604
in der Spalte 6 diese Formel:
~f~=WENN(ISTLEER(AH91);"";RECHTS(AH91;LÄNGE(AH91)-FINDEN(" ";WECHSELN(AH91;"";" ";LÄNGE(AH91)-LÄNGE(WECHSELN(AH91;" ";""))))))
Hier wird der Nachname selektiert.
Bei mehreren Verkäufer gebe ich als 1.Stelle bei der Eingabe ein Leerzeichen ein,
somit werden dann die Namen Alle aufgelistet.
So bei mehreren:
428C Brück, Kremer, Hoffmann, Oezsoy, Perkovic, Quick / SP5 /Brück, Kremer, Hoffmann, Oezsoy, Perkovic, Quick
AW: Bitte noch ....
Matthias
Hallo Walter,
also so:
 
 AFAGAHAIAJAKAL
90lfd. Nr.VK-Nr.NameVornameOrt  
9100010Müller HansHansEssenMüllerHans
Formeln der Tabelle
AK91 : =WENN(ISTLEER(AH91);"";LINKS(AH91;FINDEN(" ";WECHSELN(AH91;"";" ";LÄNGE(AH91)-LÄNGE(WECHSELN(AH91;" ";""))))-1))
AL91 : =WENN(ISTLEER(AH91);"";RECHTS(AH91;LÄNGE(AH91)-FINDEN(" ";WECHSELN(AH91;"";" ";LÄNGE(AH91)-LÄNGE(WECHSELN(AH91;" ";""))))))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Was steht dann in Spalte AI, wo bei mir "Vorname" steht (s.o)?
Gruß Matthias
AW: Bitte noch ....
Walter
Hallo Matthias,
anstelle von Name Vorname und Vorname = Nachname.
Blöde Frage wie kriege ich so ein Beispiel hin wie Du jetzt oben ?
Gruß Walter
AW: Bitte noch ....
Walter
Hallo Matthias,
wie kriege ich das hier rein, habe es geschafft und abgespeichert als HMTL.
Gruß Walter
Wie geht es weiter, warum können die kopierten Zeilen nicht sofort in der Textbox angezeigt werden ? In der Tabelle ist geändert.
Gruß Walter
AW: Bitte noch ....
Matthias
Hallo Walter,
wie kriege ich das hier rein, habe es geschafft und abgespeichert als HMTL.
Excel Jeanie ist ein Add-In. Du musst es unter Extras-Add-Ins aktivieren (Haken). Dann hast du eine Symbolleiste. Markiere einen Bereich, drücke das erste Jeanie-Symbol, dann auf den Button Kompakt, dann ist es in der Zwischenablage.
Dann ins Antwortfenster gehen und Strg-V drücken, dann wird der HTML-Code hier eingefügt.
_______________________________________________________________________________________
Wie geht es weiter, warum können die kopierten Zeilen nicht sofort in der Textbox angezeigt werden ? In der Tabelle ist geändert.
Nochmal meine Bitte, dass du eine Beispiledatei hochlädst. ich hab hier ne ganz andere Datei und blick's nicht mehr... :-(
Gruß Matthias
AW: Bitte noch ....
Matthias
Hallo Walter,
! D:\xl\Walter\26159.zip: Das Archiv bestitzt ein unbekanntes Format oder ist beschädigt

Bitte nochmal..
Gruß Matthias
AW: Bitte noch ....
Walter
Hallo Matthias,
habe es geschaft:
Kulanzblatt-VK
 AFAGAHAIAJ
90249VK-Nr.Name eingeben:Vorname selektiertNachname selektiert
9110000Name FehltNameFehlt
9220000WW BuschWWBusch
9330183Hans-Walter WollschlägerHans-WalterWollschläger
94XXXXXXXXXXXXXXX
9550658Siegfried ThielerSiegfriedThieler
Formeln der Tabelle
AF90 : =TEILERGEBNIS(3;AG91:AG339)
AI91 : =WENN(ISTLEER(AH91);"";LINKS(AH91;FINDEN(" ";WECHSELN(AH91;"";" ";LÄNGE(AH91)-LÄNGE(WECHSELN(AH91;" ";""))))-1))
AJ91 : =WENN(ISTLEER(AH91);"";RECHTS(AH91;LÄNGE(AH91)-FINDEN(" ";WECHSELN(AH91;"";" ";LÄNGE(AH91)-LÄNGE(WECHSELN(AH91;" ";""))))))
AI92 : =WENN(ISTLEER(AH92);"";LINKS(AH92;FINDEN(" ";WECHSELN(AH92;"";" ";LÄNGE(AH92)-LÄNGE(WECHSELN(AH92;" ";""))))-1))
AJ92 : =WENN(ISTLEER(AH92);"";RECHTS(AH92;LÄNGE(AH92)-FINDEN(" ";WECHSELN(AH92;"";" ";LÄNGE(AH92)-LÄNGE(WECHSELN(AH92;" ";""))))))
AI93 : =WENN(ISTLEER(AH93);"";LINKS(AH93;FINDEN(" ";WECHSELN(AH93;"";" ";LÄNGE(AH93)-LÄNGE(WECHSELN(AH93;" ";""))))-1))
AJ93 : =WENN(ISTLEER(AH93);"";RECHTS(AH93;LÄNGE(AH93)-FINDEN(" ";WECHSELN(AH93;"";" ";LÄNGE(AH93)-LÄNGE(WECHSELN(AH93;" ";""))))))
AI94 : =WENN(ISTLEER(AH94);"";LINKS(AH94;FINDEN(" ";WECHSELN(AH94;"";" ";LÄNGE(AH94)-LÄNGE(WECHSELN(AH94;" ";""))))-1))
AJ94 : =WENN(ISTLEER(AH94);"";RECHTS(AH94;LÄNGE(AH94)-FINDEN(" ";WECHSELN(AH94;"";" ";LÄNGE(AH94)-LÄNGE(WECHSELN(AH94;" ";""))))))
AI95 : =WENN(ISTLEER(AH95);"";LINKS(AH95;FINDEN(" ";WECHSELN(AH95;"";" ";LÄNGE(AH95)-LÄNGE(WECHSELN(AH95;" ";""))))-1))
AJ95 : =WENN(ISTLEER(AH95);"";RECHTS(AH95;LÄNGE(AH95)-FINDEN(" ";WECHSELN(AH95;"";" ";LÄNGE(AH95)-LÄNGE(WECHSELN(AH95;" ";""))))))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruß Walter
AW: Bitte noch ....
Matthias
Hallo Walter,
Ich war gestern richtig erschlagen von deiner Mappe... Wenn die Autos mal auch so bunt wären... ;-)
ich habe die beiden Userforms mal überarbeitet.
https://www.herber.de/bbs/user/26172.zip
Es verwendet jetzt nur noch 3 Spalten, da die anderen sowieso per Formel generiert werden.
Die Formeln werden erst beim Beenden der Userform1 in die Tabelle eingetragen.
Du musst die Userform1 und UserForm2 deiner Mappe löschen und die im Archiv einfügen (Rechtklick auf Mappe in Projekt-Explorer - Datei importieren)
Gruß Matthias
AW: Bitte noch ....
Walter
Hallo Matthias,
Danke.
Fehler beim Löschen, die laufende Nr. muß ebenfalls gelöscht werden.
Gruß Walter
AW: Bitte noch ....
Matthias
Hallo Walter,
im Userform1 wird dier gesamte Eintrag gelöscht, die lfd. Nummer wird anschließend wieder aktualisiert (damit sie lückenlos ist, war dein Wunsch).
Bei Doppelklick auf die Listbox oder beim Button Bearbeiten wird der Eintrag zum Bearbeiten geöffnet. hier ist das Löschen nicht vorgesehen. Der Button "Löschen" im Userform2 löscht nur den Inhalt der Textboxen und ist - weil jetzt nur noch 2 Textboxen vorhanden sind - eigentlich Quatsch und kann weg.
Also nochmal: Ganze Einträge in der Userform1 löschen.
Gruß Matthias
die lfd. Nummer wird
Aber ...
Walter
Hallo Matthias,
habe gelesen, leider liegt es auch nicht daran, hatt gerade nochmals getestet,
immer Fehler:

Private Sub CommandButton1_Click()
'Übernehmen
With UserForm1.ListBox1
If Neu Then
If TextBox_VK = "" And TextBox_Name = "" And TextBox_Vorname = "" And TextBox_Ort = "" Then
MsgBox "Kein Eintrag"
Neu = False
Me.Hide
End If
.AddItem .List(.ListCount - 1, 0) + 1   <<<< hier wird gelb hinterlegt FEHLER
.ListIndex = .ListCount - 1
End If
.List(.ListIndex, 1) = TextBox_VK
.List(.ListIndex, 2) = TextBox_Name
.List(.ListIndex, 3) = TextBox_Vorname
.List(.ListIndex, 4) = TextBox_Ort
End With
Neu = False
Me.Hide
End Sub

Bitte schau mal Bitte auch wenn ich nerv.
Gruß Walter
AW: Aber ...
Matthias
Hallo Walter,
der Code ist alt und nicht aus meinem neuen Code, den ich dir gepostet habe.
Den Fehler hatte ich auch. Grund war: die Formeln wurden nicht gelöscht, deshalb hat er einen leeren Eintrag in die Listbox eingestellt. Ist aber im neuen Code behoben.
Tasche doch die beiden Userform-Module in der Mappe aus.
Gruß Matthias
Danke fehlt nur noch die "0000"
Walter
Hallo Matthias,
Danke, habe das reinkopiert Funktioniert auch SUPER.
Fehlt nur noch die "0000" Darstellung, wenn das geht, sonst lassen.
Gruß Walter
Danke fehlt nur noch die "0000"
Walter
Hallo Matthias,
Danke, habe das reinkopiert Funktioniert auch SUPER.
Fehlt nur noch die "0000" Darstellung, wenn das geht, sonst lassen.
Gruß Walter
AW: Danke fehlt nur noch die "0000"
Matthias
Hallo Walter,
Userform1:

Private Sub OKButton_Click()
'OK
If MsgBox("Daten in Tabelle übernehmen?", vbOKCancel + vbQuestion, "Rückfage") = vbCancel Then Exit Sub
With Sheets(strSh)
Range(.Cells(intstartzeile, ersteSpalte), _
.Cells(.Cells.Rows.Count, ersteSpalte + 4)).ClearContents
Range(.Cells(intstartzeile, ersteSpalte), _
.Cells(intstartzeile + ListBox1.ListCount - 1, ersteSpalte + 2)) = ListBox1.List
'erste Formel:
Range(.Cells(intstartzeile, ersteSpalte + 3), _
.Cells(intstartzeile + ListBox1.ListCount - 1, ersteSpalte + 3)).FormulaR1C1 = _
"=IF(ISBLANK(RC[-1]),"""",LEFT(RC[-1],FIND("" "",SUBSTITUTE(RC[-1],"""","" "",LEN(RC[-1])-LEN(SUBSTITUTE(RC[-1],"" "",""""))))-1))"
'zweite Formel:
Range(.Cells(intstartzeile, ersteSpalte + 4), _
.Cells(intstartzeile + ListBox1.ListCount - 1, ersteSpalte + 4)).FormulaR1C1 = _
"=IF(ISBLANK(RC[-2]),"""",RIGHT(RC[-2],LEN(RC[-2])-FIND("" "",SUBSTITUTE(RC[-2],"""","" "",LEN(RC[-2])-LEN(SUBSTITUTE(RC[-2],"" "",""""))))))"
'Zellformat "0000"
Range(.Cells(intstartzeile, ersteSpalte), _
.Cells(intstartzeile + ListBox1.ListCount - 1, ersteSpalte)).NumberFormat = _
"0000"
End With
Unload UserForm2
Unload Me
End Sub

Gruß Matthias
AW: Danke fehlt nur noch die "0000"
Walter
Hallo matthias,
habe dein Vorschlag reinkopiert,
Fehlermeldung: "Das Nummerformat Range kann nicht festgegelegt werden"
Habe festgestellt, wenn ich Button zum Übernehmen auf der UF1 drücke, werden die Daten erst beim 2x drücken kopiert.
Wenn ich VORHER sortiere (nach VKNr.) geht dies beim 1x schon.
Kann man das nicht steuern das das beim 1x geht ?
Und wenn ich einen neuen Namen eingegeben habe direkt sortiert und in Tabelle kopiert
wird ?
Gruß Walter
AW: Bitte noch .... Test
Walter
Hallo Matthias,
Test:
Kulanzblatt-VK
AF AG AH AI AJ
90 VK-Nr. Name eingeben: Vorname Nachname selektiert
91 1 0000 Name Fehlt Name Fehlt
92 2 0000 WW Busch WW Busch
93 3 0183 Hans-Walter Wollschläger Hans-Walter Wollschläger
94 XXX XXX XXX XXX XXX
95 5 0658 Siegfried Thieler Siegfried Thieler
96 6 0687 Werner Herrwerth Werner Herrwerth
Formeln der Tabelle
AI91 : =WENN(ISTLEER(AH91);"";LINKS(AH91;FINDEN(" ";WECHSELN(AH91;"";" ";LÄNGE(AH91)-LÄNGE(WECHSELN(AH91;" ";""))))-1))
AJ91 : =WENN(ISTLEER(AH91);"";RECHTS(AH91;LÄNGE(AH91)-FINDEN(" ";WECHSELN(AH91;"";" ";LÄNGE(AH91)-LÄNGE(WECHSELN(AH91;" ";""))))))
AI92 : =WENN(ISTLEER(AH92);"";LINKS(AH92;FINDEN(" ";WECHSELN(AH92;"";" ";LÄNGE(AH92)-LÄNGE(WECHSELN(AH92;" ";""))))-1))
AJ92 : =WENN(ISTLEER(AH92);"";RECHTS(AH92;LÄNGE(AH92)-FINDEN(" ";WECHSELN(AH92;"";" ";LÄNGE(AH92)-LÄNGE(WECHSELN(AH92;" ";""))))))
AI93 : =WENN(ISTLEER(AH93);"";LINKS(AH93;FINDEN(" ";WECHSELN(AH93;"";" ";LÄNGE(AH93)-LÄNGE(WECHSELN(AH93;" ";""))))-1))
AJ93 : =WENN(ISTLEER(AH93);"";RECHTS(AH93;LÄNGE(AH93)-FINDEN(" ";WECHSELN(AH93;"";" ";LÄNGE(AH93)-LÄNGE(WECHSELN(AH93;" ";""))))))
AI94 : =WENN(ISTLEER(AH94);"";LINKS(AH94;FINDEN(" ";WECHSELN(AH94;"";" ";LÄNGE(AH94)-LÄNGE(WECHSELN(AH94;" ";""))))-1))
AJ94 : =WENN(ISTLEER(AH94);"";RECHTS(AH94;LÄNGE(AH94)-FINDEN(" ";WECHSELN(AH94;"";" ";LÄNGE(AH94)-LÄNGE(WECHSELN(AH94;" ";""))))))
AI95 : =WENN(ISTLEER(AH95);"";LINKS(AH95;FINDEN(" ";WECHSELN(AH95;"";" ";LÄNGE(AH95)-LÄNGE(WECHSELN(AH95;" ";""))))-1))
AJ95 : =WENN(ISTLEER(AH95);"";RECHTS(AH95;LÄNGE(AH95)-FINDEN(" ";WECHSELN(AH95;"";" ";LÄNGE(AH95)-LÄNGE(WECHSELN(AH95;" ";""))))))
AI96 : =WENN(ISTLEER(AH96);"";LINKS(AH96;FINDEN(" ";WECHSELN(AH96;"";" ";LÄNGE(AH96)-LÄNGE(WECHSELN(AH96;" ";""))))-1))
AJ96 : =WENN(ISTLEER(AH96);"";RECHTS(AH96;LÄNGE(AH96)-FINDEN(" ";WECHSELN(AH96;"";" ";LÄNGE(AH96)-LÄNGE(WECHSELN(AH96;" ";""))))))



Diagramm - Grafik - Excel Tabellen einfach im Web darstellen Excel Jeanie HTML 3.0 Download
Gruß Walter
AW: Bitte noch .... Test
Matthias
Hallo Walter,
wenn es in der Vorschau nicht hinhaut, brauchst du es nicht abzusenden ;-)
GRuß Matthias

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige