Clever-Excel-Forum

Normale Version: VBA-Laufzeitfehler beim automatischen Ausfüllen von Arbeitsblattzellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo!

Markiere ich in angehängtem Excel-Arbeitsblatt mit Makros (VBA-Code siehe unten) die Zellen A1, B1 und C1 und nutze ich die Funktion "Automatisches Ausfüllen von Arbeitsblattzellen", indem ich mittels Ziehen des Anfassers die Inhalte ("A", "B" und "C") auf die Zellen D1, E1 und F1 erweitere ("D", "E" und "F"), erscheint folgende Meldung:

Zitat:Microsoft Visual Basic

Laufzeitfehler '13':

Typen unverträglich

Wie kann ich das debuggen?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("A:Z")) Is Nothing Then
   Target.Value = UCase(Target.Value)
End If
Application.EnableEvents = True
End Sub

[attachment=17683]

Gruß
h1138123
Hallo,

in diesem Fall dürfte Target mehr als eine Zelle beinhalten (ungetestet vermute ich mal, dass es A1:F1 sein müsste). In diesem Fall funktioniert der Vergleich mit der Eigenschaft Value nicht, da dieser ja mehrere Werte beinhaltet. Du könntest den Bereich mit einer Schleife abarbeiten, z. B. so:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim elem as Object
Application.EnableEvents = False
If Not Intersect(Target, Range("A:Z")) Is Nothing Then
   for each elem in Target
       elem.Value = UCase(elem.Value)
    next
End If
Application.EnableEvents = True
End Sub
Hallo!

Das funktioniert bestens. Vielen Dank! Thumbsupsmileyanim

Gruß
h1138123