Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Listbox mit Filter

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Listbox mit Filter (2812 / mal gelesen)
Volker E
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Volker E an!   Senden Sie eine Private Message an Volker E  Schreiben Sie einen Gästebucheintrag für Volker E

Beiträge: 164
Registriert: 20.08.2012

Win 7 64 bit,
Inventor 2015 Sp2 64 bit
Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM
Nvidia Quadro 4000
Space Explorer

erstellt am: 13. Sep. 2016 11:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo IV Gemeinde

Hab da mal eine Frage zur Listbox, kann man in einer Listbox einen Auto-Filter einbauen so wie in Excel.

Ich lese Daten aus Excel in eine Listbox auf meinen Formular ein
das funktioniert soweit gut. Da es aber so viele Datensätze sind möchte ich diese filtern. Als Filter möchte ich den Inhalt der ersten 3 Spalten der Listbox nutzen.

Mein Ansatz was bis jetzt funktioniert

Code:
Dim oxls As Object
    Dim oxlsdoc As Excel.Workbook
    Set oxls = CreateObject("Excel.Application")
    Set oxlsdoc = oxls.Workbooks.Open("D:\Makro\ERP Nachschlagewerk_Version_49.xls")
    With LisArtiklelnummern
        .ColumnCount = 8
        .ColumnWidths = "3.0cm;1.0cm;2.8cm;2.0cm;3.0cm;3.2cm;3.5cm;15.0cm"
        .ColumnHeads = False
        .List = oxlsdoc.Sheets("Zusammenfassung").Range("B4:I262").value
        '.RowSource = oxlsdoc.Sheets("Zusammenfassung").Range("B2:H262")
    End With
    oxlsdoc.Close
    oxls.Quit

Kann mir einer einen Tipp geben?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BernoAn
Mitglied



Sehen Sie sich das Profil von BernoAn an!   Senden Sie eine Private Message an BernoAn  Schreiben Sie einen Gästebucheintrag für BernoAn

Beiträge: 164
Registriert: 16.01.2014

erstellt am: 15. Sep. 2016 13:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Volker E 10 Unities + Antwort hilfreich

Hallo

Du meinst bestimmt Zeile 1-3?

Mach doch
Listbox Zeile1 anklicken liest Bereich "a:b" aus Excel aus
Listbox Zeile2 anklicken liest Bereich "b:c" aus Excel aus
Listbox Zeile3 anklicken liest Bereich "d:e" aus Excel aus
jeweils eine verschiedene Subroutine

Gruß
Berno

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Volker E
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Volker E an!   Senden Sie eine Private Message an Volker E  Schreiben Sie einen Gästebucheintrag für Volker E

Beiträge: 164
Registriert: 20.08.2012

Win 7 64 bit,
Inventor 2015 Sp2 64 bit
Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM
Nvidia Quadro 4000
Space Explorer

erstellt am: 15. Sep. 2016 16:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Artikelnummer.JPG

 
ich habe noch mal zu besseren Verständnis ein Bild angehängt.
Ich möchte je eine Combobox über den drei ersten Spalten platzieren
und mit deren Auswahl Ergebnis dann die Listeneinträge filtern.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BernoAn
Mitglied



Sehen Sie sich das Profil von BernoAn an!   Senden Sie eine Private Message an BernoAn  Schreiben Sie einen Gästebucheintrag für BernoAn

Beiträge: 164
Registriert: 16.01.2014

erstellt am: 16. Sep. 2016 10:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Volker E 10 Unities + Antwort hilfreich

Hallo

Das geht,
den Autofilter von Excel benutzen,
der Autofilter in Excel muß im Blatt gesetzt sein und dann von Inventor aus ansprechen

mit

Code:
.Range("A2:B36").AutoFilter Field:=1, Criteria1:="Blech"


und die Zellen dann mit

Code:
oxlsdoc.Sheets("Zusammenfassung").Range("B4:I262").SpecialCells(xlCellTypeVisible)

einlesen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Volker E
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Volker E an!   Senden Sie eine Private Message an Volker E  Schreiben Sie einen Gästebucheintrag für Volker E

Beiträge: 164
Registriert: 20.08.2012

Win 7 64 bit,
Inventor 2015 Sp2 64 bit
Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM
Nvidia Quadro 4000
Space Explorer

erstellt am: 16. Sep. 2016 18:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo BernoAn

es funktioniert so wie Du vorgeschlagen hast.

Problem ist aber da die Excelliste auf dem Server liegt und dort mehrere aus der Av ständigt Einträge vornehmen möcht ich doch die List nur einlesen und dann die Einträge in der Listbox filtern damit wäre ich unabhänig von der Liste auf dem Server.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RolandD
Mitglied



Sehen Sie sich das Profil von RolandD an!   Senden Sie eine Private Message an RolandD  Schreiben Sie einen Gästebucheintrag für RolandD

Beiträge: 533
Registriert: 07.01.2005

i7-9700k
32GB DDR4-RAM
Nvidia RTX 2060
SSD 970 m.2
Win10-64 (21H2)
AIP 2020.3
Dell U3417W

erstellt am: 16. Sep. 2016 18:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Volker E 10 Unities + Antwort hilfreich

Hallo Volker,

Du kannst doch die gesamte Liste in ein Array einlesen.
Danach aus diesem Array die Zeilen, die den 3 Filtern entsprechen, in die Listbox übernehmen

