Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1696to1700
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

Typenfehler 13 beim Private Sub

Typenfehler 13 beim Private Sub
21.06.2019 14:00:05
Leon.DerProf
Hallo,
ich muss wieder zu Wort melden, weil ich echt nicht mehr weiterweiß.
Ich habe folgenden Befehl in den Editor eines Tabellenblattes hinzugefügt.
Es funktioniert perfekt.
Private Sub Worksheet_Change1(ByVal Target1 As Range)
If Target1.Column = 1 And Target1 = "" Then
Application.EnableEvents = False
Target1.FormulaLocal = "=ZEILE()-2"
Application.EnableEvents = True
End If
End Sub
Nach dem selben Prinzip möchte ich diese Funktionalität in ein anderes Tabellenblatt übertragen.
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 1 And Target = "" Then
Application.EnableEvents = False
Target.FormulaLocal = "=ZEILE()-4"
Application.EnableEvents = True
End If
End Sub
Beim fettmarkierten Teil wird ein Typenfehler angezeigt "Typen unversträglich".
Ich weiß echt nicht, woran das liegen könnte.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Typenfehler 13 beim Private Sub
21.06.2019 14:04:02
Hajo_Zi
Du hast den Code in ein Diagrammblatt eingefügt.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
AW: Typenfehler 13 beim Private Sub
21.06.2019 14:15:31
Leon.DerProf
Ich verstehe nicht ganz. Für mich scheint beides komplett identisch. Das eine funktioniert und das andere nicht.
Vor allem habe ich eigentlich keine Diagramme soweit ich weiß...
AW: Typenfehler 13 beim Private Sub
21.06.2019 14:16:27
Hajo_Zi
dazu kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue und ich baue keine Datei nach.
Vielleicht sollte die Datei verlinkt werden?
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)
Gruß Hajo
Anzeige
AW: Typenfehler 13 beim Private Sub
21.06.2019 14:32:05
Nepumuk
Hallo Leon,
wenn du mehrere Zellen gleichzeitig änderst, dann gibt Target ein Array zurück. Und ein Array kannst du nicht mit einer Zeichenkette vergleichen. Daher der Fehler.
Versuch es mal so:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim objRange As Range, objCell As Range
    Set objRange = Intersect(Target, Columns(1))
    If Not objRange Is Nothing Then
        Application.EnableEvents = False
        For Each objCell In objRange
            With objCell
                If Not IsEmpty(.Value) Then .FormulaLocal = "=ZEILE()-4"
            End With
        Next
        Application.EnableEvents = True
        Set objRange = Nothing
    End If
End Sub

Hajos Antwort ist natürlich Unsinn, in einem Diagrammblatt gibt es kein Worksheet_Change-Event.
Gruß
Nepumuk
Anzeige
AW: Typenfehler 13 beim Private Sub
21.06.2019 14:51:14
Leon.DerProf
Ich versuche später mal deine Erklärung nachzuvollziehen, auf den ersten Blick sieht das für mich nach Level Fortgeschritten aus und da bin ich noch nicht.
Dein Code sieht kompliziert aus, aber es funktioniert perfekt. Vielen Dank! :)
Ich habe da nur noch das "Not" rausgenommen und dann passt es super.
Kleine Nebenfrage:
Wenn ich bspw. so einen Code geschrieben habe:
Private Sub Gut2()
Dim Triangle As Shape
Set Triangle = Me.Shapes.AddShape(msoShapePentagon, ActiveCell.Left, ActiveCell.Top,  _
ActiveCell.Height, ActiveCell.Height)
With Triangle
.Placement = xlMoveAndSize
End With
End Sub
Soll ich dann am Ende (so wie du) die Dim(ension) löschen, indem ich ein "Set Triangle = Nothing" vor End Sub hinzufüge?
Im Lehrmaterial wird es einmal empfohlen, aber dann nie befolgt. Inwiefern ist es notwendig? Soll wohl Speicherplatz freilegen, aber nach dem Ende der Prozedur wird die Dim doch eh wieder gelöscht oder?
Anzeige
AW: Typenfehler 13 beim Private Sub
21.06.2019 15:46:34
Nepumuk
Hallo Leon,
ich mache das grundsätzlich da ich viel mit Klassen programmiere und wenn ich Objekte nicht zurücksetze es dabei zu einem sogenannten Memory leak kommen kann.
Gruß
Nepumuk
AW: Typenfehler 13 beim Private Sub
21.06.2019 15:04:21
Leon.DerProf
Ein kleines Problemchen gibt es noch. Der Code ist mir viel zu complex, daher werde ich es nicht alleine schaffen.
Wenn ich die Zeile lösche, bleibt die ganze Nummerierung bzw. alle Formeln (=ZEILE()-4) stehen und lässt sich nicht mehr wegkriegen.
AW: Typenfehler 13 beim Private Sub
21.06.2019 15:48:26
Nepumuk
Hallo Leon,
das ist doch der Sinn des Makros. Oder? Wenn nicht dann erklär mal was du erreichen willst.
Gruß
Nepumuk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige