11.11.2017, 17:19
(Dieser Beitrag wurde zuletzt bearbeitet: 14.11.2017, 12:12 von Rabe.
Bearbeitungsgrund: Code-Tags benutzt
)
Hallo Leute,
bin neu hier und habe auch erst angefangen mit Excel Programmierung.
Kurze Erklärung zu meinem Ziel:
Aus Tabelle1 sollen aus einer Zeile 7 Strings ausgelesen werden, diese dann in Tabelle2 als Filter setzen
Anschließend soll aus Spalte C die Daten (bsp. 10 Zeilen mit verschiedenen Inhalten) kopiert werden und dann in Tabelle 3 eingefügt werden.
Problem: das was ich bis jetzt gemacht habe funktioniert nicht
Es wird mir keine Fehlermeldung ausgegeben außer das "Sub Char_einlesen()" in gelb oder rot hinterlegt wird,
und wenn man mit der Maus darauf klickt kommt: filter_daten(x) = "" oder Spalte = 0
Bitte um Hilfe
bin neu hier und habe auch erst angefangen mit Excel Programmierung.
Kurze Erklärung zu meinem Ziel:
Aus Tabelle1 sollen aus einer Zeile 7 Strings ausgelesen werden, diese dann in Tabelle2 als Filter setzen
Anschließend soll aus Spalte C die Daten (bsp. 10 Zeilen mit verschiedenen Inhalten) kopiert werden und dann in Tabelle 3 eingefügt werden.
Problem: das was ich bis jetzt gemacht habe funktioniert nicht
Code:
Sub Char_einlesen()
'
' Char_einlesen Makro
'
' Tastenkombination: Strg+Umschalt+C
'
Dim filter_daten(6) As String
Dim Zeile As Integer
Dim Spalte As Integer
Dim x As Integer
Dim intI As Integer
Zeile = 2
Spalte = 3
x = 0
While Zeile <= 0
Worksheets("Tabelle1").Activate
While Spalte <= 9 'hier werden die Filter gesetzt, insgesamt 7
filter_daten(x) = Worksheets("Tabelle1").Cells(Zeile, Spalte).Value
Filtern filter_daten(x), x
Spalte = Spalte + 1
x = x + 1
Wend
Worksheets("Tabelle2").Activate
ActiveSheet.Range("C2:C" & ActiveSheet.UsedRange.Rows.Count).SpecialCells(xlCellTypeVisible).Copy
Worksheets("Tabelle3").Range(B2).Activate
ActiveSheet.Paste
With Worksheets("Tabelle1")
For intI = 3 To 9
Selection.AutoFilter Field:=intI
Next
End With
Zeile = Zeile + 1
Spalte = 3
x = 0
Wend
End Sub
Sub Filtern(filter_eingabe As String, i As Integer)
Worksheets("Tabelle2").Activate
Select Case i
Case Is = 0
If filter_eingabe <> "" Then
Range("C2:C").AutoFilter Field:=3, Criteria1:=filter_eingabe
Case Is = 1
If filter_eingabe <> "" Then
Range("F2:F").AutoFilter Field:=6, Criteria1:=filter_eingabe
Case Is = 2
If filter_eingabe <> "" Then
Range("Q2:Q").AutoFilter Field:=17, Criteria1:=filter_eingabe
Case Is = 3
If filter_eingabe <> "" Then
Range("G2:G").AutoFilter Field:=7, Criteria1:=filter_eingabe
Case Is = 5
If filter_eingabe <> "" Then
Range("U2:U").AutoFilter Field:=21, Criteria1:=filter_eingabe
Case Is = 6
If filter_eingabe <> "" Then
Range("W2:W").AutoFilter Field:=23, Criteria1:=filter_eingabe
End Select
End Sub
Es wird mir keine Fehlermeldung ausgegeben außer das "Sub Char_einlesen()" in gelb oder rot hinterlegt wird,
und wenn man mit der Maus darauf klickt kommt: filter_daten(x) = "" oder Spalte = 0
Bitte um Hilfe