Zum Inhalt springen

[VBA] Daten auslesen


zerberos

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen


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


Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...