Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehler im Makro

Forumthread: Fehler im Makro

Fehler im Makro
03.12.2014 07:41:22
Sani
Hallo zusammen,
habe von einem Kollegen folgendes Makro bekommen:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim raZelle As Range
Application.EnableEvents = False
Application.ScreenUpdating = False
If Target.Column = 11 _
Or Target.Column = 12 _
Or Target.Column = 13 _
Or Target.Column = 15 _
Or Target.Column = 20 Then
Set raZelle = Range(Mid(Target.Validation.Formula1, 2)).Find(Target, lookat:=xlWhole)
raZelle.Copy
Target.PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Es soll die Formatierung von einer Dropdownauswahl auf die entsprechende Zelle übertragen. Leider bleibt das Makro immer wieder hängen (immer dann, wenn ich den Inhalt einer Zelle lösche). Ich weiß nicht wie man es wieder startet. Es kommt zuerst die Meldung debuggen und dann überträgt er nicht mehr die Formatierung.
Erkennt jemand den Fehler?
PS: Ich habe 0 Ahnung über Makros!!

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler im Makro
03.12.2014 07:49:00
Hajo_Zi
Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
Ein Nachbau sieht bestimmt anders aus als das Original.
Ein Link zur Datei oder ein Tabellen Ausschnitt nicht als Bild wäre nicht schlecht.
Ich hätte das Makro ein wenig umgeschrieben.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim raZelle As Range
Application.EnableEvents = False
Application.ScreenUpdating = False
If Target.Column = 11 _
Or Target.Column = 12 _
Or Target.Column = 13 _
Or Target.Column = 15 _
Or Target.Column = 20 Then
If CallByName(Selection, IIf(Val( _
Application.Version) > 11, "CountLarge", "Count"), VbGet) = 1 Then
If Not IsError(Target.Validation.Type) Then
Set raZelle = Range(Mid(Target.Validation.Formula1, 2)).Find(Target, lookat:= _
xlWhole)
raZelle.Copy
Target.PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End If
End If
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

Anzeige
AW: Fehler im Makro
03.12.2014 07:49:04
Hajo_Zi
Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
Ein Nachbau sieht bestimmt anders aus als das Original.
Ein Link zur Datei oder ein Tabellen Ausschnitt nicht als Bild wäre nicht schlecht.
Ich hätte das Makro ein wenig umgeschrieben.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim raZelle As Range
Application.EnableEvents = False
Application.ScreenUpdating = False
If Target.Column = 11 _
Or Target.Column = 12 _
Or Target.Column = 13 _
Or Target.Column = 15 _
Or Target.Column = 20 Then
If CallByName(Selection, IIf(Val( _
Application.Version) > 11, "CountLarge", "Count"), VbGet) = 1 Then
If Not IsError(Target.Validation.Type) Then
Set raZelle = Range(Mid(Target.Validation.Formula1, 2)).Find(Target, lookat:= _
xlWhole)
raZelle.Copy
Target.PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End If
End If
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

Anzeige
AW: Fehler im Makro
03.12.2014 07:49:24
Hajo_Zi
Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
Ein Nachbau sieht bestimmt anders aus als das Original.
Ein Link zur Datei oder ein Tabellen Ausschnitt nicht als Bild wäre nicht schlecht.
Ich hätte das Makro ein wenig umgeschrieben.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim raZelle As Range
Application.EnableEvents = False
Application.ScreenUpdating = False
If Target.Column = 11 _
Or Target.Column = 12 _
Or Target.Column = 13 _
Or Target.Column = 15 _
Or Target.Column = 20 Then
If CallByName(Selection, IIf(Val( _
Application.Version) > 11, "CountLarge", "Count"), VbGet) = 1 Then
If Not IsError(Target.Validation.Type) Then
Set raZelle = Range(Mid(Target.Validation.Formula1, 2)).Find(Target, lookat:= _
xlWhole)
raZelle.Copy
Target.PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End If
End If
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige