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

Einlesen

Einlesen
27.01.2003 21:54:07
martin
hallo experten,
mit der combobox1 (userform) lese ich werte in zwei anderen comboboxen ein,
combobox2 und combobox3. mein problem ist, ich muss nun ein textfeld "txtSpalte1" einbinden.
folgenden code habe ich geschrieben:

Option Explicit
'*** Werte einlesen ***
Private Sub ComboBox1_Change()
'Variablendeklaration
Dim shdaten As Worksheet
Dim arrOTeile As Variant
Dim arrETeile As Variant
'Objektvariable setzen
Set shdaten = Worksheets("Artikelliste")
With Worksheets("Artikelliste")
'Artikelbereich in Array einlesen
arrOTeile = .Range(.Cells(ComboBox1.ListIndex + 2, 3), _
.Cells(ComboBox1.ListIndex + 2, 6))
End With
With Worksheets("Artikelliste")
'Artikelbereich in Array einlesen
arrETeile = .Range(.Cells(ComboBox1.ListIndex + 2, 2), _
.Cells(ComboBox1.ListIndex + 2, 3))
End With
'Einzelpreis-ComboBox, Einheit-ComboBox leeren,
'füllen und ersten Datensatz auswählen
With ComboBox2
.Clear
.Column = arrOTeile
.ListIndex = 0
End With
With ComboBox3
.Clear
.Column = arrETeile
.ListIndex = 0
End With
End Sub
nun meine frage: wie muss ich den code abändern, dass die txtSpalte1 mit eingelesen wird. der eintrag steht in der "artikelliste" in spalte "a".

für eure hilfe wäre ich dankbar.
gruß martin


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Einlesen
27.01.2003 22:10:45
ivan

hi
ich weis nicht ob ich dich richtig verstehe!
VERSUCH DAS NOCH ETWAS BESSER ANZUPASSEN
und füge es in deinen code ein-


 If ComboBox1.Value <> "" Then
        On Error Resume Next
        ComboBox2.ListIndex = ComboBox1.ListIndex
        txtspalte = Cells(Combobox2.Value, 3)
 End if   

vieleicht hilft dir das weiter
ivan


Anzeige
Re: Einlesen
27.01.2003 22:30:39
martin

hallo, ivan,
klappt nicht. wenn ich die on error funktion ausschalte schreibt er folgenden laufzeitfehler '380' "eingenschaft listindex konnte nicht gesetzt werden. ungültiger eigenschaftswert". den code hatte ich angepasst.

gruß martin

Re: Einlesen
27.01.2003 22:41:27
ivan

hi
dann weis ich leider nicht weiter!
aber vieleicht kanst du damit was anfangen.


'Aufbau: (UserForm)
'- 2 CommandButton (ComandButton1/CmdAbbruch)
'- 6 TextBoxen (txtAngebotNr/txtDatum/txtKunde/ect..)
'- 2 Listboxen (ListBox1/ListBox2)

Private Sub CmdAbbruch_Click()
    Unload Me
End Sub
Private Sub CommandButton1_Click()
    Dim s As String
    Dim Found As Range
    Dim FirstAddress As String
    Dim I As Integer    ' Zeile
    I = 0
    If txtSuche.Text = "" Then
        MsgBox "Kein Eintrag vorhanden!", vbCritical, "Was soll ich den suchen?"
        txtSuche.SetFocus
            Else
    End If
    Eingabe = txtSuche.Text
    If Eingabe = "" Then Exit Sub
    ListBox1.Clear
    ListBox2.Clear
    With ActiveSheet
        Set Found = .Cells.Find(Eingabe, LookAt:=xlPart)
        If Not Found Is Nothing Then
            FirstAddress = Found.Address
            ListBox1.ColumnCount = 2
            ListBox1.AddItem Found
            ListBox1.List(I, 1) = Cells(Found.Row, 13)
            ListBox2.AddItem Found.Row
            I = I + 1
            Do
                Found.Activate
                Set Found = Cells.FindNext(After:=ActiveCell)
                On Error Resume Next
                If Found.Address = FirstAddress Then Exit Do
                ListBox1.AddItem Found
                ListBox1.List(I, 1) = Cells(Found.Row, 13)
                ListBox2.AddItem Found.Row
                I = I + 1
            Loop
        End If
    End With
    CommandButton1.Caption = "Neue Suche"
End Sub

'##############################
'Hier erfolgt die Ausgabe des gesuchten
'in einer TextBox per Auswahl in der ListBox

Private Sub ListBox1_Click()
    If ListBox1.Value <> "" Then
        On Error Resume Next
        ListBox2.ListIndex = ListBox1.ListIndex
        txtAngebotNr = Cells(ListBox2.Value, 2)
        txtDatum = Cells(ListBox2.Value, 3)
        txtKunde = Cells(ListBox2.Value, 5)
        txtOrt = Cells(ListBox2.Value, 10) & " " & Cells(ListBox2.Value, 11)
        txtGesamtPreis = Cells(ListBox2.Value, 20) & " €"
        txtAuftragswert = Cells(ListBox2.Value, 21) & " €"
    End If
End Sub

'#################################
'Hier wird die betreffende Zeile markiert bei
'einem Doppelklick

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    If ListBox1.Value <> "" Then
        On Error Resume Next
        ListBox2.ListIndex = ListBox1.ListIndex
        Rows(ListBox2.Value).Select
    End If
End Sub

Private Sub UserForm_Activate()
        CommandButton1.Caption = "Suche"
End Sub

den code kanst super umbauen auf deine bedürfnisse
statt den listboxen kanst comboboxen verwenden
IVAN




Anzeige
Re: Einlesen
27.01.2003 22:49:03
martin

hallo ivan,
danke für die schnelle und gute hilfe. ich werde es einmal ausprobieren.

gruß martin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige