_CH_K_1991_
Lieutenant
- Registriert
- Nov. 2008
- Beiträge
- 772
Hallo Zusammen
Ich habe folgenden Code geschrieben um mit einem Spezialfilter gewisse Daten aus einem Datenblatt auszulesen und in ein anderes zu kopieren (natürlich gefiltert). Der Filter ist in einem weiteren Blatt aufgeführt.
Jetzt möchte ich, dass er von den ca 20 Spalten die kopiert werden (sind Kalenderwochen - KW1 u.s.w.) alle ausblendet ausser die drei die im Filter stehen (bei der For Each Schlaufe Range("G1:I1")). Der jetzige Code
würde alle anzeigen ausser die drei. Leider funktioniert im Moment nicht einmal das, denn die das Resultat der For Each Schlauf ist leer, ich nehme an, dass ich die Suche nicht richtig aufgebaut habe.
Besten Dank für Eure Hilfe.
Wenn ich etwas umständlich erklärt habe, bitte fragen ;-)
Gruss
Funktion:
PS: Habe den Code als HTML deklariert, sieht so am besten aus...
Ich habe folgenden Code geschrieben um mit einem Spezialfilter gewisse Daten aus einem Datenblatt auszulesen und in ein anderes zu kopieren (natürlich gefiltert). Der Filter ist in einem weiteren Blatt aufgeführt.
Jetzt möchte ich, dass er von den ca 20 Spalten die kopiert werden (sind Kalenderwochen - KW1 u.s.w.) alle ausblendet ausser die drei die im Filter stehen (bei der For Each Schlaufe Range("G1:I1")). Der jetzige Code
würde alle anzeigen ausser die drei. Leider funktioniert im Moment nicht einmal das, denn die das Resultat der For Each Schlauf ist leer, ich nehme an, dass ich die Suche nicht richtig aufgebaut habe.
Besten Dank für Eure Hilfe.
Wenn ich etwas umständlich erklärt habe, bitte fragen ;-)
Gruss
HTML:
Sub Spezialfilter()
'Kopiert Daten ins neue Blatt - Filter bereits Aktiv
Worksheets("MDK").Cells.Clear
With ActiveSheet.Range("A3:BO79")
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Worksheets("Filter").Range("F1:I7"), CopyToRange:=Worksheets("MDK").Range("A1"), _
Unique:=True
End With
Worksheets("MDK").Activate
'Definition der Variabeln für For Each Schlaufe unten
Dim C As Range
Dim Suchbegriff
Dim Spalte As Integer
Dim SpalteReturn As String
'Spalten ausblenden über For Each Schlaufe
For Each C In Worksheets("Filter").Range("G1:I1").Cells
With Suchbegriff = C
Set C = Columns("M:BZ").Find( _
What:=Suchbegriff, _
LookIn:=xlValues, _
LookAt:=xlPart)
End With
'Falls keine Spalte gefunden - Fehlermeldung ausgeben
If C Is Nothing Then
MsgBox "Die Kalenderwoche konnte nicht gefunden und ausgeblendet werden."
Else
'Spalte auswählen und Verstecken
C.Select
Spalte = C.Column
SpalteReturn = SpaltenBuchstabeErmitteln(Spalte)
Columns(Spalte).Select
Selection.Columns.Hidden = True
Debug.Print (C)
End If
Next
End Sub
Funktion:
HTML:
'SpaltenBustabenErmitteln Funktion
Function SpaltenBuchstabeErmitteln(sColumn As Integer)
Dim iVolleAZ As Integer
Dim iRest As Integer
iVolleAZ = Int(sColumn / 26)
iRest = sColumn - iVolleAZ * 26
If iVolleAZ > 0 Then
SpaltenBuchstabeErmitteln = Chr(64 + iVolleAZ) & Chr(64 + iRest)
Else
SpaltenBuchstabeErmitteln = Chr(64 + iRest)
End If
End Function
PS: Habe den Code als HTML deklariert, sieht so am besten aus...