Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
328to332
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
328to332
328to332
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Problem - Copy Destination

VBA Problem - Copy Destination
30.10.2003 13:30:55
Daniel
Hallo XL-Folks & Friends

Ich habe ein Skript welches wenn eine Zelle auf A steht dann gewisse Zelle in ein andere Zellen kopiert (siehe Skript). Ich möchte dieses Skript nun wiederholen und für andere Zellen auch verwenden. Doch nun funktioniert das untere Skript nicht. Das obere (alte) funktioniert weiterhin einwandfrei.

Vielen Dank!!!


Private Sub Worksheet_Change(ByVal Target As Range)
' 1. (altes) Skript - funktioniert einwandfrei
If Intersect(Target, Range("F15")) Is Nothing And _
Intersect(Target, Range("BK15:BN26")) Is Nothing Then Exit Sub
If Range("F15").Value = "Automatisch" Then
Range("BK15:BN26").Copy _
Destination:=Range("X15:AA26")
ElseIf Range("F15").Value = "Manuell" Then
Range("X15:AA15").Select
MsgBox ("Bitte geben Sie die Sendungen pro Monat manuell ein")
'Range("X15:AA26").ClearContents
Range("BP15:BS26").Copy _
Destination:=Range("X15:AA26")
ElseIf Range("F15").Value <> "" Then
Range("F15").Select
MsgBox ("Automatisch oder Manuell wählen")
Range("F15").ClearContents
End If
' 2.tes Skript - funktioniert nicht (warum?) - habe nur die Zellen geändert.
If Intersect(Target, Range("F22")) Is Nothing And _
Intersect(Target, Range("BK36:BR36")) Is Nothing Then Exit Sub
If Range("F22").Value = "Ja" Then
Range("BK36:BR36").Copy _
Destination:=Range("T36:AA36")
ElseIf Range("F22").Value = "Nein" Then
Range("T36:AA36").Select
MsgBox ("Bitte geben Sie die Sendungen pro Monat manuell ein")
'Range("T36:AA36").ClearContents
Range("BT36:CA36").Copy _
Destination:=Range("T36:AA36")
ElseIf Range("F22").Value <> "" Then
Range("F22").Select
MsgBox ("Automatisch oder Manuell wählen")
Range("F22").ClearContents
End If
End Sub



VIELEN DANK!!!!

Daniel.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Problem - Copy Destination
30.10.2003 13:49:00
Martin Bolleter
Hallo Daniel

weil du mit der If-Bedingung im ersten Teil schon aussteigst (exit sub), sofern nicht das Target des 1. Teils getroffen wurde. Und falls die Target-Bedingung im 1. Teil erfüllt war, kann sie nicht auch noch im 2. Teil erfüllt sein.

Gruss
Martin
Wie geht das?
30.10.2003 14:00:48
Daniel
Hallo Martin

Also sollte ich das Exit Sub aus dem ersten Skript entfernen????

Danke

Daniel
AW: Wie geht das?
30.10.2003 14:13:37
Hajo_Zi
Hallo Daniel

mal Live, schreibe es um

If Intersect(Target, Range("F15,BK15:BN26")) Is Nothing Then Exit Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.


Anzeige
AW: Wie geht das? - Fehlermeldung
30.10.2003 14:19:18
Daniel
Hi Hajo

Dann kommt die Fehlermeldung:

Laufzeitfehler '1004?
Die Methode 'Range' für das Objekt '_Worksheet' ist fehlgeschlagen.

Ich habe zuerst die 1 Zeile beim 1.Skript geändert. Dann kam die Fehlermeldung und danach habe ich auch die 1. Zeile beim 2. Skript entsprechend geändert, aber die Fehlermeldung kam immer noch.

Danke!!!

Daniel.
AW: Wie geht das? - Fehlermeldung
30.10.2003 14:28:26
Hajo_Zi
allo Daniel

ich habe es jetzt getestet ohne Probleme


Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("F22,BK36:BR36")) Is Nothing Then Exit Sub
' wozu der zweite Bereich der wird nicht behandelt
If Range("F22").Value = "Ja" Then
Range("BK36:BR36").Copy _
Destination:=Range("T36:AA36")
ElseIf Range("F22").Value = "Nein" Then
Range("T36:AA36").Select
MsgBox ("Bitte geben Sie die Sendungen pro Monat manuell ein")
'Range("T36:AA36").ClearContents
Range("BT36:CA36").Copy _
Destination:=Range("T36:AA36")
ElseIf Range("F22").Value <> "" Then
Range("F22").Select
MsgBox ("Automatisch oder Manuell wählen")
Range("F22").ClearContents
End If
End Sub



Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.


Anzeige
Immer noch nicht
30.10.2003 14:34:45
Daniel
Hi Hajo

Leider gehts immer noch nicht. Nach dem ich den zweiten Bereich rausgenommen habe, kam zwar keine Fehlermeldung mehr, aber der zweite Skript funktioniert immer noch nicht.

Ich poste mal den ganze Script hier. Es sind noch ein paar Sache davor drin. Vielleicht liegt der Fehler ja dort.

Vielen Dank


Private Sub Worksheet_Change(ByVal Target As Range)
'Sponsorship
If Target.Address(0, 0) = "F29" Then
If Target = "Nein" Then Rows("30:70").Hidden = True
If Target = "Ja" Then Rows("30:70").Hidden = False
If Target = "Ja" Then Range("F34").Value = "Ja"
If Target = "Ja" Then Range("F41").Value = "Ja"
If Target = "Ja" Then Range("F49").Value = "6"
If Target = "Ja" Then Range("F48").Value = "Ja"
If Target = "Ja" Then Range("F62").Value = "Ja"
End If
'Indikativ
If Target.Address(0, 0) = "F34" Then
If Target = "Nein" Then Rows("35:38").Hidden = True
If Target = "Ja" Then Rows("35:38").Hidden = False
End If
'Abdikativ
If Target.Address(0, 0) = "F41" Then
If Target = "Nein" Then Rows("42:45").Hidden = True
If Target = "Ja" Then Rows("42:45").Hidden = False
End If
'Reminder
If Target.Address(0, 0) = "F48" Then
If Target = "Nein" Then Rows("49:58").Hidden = True
If Target = "Ja" Then Range("F49").Value = "6"
If Target = "Ja" Then Rows("49:58").Hidden = False
End If
If Target.Address(0, 0) = "F49" Then
If Target = "1" Then Rows("53:58").Hidden = True
If Target = "2" Then Rows("53:58").Hidden = True
If Target = "3" Then Rows("53:58").Hidden = False
If Target = "3" Then Rows("56:58").Hidden = True
If Target = "4" Then Rows("53:58").Hidden = False
If Target = "4" Then Rows("56:58").Hidden = True
If Target = "5" Then Rows("53:58").Hidden = False
If Target = "6" Then Rows("53:58").Hidden = False
End If
'Promotrailer
If Target.Address(0, 0) = "F62" Then
If Target = "Nein" Then Rows("63:70").Hidden = True
If Target = "Ja" Then Rows("63:70").Hidden = False
End If
'Exklusivinseln
If Target.Address(0, 0) = "F75" Then
If Target = "Nein" Then Rows("76:97").Hidden = True
If Target = "Ja" Then Rows("76:97").Hidden = False
If Target = "Ja" Then Range("F79").Value = "Ja"
If Target = "Ja" Then Range("F93").Value = "Ja"
If Target = "Ja" Then Range("F80").Value = "6"
End If
'Preminder
If Target.Address(0, 0) = "F79" Then
If Target = "Nein" Then Rows("80:89").Hidden = True
If Target = "Ja" Then Range("F80").Value = "6"
If Target = "Ja" Then Rows("80:89").Hidden = False
End If
If Target.Address(0, 0) = "F80" Then
If Target = "1" Then Rows("84:89").Hidden = True
If Target = "2" Then Rows("84:89").Hidden = True
If Target = "3" Then Rows("84:89").Hidden = False
If Target = "3" Then Rows("87:89").Hidden = True
If Target = "4" Then Rows("84:89").Hidden = False
If Target = "4" Then Rows("87:89").Hidden = True
If Target = "5" Then Rows("84:89").Hidden = False
If Target = "6" Then Rows("84:89").Hidden = False
End If
'Abspannspot
If Target.Address(0, 0) = "F93" Then
If Target = "Nein" Then Rows("94:96").Hidden = True
If Target = "Ja" Then Rows("94:96").Hidden = False
End If
'Infomercials
If Target.Address(0, 0) = "F101" Then
If Target = "Nein" Then Rows("102:147").Hidden = True
If Target = "Ja" Then Range("F102").Value = "15"
If Target = "Ja" Then Rows("102:147").Hidden = False
End If
If Target.Address(0, 0) = "F102" Then
If Target = "1" Then Rows("106:147").Hidden = True
If Target = "2" Then Rows("106:147").Hidden = False
If Target = "2" Then Rows("109:147").Hidden = True
If Target = "3" Then Rows("106:147").Hidden = False
If Target = "3" Then Rows("112:147").Hidden = True
If Target = "4" Then Rows("106:147").Hidden = False
If Target = "4" Then Rows("115:147").Hidden = True
If Target = "5" Then Rows("106:147").Hidden = False
If Target = "5" Then Rows("118:147").Hidden = True
If Target = "6" Then Rows("106:147").Hidden = False
If Target = "6" Then Rows("121:147").Hidden = True
If Target = "7" Then Rows("106:147").Hidden = False
If Target = "7" Then Rows("124:147").Hidden = True
If Target = "8" Then Rows("106:147").Hidden = False
If Target = "8" Then Rows("127:147").Hidden = True
If Target = "9" Then Rows("106:147").Hidden = False
If Target = "9" Then Rows("130:147").Hidden = True
If Target = "10" Then Rows("106:147").Hidden = False
If Target = "10" Then Rows("133:147").Hidden = True
If Target = "11" Then Rows("106:147").Hidden = False
If Target = "11" Then Rows("136:147").Hidden = True
If Target = "12" Then Rows("106:147").Hidden = False
If Target = "12" Then Rows("139:147").Hidden = True
If Target = "13" Then Rows("106:147").Hidden = False
If Target = "13" Then Rows("142:147").Hidden = True
If Target = "14" Then Rows("106:147").Hidden = False
If Target = "14" Then Rows("145:147").Hidden = True
If Target = "15" Then Rows("106:147").Hidden = False
End If
' Start Kalender
If Intersect(Target, Range("F15")) Is Nothing Then Exit Sub
If Range("F15").Value = "Automatisch" Then
Range("BK15:BN26").Copy _
Destination:=Range("X15:AA26")
ElseIf Range("F15").Value = "Manuell" Then
Range("X15:AA15").Select
MsgBox ("Bitte geben Sie die Sendungen pro Monat manuell ein")
'Range("X15:AA26").ClearContents
Range("BP15:BS26").Copy _
Destination:=Range("X15:AA26")
ElseIf Range("F15").Value <> "" Then
Range("F15").Select
MsgBox ("Automatisch oder Manuell wählen")
Range("F15").ClearContents
End If
' Preisgruppe Samstag
If Intersect(Target, Range("F22")) Is Nothing Then Exit Sub
If Range("F22").Value = "Ja" Then
Range("BK36:BR36").Copy _
Destination:=Range("T36:AA36")
ElseIf Range("F22").Value = "Nein" Then
Range("T36:AA36").Select
MsgBox ("Bitte geben Sie die Sendungen pro Monat manuell ein")
'Range("T36:AA36").ClearContents
Range("BT36:CA36").Copy _
Destination:=Range("T36:AA36")
ElseIf Range("F22").Value <> "" Then
Range("F22").Select
MsgBox ("Automatisch oder Manuell wählen")
Range("F22").ClearContents
End If
End Sub

