Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
196to200
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
196to200
196to200
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ComboBox Daten löschen und eingeben

ComboBox Daten löschen und eingeben
05.01.2003 19:53:14
Corry
Hallo Forum,

mir stellt sich folgendes Problem. Ich habe eine Userform ComboBox, in die Namen eingelesen werden (diese stehen auf einem Tabellenblatt in Spalte A untereinander und sind stets alphabet. sortiert). Nun sollte es möglich sein: 1. per CommandButton einen ausgewählten Eintrag zu löschen (auf dem Tabellenblatt) und 2. per CommandButton einen in die Box neu eingegebenen Namen in das Tabellenblatt zu schreiben (an das Ende der Namenliste).

Kann mir evtl. jemand helfen???

Dank schonmal im Voraus, mit besten Grüssen
Corry.

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: ComboBox Daten löschen und eingeben
05.01.2003 20:05:10
Hajo_Zi
Hallo Corry

so ganz ist mir nicht klar wo Du die Werte eingibts.

Ich bin davon ausgegangen das der Wert in der Tabelle und der Combobox gelöscht werden soll.


Option Explicit

Private Sub CommandButton1_Click()
' Eintrag löschen
If ComboBox1.Value <> "" Then
Cells(ComboBox1.ListIndex + 1, 1).Delete
ComboBox1.RemoveItem (ComboBox1.ListIndex)
ComboBox1.Value = ""
End If
End Sub

Private Sub UserForm_Initialize()
Dim ByI As Integer
For ByI = 1 To 13
ComboBox1.AddItem Cells(ByI, 1)
Next ByI
End Sub

Code eingefügt mit: Excel Code Jeanie

Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < pre > < /pre > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein

Gruß Hajo

Anzeige
Re: ComboBox Daten löschen und eingeben
05.01.2003 20:11:29
L.Vira
Wie kommen denn die Daten in deine Combobox, davon hängt ab, wie das passieren kann.
Re: ComboBox Daten löschen und eingeben
05.01.2003 20:19:17
Re: ComboBox Daten löschen und eingeben
Den neuen Namen möchte ich direkt in die Combobox schreiben, und diese Value soll dann auf das Tabellenblatt unter den letzten Namen geschrieben werden... Desweiteren wird die Namenliste bei jedem DropDown neu in die Box gelesen und vorher alphabetisch sortiert. -> wenn ein neuer Name eingetragen wird (am Ende) wird er beim nächsten aufklappen der Box an eine neue Position gestellt und die Lehrzellen werden auc gelöscht, falls ein Name gelöscht wurde...

Vielen Dank für die schnelle Antwort, und vielleicht ist es jetzt eindeutiger...

Anzeige
Re: ComboBox Daten löschen und eingeben
05.01.2003 20:23:17
Corry
ich lasse die Daten mit folgendem Script bei jedem DropDown neu einlesen:
Private Sub PNamen_Enter()
Dim col As New Collection
Dim x As Integer
Dim irow As Integer
Dim Ende As Variant
PNamen.Clear
Sheets("Namen").Select
Range("C3:C10000").Select
Selection.Sort Key1:=Range("C3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
irow = 2
Ende = Range("C10000").End(xlUp).Row
On Error Resume Next
Do Until irow = Ende + 1
col.Add Cells(irow, 3), Cells(irow, 3)
If Err = 0 Then
Auswahl.PNamen.AddItem Cells(irow, 3)
Else
Err.Clear
End If
irow = irow + 1
Loop
Sheets("Tabelle1").Select
End Sub
Anzeige
Re: ComboBox Daten löschen und eingeben
05.01.2003 20:29:08
Hajo_Zi
Hallo Corry


Option Explicit

Private Sub CommandButton1_Click()
' Eintrag löschen
If ComboBox1.Value <> "" Then
Cells(ComboBox1.ListIndex + 1, 1).Delete
ComboBox1.RemoveItem (ComboBox1.ListIndex)
ComboBox1.Value = ""
End If
End Sub

Private Sub CommandButton2_Click()
' Namen Nachtrage
If ComboBox1.Value <> "" Then
Dim LoLetzte As Long
If [a65536] = "" Then
LoLetzte = [a65536].End(xlUp).Row
Else
LoLetzte = 65536
End If
Cells(LoLetzte + 1, 1) = ComboBox1.Value
ComboBox1.Clear
' Sortieren der Liste ohne Überschrift
Range("A1").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
UserForm_Initialize
End If
End Sub

Private Sub UserForm_Initialize()
Dim LoI As Long
Dim LoLetzte As Long
If [a65536] = "" Then
LoLetzte = [a65536].End(xlUp).Row
Else
LoLetzte = 65536
End If
For LoI = 1 To LoLetzte
ComboBox1.AddItem Cells(LoI, 1)
Next LoI
End Sub

Code eingefügt mit: Excel Code Jeanie

Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < pre > < /pre > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein


Gruß Hajo

Anzeige
Frage an Hajo
05.01.2003 21:09:11
Felix
Hallo Hajo,
habe eine Frage zu....

Range("A1").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal


Was ist das? DataOption1:=xlSortNormal

Mein Rechner kann damit nichts anfangen (Fehlermeldung Variable nicht difiniert) und in meinem Buch stand auch nichts.

Kannst Du mir dazu was sagen?

Gruß
Felix

Re: ComboBox Daten löschen und eingeben
05.01.2003 21:12:11
L.Vira
Da es AddItem ist, sollte es so gehen, wie Hajo vorgeschlagen hat.
Re: Sortieren
05.01.2003 21:12:11
Hajo_Zi
Hallo Felix

dann entferne es. Ich habe es unter XP aufgezeichnet.

Auszug aus der Hilfe
DataOption1 Optionaler XlSortDataOption-Wert. Gibt an, wie der Text in Schlüssel 1 sortiert werden soll. Kann nicht zum Sortieren von PivotTable-Berichten verwendet werden.

XlSortDataOption kann eine der folgenden XlSortDataOption-Konstanten sein.
xlSortTextAsNumbers. Text für die Sortierung als numerische Daten behandeln.
xlSortNormal Standard. Sortiert numerische Daten und Textdaten getrennt.

DataOption2 Optionaler XlSortDataOption-Wert. Gibt an, wie der Text in Schlüssel 2 sortiert werden soll. Kann nicht zum Sortieren von PivotTable-Berichten verwendet werden.

XlSortDataOption kann eine der folgenden XlSortDataOption-Konstanten sein.
xlSortTextAsNumbers. Text für die Sortierung als numerische Daten behandeln.
xlSortNormal Standard. Sortiert numerische Daten und Textdaten getrennt.

DataOption3 Optionaler XlSortDataOption-Wert. Gibt an, wie der Text in Schlüssel 3 sortiert werden soll. Kann nicht zum Sortieren von PivotTable-Berichten verwendet werden.

XlSortDataOption kann eine der folgenden XlSortDataOption-Konstanten sein.
xlSortTextAsNumbers. Text für die Sortierung als numerische Daten behandeln.
xlSortNormal Standard. Sortiert numerische Daten und Textdaten getrennt.

Gruß Hajo

Anzeige
Geht schon...
05.01.2003 21:15:09
Ramses
Hallo Felix,

du musst den Underline vor DataOption1 entfernen.
Das ist eine normale Option die von allen Versionen unterstützt wird.

Mit dem Underline interpretiert EXCEL das vermutlich als Variable.

Gruss Rainer

Danke o.T.
05.01.2003 21:18:55
Felix
.

Re: ComboBox Daten löschen und eingeben
05.01.2003 21:42:28
Danke für die Tips, funzt...
... siehe Betr.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige