zerberos Geschrieben 8. November 2005 Geschrieben 8. November 2005 Hallo, ich wollte ein kleines Programm machen, welches Daten aus eine Tabelle ausliest. Diese sollen in einen UserForm angezeigt werden und dort kann man dann die gewünschten Artikel auswählen und die Menge dazu eingeben. Mien Problem fängt aber schon dabei an, das er die Daten nicht ausließt. Sieht einer den Fehler? www.sebastian-leppert.de/downloads/Mappe1.xls Zitieren
CSC Geschrieben 8. November 2005 Geschrieben 8. November 2005 Es wäre schöner, wenn du den Code posten würdest. Ich will dir ja nichts unterstellen. Es gibt sicherlich auch Leute die kein Excel installiert habe Zitieren
zerberos Geschrieben 8. November 2005 Autor Geschrieben 8. November 2005 Option Explicit Private Sub cboArtikel_Change() Dim WSF As Object Set WSF = WorksheetFunction With Worksheets("Tabelle1") cboBezeichnung.Value = WSF.Index(.Columns("B:B"), WSF.Match(cboArtikel.Text, .Columns("A:A"), 0)) End With Set WSF = Nothing End Sub Private Sub cboBezeichnung_Change() Dim WSF As Object Set WSF = WorksheetFunction With Worksheets("Tabelle1") cboArtikel.Value = WSF.Index(.Columns("A:A"), WSF.Match(cboBezeichnung.Text, .Columns("B:B"), 0)) cboPreis.Value = WSF.Index(.Columns("C:C"), WSF.Match(cboBezeichnung.Text, .Columns("B:B"), 0)) End With Set WSF = Nothing End Sub Private Sub cmdCancel_Click() Worksheets("Tabelle1").Activate Unload Me End Sub Private Sub UserForm_Initialize() End Sub Private Sub cmdWeiter_Click() Dim bLetzte As Byte With Worksheets("Tabelle2") bLetzte = .Range("B1").End(xlUp).Row + 1 If bLetzte = 36 Then MsgBox "Keine weitere Position auf dieser Rechnung mehr möglich", _ vbCritical, "Hinweis" Exit Sub End If .Range("A" & bLetzte).Value = cboArtikel.Value .Range("B" & bLetzte) = cboBezeichnung.Text .Range("C" & bLetzte) = CDbl(txtAnzahl.Value) .Range("D" & bLetzte) = CCur(cboPreis) End With End Sub Zitieren
CSC Geschrieben 8. November 2005 Geschrieben 8. November 2005 Zum Auslesen des Inhalts einer Zelle benutze ich lieber die Cells-Eigenschaft. Ich würde wie folgt vorgehen: dim i as Long, Wert1 as String, Wert2 as String, Wert3 as String Do i = i + 1 Wert1 = Worksheets(1).Cells(i, 1) Wert2 = Worksheets(1).Cells(i, 2) Wert1 = Worksheets(1).Cells(i, 3) Loop While str <> "" Wenn Wert1 keinenWert besitzt (""), musst du auch nicht weiter nach unten lesen, gibt ja dann keine Werte mehr. Der erste Parameter der Cells-Eigenschaft ist die Spalte und der zweite Parameter die Zeile im Excel-Sheet. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.