Anzeige
AW: Immer noch nicht
30.10.2003 14:44:22
Hajo_Zi
Hallo Daniel

ich sehe nicht den Bezug zum Code über den wir bisher geschrieben haben.

Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub ' falls mehrere Zellen mit einmal gefüllt werden
'Sponsorship
If Target.Address(0, 0) = "F29" Then
If Target = "Nein" Then Rows("30:70").Hidden = True
If Target = "Ja" Then Rows("30:70").Hidden = False
If Target = "Ja" Then Range("F34").Value = "Ja"
If Target = "Ja" Then Range("F41").Value = "Ja"
If Target = "Ja" Then Range("F49").Value = "6"
If Target = "Ja" Then Range("F48").Value = "Ja"
If Target = "Ja" Then Range("F62").Value = "Ja"
ElseIf Target.Address(0, 0) = "F34" Then 'Indikativ
If Target = "Nein" Then Rows("35:38").Hidden = True
If Target = "Ja" Then Rows("35:38").Hidden = False
ElseIf Target.Address(0, 0) = "F41" Then 'Abdikativ
If Target = "Nein" Then Rows("42:45").Hidden = True
If Target = "Ja" Then Rows("42:45").Hidden = False
ElseIf Target.Address(0, 0) = "F48" Then 'Reminder
If Target = "Nein" Then Rows("49:58").Hidden = True
If Target = "Ja" Then Range("F49").Value = "6"
If Target = "Ja" Then Rows("49:58").Hidden = False
ElseIf Target.Address(0, 0) = "F49" Then
If Target = "1" Then Rows("53:58").Hidden = True
If Target = "2" Then Rows("53:58").Hidden = True
If Target = "3" Then Rows("53:58").Hidden = False
If Target = "3" Then Rows("56:58").Hidden = True
If Target = "4" Then Rows("53:58").Hidden = False
If Target = "4" Then Rows("56:58").Hidden = True
If Target = "5" Then Rows("53:58").Hidden = False
If Target = "6" Then Rows("53:58").Hidden = False
ElseIf Target.Address(0, 0) = "F62" Then 'Promotrailer
If Target = "Nein" Then Rows("63:70").Hidden = True
If Target = "Ja" Then Rows("63:70").Hidden = False
ElseIf Target.Address(0, 0) = "F75" Then 'Exklusivinseln
If Target = "Nein" Then Rows("76:97").Hidden = True
If Target = "Ja" Then Rows("76:97").Hidden = False
If Target = "Ja" Then Range("F79").Value = "Ja"
If Target = "Ja" Then Range("F93").Value = "Ja"
If Target = "Ja" Then Range("F80").Value = "6"
ElseIf Target.Address(0, 0) = "F79" Then 'Preminder
If Target = "Nein" Then Rows("80:89").Hidden = True
If Target = "Ja" Then Range("F80").Value = "6"
If Target = "Ja" Then Rows("80:89").Hidden = False
ElseIf Target.Address(0, 0) = "F80" Then
If Target = "1" Then Rows("84:89").Hidden = True
If Target = "2" Then Rows("84:89").Hidden = True
If Target = "3" Then Rows("84:89").Hidden = False
If Target = "3" Then Rows("87:89").Hidden = True
If Target = "4" Then Rows("84:89").Hidden = False
If Target = "4" Then Rows("87:89").Hidden = True
If Target = "5" Then Rows("84:89").Hidden = False
If Target = "6" Then Rows("84:89").Hidden = False
ElseIf Target.Address(0, 0) = "F93" Then 'Abspannspot
If Target = "Nein" Then Rows("94:96").Hidden = True
If Target = "Ja" Then Rows("94:96").Hidden = False
ElseIf Target.Address(0, 0) = "F101" Then 'Infomercials
If Target = "Nein" Then Rows("102:147").Hidden = True
If Target = "Ja" Then Range("F102").Value = "15"
If Target = "Ja" Then Rows("102:147").Hidden = False
ElseIf Target.Address(0, 0) = "F102" Then
If Target = "1" Then Rows("106:147").Hidden = True
If Target = "2" Then Rows("106:147").Hidden = False
If Target = "2" Then Rows("109:147").Hidden = True
If Target = "3" Then Rows("106:147").Hidden = False
If Target = "3" Then Rows("112:147").Hidden = True
If Target = "4" Then Rows("106:147").Hidden = False
If Target = "4" Then Rows("115:147").Hidden = True
If Target = "5" Then Rows("106:147").Hidden = False
If Target = "5" Then Rows("118:147").Hidden = True
If Target = "6" Then Rows("106:147").Hidden = False
If Target = "6" Then Rows("121:147").Hidden = True
If Target = "7" Then Rows("106:147").Hidden = False
If Target = "7" Then Rows("124:147").Hidden = True
If Target = "8" Then Rows("106:147").Hidden = False
If Target = "8" Then Rows("127:147").Hidden = True
If Target = "9" Then Rows("106:147").Hidden = False
If Target = "9" Then Rows("130:147").Hidden = True
If Target = "10" Then Rows("106:147").Hidden = False
If Target = "10" Then Rows("133:147").Hidden = True
If Target = "11" Then Rows("106:147").Hidden = False
If Target = "11" Then Rows("136:147").Hidden = True
If Target = "12" Then Rows("106:147").Hidden = False
If Target = "12" Then Rows("139:147").Hidden = True
If Target = "13" Then Rows("106:147").Hidden = False
If Target = "13" Then Rows("142:147").Hidden = True
If Target = "14" Then Rows("106:147").Hidden = False
If Target = "14" Then Rows("145:147").Hidden = True
If Target = "15" Then Rows("106:147").Hidden = False
ElseIf Target.Address(0, 0) = "F15" Then ' Start Kalender
If Range("F15").Value = "Automatisch" Then
Range("BK15:BN26").Copy _
Destination:=Range("X15:AA26")
ElseIf Range("F15").Value = "Manuell" Then
Range("X15:AA15").Select
MsgBox ("Bitte geben Sie die Sendungen pro Monat manuell ein")
'Range("X15:AA26").ClearContents
Range("BP15:BS26").Copy _
Destination:=Range("X15:AA26")
ElseIf Range("F15").Value <> "" Then
Range("F15").Select
MsgBox ("Automatisch oder Manuell wählen")
Range("F15").ClearContents
End If
ElseIf Target.Address(0, 0) = "F22" Then ' Preisgruppe Samstag
If Range("F22").Value = "Ja" Then
Range("BK36:BR36").Copy _
Destination:=Range("T36:AA36")
ElseIf Range("F22").Value = "Nein" Then
Range("T36:AA36").Select
MsgBox ("Bitte geben Sie die Sendungen pro Monat manuell ein")
'Range("T36:AA36").ClearContents
Range("BT36:CA36").Copy _
Destination:=Range("T36:AA36")
ElseIf Range("F22").Value <> "" Then
Range("F22").Select
MsgBox ("Automatisch oder Manuell wählen")
Range("F22").ClearContents
End If
End If
End Sub


Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.


Anzeige
VIELEN VIELEN DANK!!!!!!
30.10.2003 14:47:38
Daniel
Super Hajo

Du bist der Beste!!!

Es hat geklappt - Vielen vielen DANK!!!

Daniel
AW: VIELEN VIELEN DANK!!!!!!
30.10.2003 15:01:07
Hajo_Zi
Hallo Daniel

ein klein wenig schneller läuft der Code noch mit Application.EnableEvents und wenn Du Deine Vergleichn noch ein Wenig optimierst


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub ' falls mehrere Zellen mit einmal gefüllt werden
Application.EnableEvents = False
'Sponsorship
If Target.Address(0, 0) = "F29" Then
If Target = "Nein" Then
Rows("30:70").Hidden = True
ElseIf Target = "Ja" Then
Rows("30:70").Hidden = False
Range("F34,F41,F48,F49,F62").Value = "Ja"
End If
ElseIf Target.Address(0, 0) = "F34" Then 'Indikativ
Application.EnableEvents = True
End Sub


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.


Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige