Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten 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
Antworten Top
#3
Hallo!

Das funktioniert bestens. Vielen Dank! Thumbsupsmileyanim

Gruß
h1138123
Antworten Top


Gehe zu:


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