Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1532to1536
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
Text- & Combobox als Suchfilter in Tabelle
14.01.2017 23:15:35
Thorsten
Hallo zusammen,
ich arbeite gerade an einer UserForm in der Daten eingegeben und in einer Tabelle ausgegeben werden. Klappt bislang auch super.
Nun komme ich jedoch beim Berechnen einer TextBox in Kombination mit einer ComboBox nicht weiter.
Zur Erklärung:
Ich nutze die UserForm und die Tabellen zur Kalkulation meiner Provision bei meinem Arbeitgeber. Diese wird aus einem prozentualem Anteil des Fahrtpreises erzielt. Dieser wiederum beruht auf einer Preisliste die nach km und Uhrzeit/Wochen-/Feiertag aufgebaut ist.
In meiner Tabelle ist also in einer Spalte (AO) ein km-Wert und ein zugehöriger Fahrtpreis nach Tag/Zeit (Spalten AP -> AS) eingetragen.
Die UserForm beinhaltet 2 Textboxen (km300 & SpalteBetrag): sowie eine ComboBox zur Auswahl der Spalte (Spalte).
Ziel des Ganzen:
In der TextBox "SpalteBetrag" soll der Betrag angezeigt werden der in der Zeile der TextBox "km300" eingegeben ist, und zwar aus der Spalte die in der ComboBox "Spalte" ausgewählt ist.
Hierzu habe ich mir, als absoluter VBA-Noob dies hier zusammenkopiert. Leider, und wie zu erwarten, ohne Erfolg.
Würde mich um Unterstützung sehr freuen.
Thorsten
Private Sub Spalte_Change()
Dim eingabe As Double
Dim Zeile As Long
If Spalte.Text = "1" Then
SpalteWert.Text = "AP"
ElseIf Spalte.Text = "2" Then
SpalteWert.Text = "AQ"
ElseIf Spalte.Text = "3" Then
SpalteWert.Text = "AR"
ElseIf Spalte.Text = "4" Then
SpalteWert.Text = "AS"
End If
eingabe = km300.Value
Zeile = Sheets("Tabelle3").Columns("AO:AO").Find(What:=eingabe, LookIn:=xlValues, Lookat:= _
xlWhole).Row
SpalteBetrag.Value = Sheets("Tabelle3").Range(SpalteWert.Text & ":" & SpalteWert.Text &   _
Zeile)
End Sub

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

Betreff
Datum
Anwender
Anzeige
Text- & Combobox als Suchfilter in Tabelle
15.01.2017 18:42:40
Michael
Hi Thorsten,
.find findet nur exakte Werte; entweder Du hast ALLE km-Angaben lückenlos von 1 bis x-100 (und kannst immer noch nicht nach einem "krummen" Wert suchen) oder Du verwendest besser Vergleich, hier in der Form
Sub Spalte_Change()
Dim eingabe As Double
Dim s& ' & = as long: Spalte
Dim z  ' as Variant wegen des .match; Zeile
Const Sp = 6 ' zum Suchen, dann 41 ***
' die Range-Angaben ersetzt Du dann
' durch Deine vorhandenen Variablen
s = Round(Val(Range("B1").Text), 0) + 6 ' hier dann +41 ***
eingabe = Range("B2").Text
z = Application.Match(eingabe, Sheets("Tabelle3").Columns(Sp), 1)
If IsError(z) Then
MsgBox "kann nicht zugeordnet werden"
Else
'SpalteBetrag.Value = s.u.
Range("C10") = Sheets("Tabelle3").Cells(z, s) _
/ Sheets("Tabelle3").Cells(z, Sp) * eingabe
' Dreisatz für krumme Angaben...
End If
End Sub

Mit Spieldatei (ich habe den Bereich auf F:J gesetzt, das mußt Du im Makro halt wieder ändern): https://www.herber.de/bbs/user/110570.xlsm
Schöne Grüße,
Michael
Anzeige
AW: Text- & Combobox als Suchfilter in Tabelle
16.01.2017 10:19:49
Thorsten
Hallo Michael,
schon einmal danke für deine Hilfe.
Habe deinen Code auf eine Testarbeitsmappe mit UserForm "umgebaut".
Nur leider ohne Erfolg. Schon beim Start der UserForm erscheint die Messagebox. Ebenso bei der korrekten Eingabe einer Spalte und einer in der Tabelle vorhandenen Entfernung.
Hast Du eine Idee?
Übrigens sind die Entfernungen immer in 5km Blöcken.
Danke im Voraus und
Grüße aus Kerpen
Thorsten
https://www.herber.de/bbs/user/110582.xlsm
Text- & Combobox als Suchfilter in Tabelle
16.01.2017 14:23:44
Michael
Hi,
das kommt halt immer davon: erst stehen die Sachen in AP und dann plötzlich in A.
Ich habe berichtigt:
Const Sp = 6
und s = Round(Val(Range("B1").Text), 0) + 1
weil s sonst ab Spalte A gerechnet (hier stehen ja die km) wird statt ab Spalte B.
Ansonsten habe ich dem Ding das Gimmick spendiert, daß es auch bei Änderung der km rechnet und nicht gleich beim Aufruf eine Fehlermeldung bringt.
Das .Match ist etwas hakelig: man MUSS einen "sehr kleinen" Wert größer Null angeben, sonst werden Eingaben kleiner 5 nicht gefunden - ich habe noch eine Zeile eingefügt.
Schau halt mal: https://www.herber.de/bbs/user/110607.xlsm
Schöne Grüße,
Michael
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige