Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
1392to1396
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

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!!

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige