Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Laufzeitfehler "13"

Laufzeitfehler "13"
19.09.2007 14:29:09
Lolie
Hallo community
habe ein problem mit diesem quelltext

Private Sub CommandButton4_Click()
Dim wks1 As Worksheet, wksMonat As Worksheet, wksVormonat As Worksheet
Dim lngZeile1 As Long, lngZeile2 As Long, lngZeile1L As Long, Zelle As Range
Dim varSuchen
Set wks1 = Worksheets(1)
Set wksMonat = Worksheets("Monat")
Set wksVormonat = Worksheets("Vormonat")
lngZeile1 = 17 'Erste Zeile für Eintrag in Tabelle1
'vorhandene IP-Einträge in Blatt 1 löschen
With wks1
lngZeile1L = .Cells(.Rows.Count, 1).End(xlUp).Row
If lngZeile1L >= lngZeile1 Then
.Range(.Cells(lngZeile1, 1), .Cells(lngZeile1L, 4)).ClearContents
End If
End With
'IP-Einträge aus Blatt "Monat" (Spalte 2) in Blatt Vormonat (Spalte 3) suchen und _
falls vorhanden in Blatt 1 eintragen
With wksMonat
lngZeile1L = lngZeile1
For lngZeile2 = 1 To .Cells(.Rows.Count, 2).End(xlUp).Row
If Not IsEmpty(.Cells(lngZeile2, 2)) Then
varSuchen = .Cells(lngZeile2, 2).Value
Set Zelle = wksVormonat.Columns(2).Find(what:=varSuchen, LookIn:=xlValues, _
lookat:=xlWhole)
If Not Zelle Is Nothing Then
wks1.Cells(lngZeile1L, 1).Value = varSuchen 'IP-Adresse
wks1.Cells(lngZeile1L, 2).Value = Zelle.Offset(0, 5).Value 'Vormonat
wks1.Cells(lngZeile1L, 3).Value = .Cells(lngZeile2, 2).Offset(0, 5).Value 'Monat
          wks1.Cells(lngZeile1L, 4).Value = .Cells(lngZeile2, 2).Offset(0, 5).Value _
- Zelle.Offset(0, 5).Value 'Differenz
lngZeile1L = lngZeile1L + 1
End If
End If
Next
End With
End Sub


wenn ich das programm ausführen will dann sagt mir der debugger bei der makierten stelle
Fehler
Laufzeitfehler "13"
Typen unverträglich
Ich habe keine Ahnung wo mein fehler ist über hilfe würde ich mich sehr freuen.
Liebe Grüße
Lolie

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler "13"
19.09.2007 16:08:44
Wolli
Hallo Lolie,
wks1.Cells(lngZeile1L, 4).Value = .Cells(lngZeile2, 2).Offset(0, 5).Value _
- Zelle.Offset(0, 5).Value 'Differenz
es wird eine Berechnung ausgeführt, dazu sind numerische Werte erforderlich. Schau nach, welche Zellen hier konkret gemeint sind:
wksMonat.Cells(lngZeile2, 2).Offset(0, 5)
Zelle.Offset(0, 5)
und was darin steht. Arbeite ggf. mit dem Direktbereich (Strg+G), WÄHREND das Makro schrittweise ausgeführt wird: Debug.Print wksMonat.Cells(lngZeile2, 2).Offset(0, 5).Address und Debug.Print Zelle.Offset(0,5).Address
Falls es eine Zahl ist, die aber als Text formatiert ist, kannst Du sie mit cLng(.Cells(lngZeile2, 2).Offset(0, 5)) in eine Ganzzahl umwandeln, mit cDbl(...) in eine Dezimalzahl oder mit cDate(...) in ein Datum.
Gutes Gelingen wünscht Wolli
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige