Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Tabelle nach Wert aus der ComboBox sortieren

Betrifft: Tabelle nach Wert aus der ComboBox sortieren von: Larissa
Geschrieben am: 16.04.2015 09:18:02

Hallo zusammen,

ich steh vor einem kleinen Problem.
Ich habe eine Tabelle mit Rohren. In den Spalten werden die Geschwindigkeit, die Länge und der Durchmesser angegeben.
Nun soll über ein Fomular nach den drei Kriterien sortiert werden.
Als Durchmesser kommt entweder 1 oder 3/4 in Frage. Dazu habe ich eine ComboBox in der zwischen den Durchmessern (1, 3/4) gewählt werden kann.
Mein Problem ist, wie schreibe ich das in VBA so, dass es nach dem ComboBox-Wert sortiert. Habe dazu schon folgendes geschrieben:

Dim Sortierspalte As String
Dim Bereich As String
Bereich = "D1:L36"
Sortierspalte = "H"
Sheets("Rohre Hilfstabelle").Range(Bereich).Sort _
 Key1:=Range(Sortierspalte & "1"), Order1:=xlAscending, _
 Header:=xlGuess, MatchCase:=False, _
 Orientation:=xlTopToBottom
Allerdings wird hier ja nach "1" sortiert. Dort sollte jetzt der "ComboBox-Wert" stehen.

Damit 3/4 in der Tabelle angezeigt wird habe ich folgenden Code:
Dim d_out_string As String
    If d_out * 1000 > 20 Then
    d_out_string = "1"
    Else
    d_out_string = "3/4"
    End If

Als weiteres wird dann eine maximale Geschwindigkeit und eine maximale Länge im Fomular per TextBox eingegeben. In der Tabelle sollen dann alle Werte, die über dem festgelegten Maximalwert liegen, nicht mehr angezeigt werden.

Aber ich arbeite mich immer in Etappen vorwärts, so würde mich die Funktion zum Sortieren nach den Durchmessern schon mal weiter bringen.

Vielen Dank schon mal im Voraus!

Grüßlis Larissa

  

Betrifft: AW: Tabelle nach Wert aus der ComboBox sortieren von: Larissa
Geschrieben am: 16.04.2015 09:56:48

So habe ich es versucht...:

Dim Durchmesser As String
Durchmesser = ComboBox3.Value

'Aufsteigend sortieren
Dim Sortierspalte As String
Dim Bereich As String
Bereich = "D1:L36"
Sortierspalte = "H"
Sheets("Rohre Hilfstabelle").Range(Bereich).Sort _
 Key1:=Range(Sortierspalte & "Durchmesser"), Order1:=xlAscending, _
 Header:=xlGuess, MatchCase:=False, _
 Orientation:=xlTopToBottom
Als Fehler kommt:

Laufzeitfehler `1004`:
Die Methode `Range`für das Objekt`_Global`ist fehlgeschlagen.



Leider kann ich damit gar nichts anfangen. Was mache ich den falsch^^

Danke schon mal =)


  

Betrifft: AW: Tabelle nach Wert aus der ComboBox sortieren von: Nepumuk
Geschrieben am: 16.04.2015 10:03:07

Hallo,

du nimmst als Sortierspalte:

HDurchmesser

Das kann nicht klappen. Korrelieren die Werte in deiner Combobox mit den Spalten in der Tabelle? Sprich 1. Eintrag in der Box kommt aus Spalte D 2. aus Spalte E ...

Gruß
Nepumuk


  

Betrifft: AW: Tabelle nach Wert aus der ComboBox sortieren von: Larissa
Geschrieben am: 16.04.2015 10:09:57

Danke für die Antwort.

Also in Spalte H steht:

D
1
3/4
1
1
3/4
usw.


Den Bereich hab ich so festgelegt, damit alle Zeilen von D bis L mit der Spalte H mitsortiert werden.
Ist das eine falsche Annahme?
Sry, wenn ich mich arg dumm anstelle...^^


  

Betrifft: AW: Tabelle nach Wert aus der ComboBox sortieren von: Larissa
Geschrieben am: 16.04.2015 10:11:52

Die Durchmesserwerte für die ComboBox stehen in einer Hilfstabelle...


  

Betrifft: AW: Tabelle nach Wert aus der ComboBox sortieren von: Larissa
Geschrieben am: 16.04.2015 10:36:58

Wenn ich 3/4 überall durch 0,75 ersetzte, funktioniert es...
Wie kann ich nun den Bruch 3/4 beibehalten..


  

Betrifft: AW: Tabelle nach Wert aus der ComboBox sortieren von: Nepumuk
Geschrieben am: 16.04.2015 15:50:46

Hallo,

ich hab's immer noch nicht verstanden. Nach was soll denn sortiert werden? Nach einem Zahlenwert kannst du nicht sortieren, du musst 1. den Bereich der, und 2. die Spalte nach der sortiert werden soll angeben.

Gruß
Nepumuk


  

Betrifft: AW: Tabelle nach Wert aus der ComboBox sortieren von: EtoPHG
Geschrieben am: 16.04.2015 16:02:25

Hallo Nepumuk,

Ich glaub ganz einfach nach dem Wert und da kommt 3/4 vor 1.
Kann man leicht erreichen, in dem zwar der Wert 0.75 in der Zelle steht, aber die Zelle als Bruch formatiert ist. Dann funktioniert die Sortierung problemlos.

Gruess Hansueli


 

Beiträge aus den Excel-Beispielen zum Thema "Tabelle nach Wert aus der ComboBox sortieren"