------------------
Gruß Roland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Volker E
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Volker E an!   Senden Sie eine Private Message an Volker E  Schreiben Sie einen Gästebucheintrag für Volker E

Beiträge: 164
Registriert: 20.08.2012

Win 7 64 bit,
Inventor 2015 Sp2 64 bit
Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM
Nvidia Quadro 4000
Space Explorer

erstellt am: 17. Sep. 2016 11:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Roland

meine VBA Kenntnisse sind sehr bescheiden kannst Du mir
ein Beispiel geben wie ich das anstelle mit dem Array.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BernoAn
Mitglied



Sehen Sie sich das Profil von BernoAn an!   Senden Sie eine Private Message an BernoAn  Schreiben Sie einen Gästebucheintrag für BernoAn

Beiträge: 164
Registriert: 16.01.2014

erstellt am: 19. Sep. 2016 08:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Volker E 10 Unities + Antwort hilfreich

Hallo Volker

Du musst nach dem Filtern nicht speichern.

Andere Möglichkeit:
Du kannst dir die Datei auch über Vba lokal kopieren

Gruß
Berno

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Volker E
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Volker E an!   Senden Sie eine Private Message an Volker E  Schreiben Sie einen Gästebucheintrag für Volker E

Beiträge: 164
Registriert: 20.08.2012

Win 7 64 bit,
Inventor 2015 Sp2 64 bit
Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM
Nvidia Quadro 4000
Space Explorer

erstellt am: 20. Sep. 2016 12:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Artikelnummer.rar.txt

 
Hallo zusammen

Habe es mal so probiert aber kein Erfolg
Formular und Exceldatei sind angehängt

vielleicht hat ja einer eine Idee

Private Sub TextBox4_Change()
        Dim strSuchbegriff As String
        strSuche = Me!TextBox4.text
    Me!ListBox1.RowSource = "SELECT [2], [Material]" _
        &" FROM ListBox1" _
        "WHERE ListBox1" & strSuche & "*'"
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BernoAn
Mitglied



Sehen Sie sich das Profil von BernoAn an!   Senden Sie eine Private Message an BernoAn  Schreiben Sie einen Gästebucheintrag für BernoAn

Beiträge: 164
Registriert: 16.01.2014

erstellt am: 20. Sep. 2016 12:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Volker E 10 Unities + Antwort hilfreich

Hallo

Mit der frmArtikelnummer.frx kann man nichts anfangen.

*.frm wird benötigt

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Volker E
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Volker E an!   Senden Sie eine Private Message an Volker E  Schreiben Sie einen Gästebucheintrag für Volker E

Beiträge: 164
Registriert: 20.08.2012

Win 7 64 bit,
Inventor 2015 Sp2 64 bit
Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM
Nvidia Quadro 4000
Space Explorer

erstellt am: 20. Sep. 2016 13:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Artikelnummer.rar.txt

 
Entschuldigung falsch geklickt

aber Danke für den Hinweis!

hier noch mal elles zusammen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Volker E
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Volker E an!   Senden Sie eine Private Message an Volker E  Schreiben Sie einen Gästebucheintrag für Volker E

Beiträge: 164
Registriert: 20.08.2012

Win 7 64 bit,
Inventor 2015 Sp2 64 bit
Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM
Nvidia Quadro 4000
Space Explorer

erstellt am: 23. Sep. 2016 14:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo IV Gemeinde

habe es jetzt soweit hinbekommen dass ich über die Textbox1 das Listenfeld anspringen kann leider kann ich nur die ersten 4 Einträge selektieren und ich muss in der Textbox die fortlaufende Zählernummer des Listenfeld angeben damit die entsprechende Zeile selektiert wird.
Wie muss ich den Code umschreiben damit ich im Textfeld einen Wortanfang bzw ein Wort eingeben kann und dann die Zeilen selektiert wird.
Vielleicht weiß einer von euch wie das geht.

hier mein bisheriger Code:

Private Sub TextBox1_Change()
    Dim i As Long
    Dim n As Long
    Dim Str As String
    Str = Me.TextBox1.text
    n = Me.LisBenennungen.ColumnCount
    For i = 0 To n - 1
        If Left(Me.LisBenennungen.List(i), Len(Str)) = Str Then
            Me.LisBenennungen.ListIndex = i
            Exit Sub
        End If
    Next i
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Volker E
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Volker E an!   Senden Sie eine Private Message an Volker E  Schreiben Sie einen Gästebucheintrag für Volker E

Beiträge: 164
Registriert: 20.08.2012

Win 7 64 bit,
Inventor 2015 Sp2 64 bit
Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM
Nvidia Quadro 4000
Space Explorer

erstellt am: 23. Sep. 2016 14:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Listbox1.rar.txt

 
Hier noch das Formular und die Tabelle aus der die Daten stammen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

surfeu36
Mitglied


Sehen Sie sich das Profil von surfeu36 an!   Senden Sie eine Private Message an surfeu36  Schreiben Sie einen Gästebucheintrag für surfeu36

Beiträge: 5
Registriert: 08.02.2007

erstellt am: 06. Nov. 2016 13:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Volker E 10 Unities + Antwort hilfreich

Bei mir werden die Werte aus der Tabelle nicht eingelesen! Warum nicht?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz