Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1024to1028
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Codes stören sich gegenseitig

Codes stören sich gegenseitig
16.11.2008 11:17:02
Wolfgang
Hallo,
in einer Mappe existiert einerseits ein Code, um für bestimmte Blätter dieser Mappe Pulldown zu starten. Ein weiterer Code kopiert Daten aus zwei Tabellen in eine dritte Tabelle. Beim Kopieren der Daten scheinen sich diese beiden Codes zu stören. Es erscheint dann im Code für die Pulldown eine Fehlermeldung, dass die Methode Intersect für die Methode Global fehlgeschlagen ist. Gibt es Möglichkeiten, dieser Fehlermeldung zu umgehen bzw. was muß ich verändern? Kann beim Kopieren evtl. der Code für die Pulldowns ausgeschaltet werden? - Ich habe 'mal beide Codes hier beigefügt. Danke schon jetzt auch wieder für die Rückmeldungen.
Herzliche Grüße
Wolfgang
'Der Code für die Pulldowns

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim strList As String
Dim rng As Range
If Not Sh.Name = "Start" And Not Sh.Name = "Gesamt" Then
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("I2:I6000")) Is Nothing Then
Set rng = Sh.Range("I2:I6000")
strList = "Zahl1 " & Chr(44) & "Zahl2 " & Chr(44) & "Zahl3 " & Chr(44) & _
"Zahl4 " & Chr(44) & "Zahl5 " & Chr(44)
End If
If Not Intersect(Target, Range("K2:K6000")) Is Nothing Then
Set rng = Sh.Range("K2:K6000")
strList = "Ja" & Chr(44) & "Nein"
End If
If Not Intersect(Target, Range("M2:M6000")) Is Nothing Then
Set rng = Sh.Range("M2:M6000")
strList = Date
End If
If strList = "" Then Exit Sub
rng.Validation.Delete
With Target.Validation
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:=strList
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = "Auweia"
.InputMessage = ""
.ErrorMessage = _
"Hier können Sie bitte nur das Listenfeld mit den Vorgaben nutzen."
.ShowInput = True
.ShowError = True
End With
Set rng = Nothing
End If
End Sub


'Der Code für das Kopieren
Option Explicit
Sub FilternUndKopieren()
Application.ScreenUpdating = False
With Sheets("Grunddaten")
.Unprotect
.Range("A1").Autofilter Field:=17, Criteria1:=">180"
Intersect(.Columns("A:R"), .Range(.Rows(2), .Rows(.Range("a1").CurrentRegion.Rows.Count))). _
Copy
Sheets("Altdaten").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormats
Sheets("Altdaten").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
.Range(.Rows(2), .Rows(.Range("a1").CurrentRegion.Rows.Count)).EntireRow.Delete shift:=xlUp
.Range("A1").Autofilter
.AutoFilterMode = False
.Application.CutCopyMode = False
End With
Application.ScreenUpdating = True
End Sub


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Worksheetzuordnung fehlt
16.11.2008 11:30:00
Kuwe
Hallo Wolfgang,
bei allen Range-Angaben muss auch das zugehörige Worksheet angegeben werden.
Ansonsten wird das gerade aktive Worksheet zu Grunde gelegt.
Nehmen wir mal einen Auszug aus dem Code:

If Not Intersect(Target, Range("M2:M6000")) Is Nothing Then
Set rng = Sh.Range("M2:M6000")
strList = Date
End If

In Zeile 2 erfolgt die Sheetszuweisung durch die vorangestellte Variable "Sh" für das Sheet korrekt,
in Zeile 1 fehlt sie jedoch.
Also ergänze alle fehlenden Zuweisungen im Code entsprechend.
Gruß Uwe

AW: Worksheetzuordnung fehlt
16.11.2008 13:10:00
Wolfgang
Hallo Uwe,
herzlichen Dank für Deine Rückmeldung; Wenn ich das richtig getestet habe, kann ich aber nur jeweils ein Sheet zuweisen oder (?), der vorgenannte Code befindet sich im Arbeitsmappenmodul und grenzt wohl die nicht gewollten Sheets aus.- Wie könnte, möglicherweise die Zuweisung der Sheets "Grunddaten", "Altdaten" und "Gesamt", auf die sich die Pulldown beziehen, aussehen? - Wäre Dir für eine Hilfestellung sehr dankbar, da meine Umstellungsversuche scheitern bzw. ich es immer nur schaffe, jeweils 1 Sheet zuzuweisen.- Danke schon jetzt wieder für Deine Rückmeldung.
Gruß - Wolfgang
Anzeige
AW: Worksheetzuordnung fehlt
16.11.2008 13:27:00
Kuwe
Hallo Wolfgang,
Du sollst nur vor alle Range("...")
"sh." (ohne Anführungszeichen) davorsetzen.
Gruß Uwe
Danke - es klappt !
16.11.2008 13:38:00
Wolfgang
Hallo Uwe,
erneut recht herzlichen Dank für Deine schnelle Rückmeldung; Es hat einen Moment gebraucht, bis ich wußte, was Du meinst - nun habe ich verstanden und es so umgesetzt. Es klappt und der Code läuft. Recht herzlichen Dank dafür und einen schönen Sonntag noch.
Gruß - Wolfgang

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige