Copy and Paste
08.10.2003 09:45:58
Martin Halberstadt
ich verstehe die Welt nicht mehr. Eine "Copy & Paste"-Kombination funktioniert nicht mehr. Ich habe eine dreifache Wenn-Dann-Funktion. In jeder Abfrage taucht diese "Copy & Paste"-Kombination auf, allerdings funktioniert Sie in der dritten nicht mehr. Selbst wenn ich den Code kopiere und einige wenige Änderunge per Hand vornehme...nichts. Ich hoffe Ihr könnt mir bei meinem Problem helfen.
Hier der Code:
Private Sub cboUserAuswahl_Click()
With Application
.DisplayAlerts = True
.ScreenUpdating = False
End With
Sheets("TAB1").Select
Selection.AutoFilter Field:=1
Sheets("TAB2").Select
Selection.AutoFilter Field:=1
Sheets("TAB3").Select
Selection.AutoFilter Field:=1
Sheets("Auswahl-Maske").Select
Dim Feld As Variant
Application.ScreenUpdating = False
Sheets("Daten").Select
Tabelle2.Rows("1:500").Delete Shift:=xlUp
If optTAB1.Value = True Then
Sheets("TAB1").Select
Selection.AutoFilter Field:=4, Criteria1:=cboUserAuswahl.Value, Operator:=xlAnd
Tabelle1.Range("A4:G4").CurrentRegion.Copy
Tabelle4.Range("A1").PasteSpecial Paste:=xlValues
Sheets("Daten").Select
Tabelle4.Rows("1:1").Delete Shift:=xlUp
Feld = Range("A1:G" & CStr(Range("D65536").End(xlUp).row))
lstUserAuswahl.List = Feld
Application.DisplayAlerts = False
With Application
.DisplayAlerts = True
.ScreenUpdating = False
End With
Sheets("TAB1").Select
Selection.AutoFilter Field:=4
Sheets("Auswahl-Maske").Select
ElseIf optTAB2.Value = True Then
Sheets("TAB2").Select
Selection.AutoFilter Field:=4, Criteria1:=cboUserAuswahl.Value, Operator:=xlAnd
Tabelle2.Range("A4:G4").CurrentRegion.Copy
Tabelle4.Range("A1").PasteSpecial Paste:=xlValues
Sheets("Daten").Select
Tabelle4.Rows("1:1").Delete Shift:=xlUp
Feld = Range("A1:G" & CStr(Range("D65536").End(xlUp).row))
lstUserAuswahl.List = Feld
Application.DisplayAlerts = False
With Application
.DisplayAlerts = True
.ScreenUpdating = False
End With
Sheets("TAB2).Select
Selection.AutoFilter Field:=4
Sheets("Auswahl-Maske").Select
ElseIf optTAB3.Value = True Then
Sheets("TAB3").Select
Selection.AutoFilter Field:=6, Criteria1:=cboUserAuswahl.Value, Operator:=xlAnd
Tabelle3.Range("A4:I4").CurrentRegion.Copy
Tabelle4.Range("A1").PasteSpecial Paste:=xlPasteValues
Sheets("Daten").Select
Tabelle4.Rows("1:1").Delete Shift:=xlUp
Feld = Range("A1:I" & CStr(Range("D65536").End(xlUp).row))
lstUserAuswahl2.List = Feld
Application.DisplayAlerts = False
With Application
.DisplayAlerts = True
.ScreenUpdating = False
End With
Sheets("TAB3").Select
Selection.AutoFilter Field:=6
Sheets("Auswahl-Maske").Select
End If
End Sub
Sinn der Sache ist es, nach Auswahl eines OptionButtons einen bestimmten Begriff aus einem Kombinationsfeld auszuwählen, nach welchem dann ein bestimmtes Tabellenblatt gefiltert wird. Diese gefilterten Daten werden dann in das Tabellenblatt 4 ("Daten") zwischengespeichert, die erste Spalte, in welcher sich die Spaltenüberschriften befinden wird gelöscht und dieser restliche eingefügte Bereich wird dann in eines von zwei Listenfelder übergeben.
Dummerweise sind in meinen Tabellen nicht alle Zellen gefüllt. Dies hat mir schon viele Probleme bereitet. Für die ersten beiden Tabellenblätter geht es mittlerweile, aber bei der dritten Abfrage, die das dritte Tabellenblatt betrifft geht dies leider nicht. Es werden nicht alle Zellen des Filters kopiert und eingefügt. Fülle ich diese Zellen probehalber, dann geht es.
Warum geht es nicht, wenn die Zellen leer sind?
Bitte helft mir. Vielen Dank.
Mit freundlichen Grüßen,
Martin Halberstadt