1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Aus mehreren Spalten mit Filter arbeiten

Dieses Thema im Forum "Visual Basic 6.0, VBA & VBScript" wurde erstellt von josef24, 10. November 2017.

  1. josef24

    josef24 Mitglied

    Einen schönen Tag wünsche ich. Sitze mal wieder an einem VBA Problem und komme nicht weiter. Habe meine Code- Versuch mal angehängt. Folgendes Problem hätte ich bitte gerne gelöst: Ich wähle mittels Inputbox die Zahl Spalte "N" aus, (das so bleiben). Dann sollen aus der Spalte "X" und der Spalte "Y" jeweils die Datensätze mit Textinhalten ebenfalls hinzugefügt werden. Also eine Variable in Spalte "N" und die Textfelder betreffend sind es dann feste Werte (Text). Anschließend wird das Ergebnis an Word übergeben.
    Danke fürs Interesse und ggf. Lösungsvorschläge!
    Gruß Josef

    Code (Text):
    1. Private Sub CommandButton8_Click()
    2. Dim appword As Object, wordDoku As Object, wordbereich As Object, gruppe As String
    3. Dim pfad As String
    4. Dim bereich As Range
    5. '        Dim rngFilterRange As Range
    6. '        Dim lngCriteriaCount As Long
    7. '        Dim arrCriteria() As String
    8. Set bereich = ThisWorkbook.Worksheets("Probfall").Cells(1, 1).CurrentRegion
    9. Set appword = CreateObject("Word.Application")
    10. appword.Visible = True
    11. Set wordDoku = appword.Documents.Add
    12. Set wordbereich = wordDoku.Paragraphs.last.Range
    13.  
    14. gruppe = Application.InputBox(Title:="Auswahl Tage gültig", Prompt:="Geben Sie die Anzahl Tage ein:", _
    15. Default:="Hier eingeben", Type:=2)
    16. bereich.AutoFilter Field:=8, Criteria1:=gruppe
    17. bereich.Copy
    18.     With wordDoku
     
  2. Yaslaw

    Yaslaw n/a Moderator

    AH - Excel. Bitte immer dazuschreiben.
    Leider verstehe ich nur Bahnhof von dem was du willst.
    Ich sehe in deinem Code werde N noch X oder Y. Oder sind das die Spalten des Worksheets?
    Du filterst in Spalte 8. Das ist aber nicht N sondern H. Aber H kommt in deinem Text nixht vor.

    Gut, der User kann etwas eingeben. Wie komt ehr von dieser Zahl auf X und Y, was immer das auch sein soll? Und zu was sollen die Textinhalte hinzugefügt werden?

    Und was ist die eigentliche Frage?
     
  3. josef24

    josef24 Mitglied

    Hallo und Danke für das Interesse, muss mich entschuldigen, habe eine falsche Tabelle in EXCEL 2007 verwendet. Es ist so, die Tabelle heißt "Probfall". Dort gibt es die Spalte 8 die Zahlen beinhaltet (Filter über Inputbox) . Bis dahin ist noch alles richtig. Irrtümlich sollen nicht die Spalten X und Y gefiltert werden, sondern die Spalten (6 "F") und (7 "G"). Nur Spalten mit Textinhalten auswählen. Die Tabelle wird sobald der Filter entsprechend ausgewählt, an ein Word- Dokument übergeben. Hierbei gibt es bisher jedenfalls keine Probleme. Ich hoffe das trägt etwas zur Erklärung bei.
     
  4. josef24

    josef24 Mitglied

    Noch eine Ergänzung.
    Habe mal ein paar Versuche gestartet, erreiche aber nur, das ein Filter in einer Spalte ein Ergebnis bring. Ich wollte aber in 2 oder auch 3 Spalten gleichzeitig filtern. Eine wie ich vermute (oder funktion). Vielleicht kann mich hierbei jemand aktiv unterstützen? Danke und Gruß Josef


    Code (Text):
    1. Private Sub CommandButton8_Click()
    2. Dim appword As Object, wordDoku As Object, wordbereich As Object, gruppe As String
    3. Dim pfad As String
    4. Dim bereich As Range
    5. Dim objRange As Range
    6. Dim objsheet As Worksheet
    7. Dim objworkbook As Workbook
    8. ' ThisWorkbook.Worksheets("Probfall").Activate
    9. Set bereich = ThisWorkbook.Worksheets("Probfall").Cells(1, 1).CurrentRegion
    10. Set appword = CreateObject("Word.Application")
    11. appword.Visible = True
    12. Set wordDoku = appword.Documents.Add
    13. Set wordbereich = wordDoku.Paragraphs.last.Range
    14. '            gruppe = Application.InputBox(Title:="Auswahl Tage gültig", Prompt:="Geben Sie die Anzahl Tage ein:", _
    15. '            Default:="Hier eingeben", Type:=2)
    16. '            bereich.AutoFilter Field:=8, Criteria1:=gruppe
    17. ' aktivesheet.UsedRange.AutoFilter                    '  ("F:F,G:G).select
    18. ActiveSheet.UsedRange.AutoFilter 6, ">=*  "
    19. ActiveSheet.UsedRange.AutoFilter 7, ">=*  "
    20. '  AutoFilter Field:=8, Criteria1:=">=1" ' , Operator:=xlOr, Criteria2:="<=150 "
    21. '  Range("F:G").AutoFilter Field:=6, Criteria1:=">=* ", Operator:=xlOr, Criteria2:=">=* "
     
Die Seite wird geladen...