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

Aus UserForm in bestimmte Zeile

Aus UserForm in bestimmte Zeile
08.05.2008 10:28:16
Dominik
Hallo liebe Leute,
ich stehe vor folgendem Problem.
Ich habe ein UserForm (Abb.1), dort möchte ich einen Server in meine ExcelTabelle eintragen. Die Daten kommen alle in eine Zeile. Das ist ja noch kein großes Drama. Die "DSR" wird aus der Tabelle direkt rausgelesen. Mit diesem Code hier.

Private Sub UserForm_Initialize()
Dim lZeile As Long
DSR.Tag = "X" ' ComboBox1_Change nicht durchlaufen
For lZeile = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Left(Cells(lZeile, 1).Value, 3) = "DSR" Then
With DSR
.AddItem Cells(lZeile, 1).Value
End With
End If
Next lZeile
If DSR.ListCount > 0 Then DSR.ListIndex = 0
DSR.Tag = "" ' ComboBox1_Change wieder zulassen
End Sub


Nun möchte ich gern, dass diese Ergebnise, die in der ComboBox erscheinen, dort sortiert auftauchen und nicht in der Reihenfolge wie sie aus der Liste ausgelesen werden.
Userbild
2te. Sache
Wenn ich zum Beispiel die "DSR P-0-4.1" anwähle, soll der Server, welcher gerade eingefügt wird, direkt unter die Zeile mit dem Eintrag "DSR P-0-4.1". Es soll also direkt darunter eine neue Zeile eingefügt werden mit den Werten aus der UserForm.
Userbild
In Abb2. kann man nun den Eintrag der DSR (1) sehen und wo der Server nun angelegt werden soll (2), zwischen Zeile 6 und 7 in diesem Fall ...
Ich hoffe hier kann mir jmd helfen :)
MfG Dominik

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus UserForm in bestimmte Zeile
08.05.2008 14:18:00
fcs
Hallo Dominik,
zum Sortieren einer ComboBox-Auswahlliste muss du mal im Archiv suchen. hab keinen Link griffbereit.
Zum Einfügen einer Leerzeile und Eintragen der UF-Daten kannst du mit folgendem Ansatz arbeiten.
Gruß
Franz

Private Sub CommandButton2_Click()
Dim zeile As Long, objWks As Worksheet
'Eintragen userform Daten
Set objWks = ActiveSheet
With objWks
zeile = ZeileSuchen(varWert:=Me.DSR.Value, _
objBereich:=.Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)))
If zeile = 0 Then
MsgBox Me.DSR.Value & " nicht gefunden!"
Else
zeile = zeile + 1
'Leerzeile einfügen
.Rows(zeile).Insert shift:=xlShiftDown
' Code zum einfügen der UF-Daten
.Cells(zeile, 1) = Me.TextBox1.Value
'usw.
End If
End With
Unload Me
End Sub
Private Function ZeileSuchen(varWert As Variant, objBereich As Range) As Long
'Zeile mit Suchbegriff finden
Dim Zelle As Range
Set Zelle = objBereich.Find(What:=varWert, LookIn:=xlValues, lookat:=xlWhole)
If Zelle Is Nothing Then
ZeileSuchen = 0
Else
ZeileSuchen = Zelle.Row
End If
End Function


Anzeige
AW: Aus UserForm in bestimmte Zeile
08.05.2008 15:00:00
Dominik
Hallo Franz,
erstmal möcht ich mich HERZLICHST bedanken ... es gibt doch noch jmd der versteht was ich gern haben möchte :) und es funktioniert GENAU so wie ich es brauche :) *juhuuu*
Kann mir vllt. noch jmd sagen, wie ich das nun auch auf andere Register übertragen kann ... ?
Bsp.: Auf meiner Abb.1 steht noch Strom1 und Strom2 ... die beiden Sachen stehen auf dem "2.ten Tabellenblatt" nun würd ich gerne auch eine ComboBox für diese Spalten einfügen ... und auch genau so mit dem untereinander einfügen ... es soll also von "Tabelle1" ausgeführt werden und auf "Tabelle2" bearbeitet werden.
Da ich nicht genau weiss welchen kleinen Command ich umschreiben muss um auf ein anderes Tabellenblatt zu kommen, würde ich mich freuen wenn mir das hier noch einer sagen könnte :)
Gruß Dominik

Anzeige
AW: Aus UserForm in bestimmte Zeile
09.05.2008 06:58:06
fcs
Guten Morgen Dominik,
wenn man mit mehreren Tabellenblättern arbeiten möchte, dann deklariert man am besten entsprechende Objekt-Variablen.
Im Falle des UF erfolgt die Deklaration zu Beginn des UF-Codes. In der Initialiserungsprozedur werden dann die Objekte (=Tabellenblätter) zugewiesen.
Jetzt kannst du in allen anderen Prozeduren des UF über die Objektvariablen auf die jeweiligen Tabellenblätter zugreifen, um die gwünschten Aktionen durchzuführen.
Hier eine kleine Beispieldatei.
https://www.herber.de/bbs/user/52245.xls
Gruß
Franz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige