VBA-Laufzeitfehler beim automatischen Ausfüllen von Arbeitsblattzellen
#1
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


.xlsm   Mappe1.xlsm (Größe: 12,98 KB / Downloads: 9)

Gruß
h1138123
Top
#2
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
Gruß
Michael
[-] Folgende(r) 1 Nutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • h1138123
Top
#3
Hallo!

Das funktioniert bestens. Vielen Dank! Thumbsupsmileyanim

Gruß
h1138123
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste