Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[VBA] Daten auslesen

Empfohlene Antworten

Veröffentlicht

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

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 ;)


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


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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.