Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
220to224
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
220to224
220to224
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem mit VBA-Code

Problem mit VBA-Code
19.02.2003 10:22:53
thorsten
Hi,
ich hatte bereite heute morgen einen Thread hierzu geschrieben. Leider ist da was schief gelaufen.
Also nochmal:

Guten Morgen,
habe bereits vor einigen Tagen einen Thread bezüglich des nachfolgenden Codes geschrieben. Habe immer noch ein Problem damit. Ich bekomme
die Fehlermeldung: Laufzeitfehler 13 - Typen unverträglich.
Mein Code:
Dim bMonat As Byte
Dim bCount As Byte
Dim bFraMonat As Byte
For bFraMonat = 9 To 10
If IsEmpty(Cells(19, bFraMonat)) Then Exit Sub
bMonat = Month(CDate("1." & Cells(19, bFraMonat) & ".2001"))
For bCount = 24 To 23 + [f17]
Select Case bFraMonat
Case Is = 9
With Cells(bCount, 4)
If Month(.Value) = bMonat Then
.Offset(0, 1) = 1
Else
.Offset(0, 1) = ""
End If
End With
Case Is = 10
With Cells(bCount, 4)
If Month(.Value) = bMonat Then
.Offset(0, 1) = 1
End If
End With
End Select
Next
Next
Folgendes möchte ich mit dem Code bezwecken: Er soll die Zelle i19 - in welcher der Monatsname steht (Bsp.: Januar) mit den Zellen D24 bis D95
(hier steht das atum : 01.01.2003, 01.02.2003, etc.) abgleichen. Sofern der Monatsname (Bsp.: Januar) und der Monat im Datum übereinstimmt (Bsp.:
Zelle i19 = Januar und Zelle d24 01.01.2003), dann soll in Zelle E24 eine 1 eingetragen werden. Sofern dies nicht stimmt, soll nichts eingetragen
werden. Der gleiche Abgleich soll mit Zelle j 19 erfolgen. Vielen Dank bereits im Voraus. Gruss
Thorsten
P.S. Die Fehlermeldung kommt in folgender Zeile: bMonat = Month(CDate("1." & Cells(19, bFraMonat) & ".2001"))

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Problem mit VBA-Code
19.02.2003 10:25:15
Hajo_Zi

Hallo Thorsten

warum immer neuien Beitrag?? Denke doch auch mal ans Archiv. Im ersten Beitrag haben sich doch schon Leute damit befast.

Gruß hajo

Sag mal, merkst Du noch etwas...
19.02.2003 10:35:06
Michael Scheffler

... bitte schau in den Thread, ich habe dazu die Zeile angemerkt und danach auch eine Lösung angeboten.

Etwas verärgert

Micha

Re: Sag mal, merkst Du noch etwas...
19.02.2003 10:38:55
thorsten

Vielen Dank für die nette Antwort !!! Ich kann leider kein Lösunsvorschlag entdecken.

Re: Sag mal, merkst Du noch etwas...
19.02.2003 10:42:27
Michael Scheffler

O-Ton Du:
>Is im falschen Thread gelandet.

Ich hatte meine Antwort im richtigen Thread, aber unter meinem Namen steht leider Axel F. Wie kommst das wohl?

Nochmals als Kurzfassung:

Dim intMonth As Integer

Das Month INTEGER und nicht Byte zurückliefert.


Anzeige
Re: Sag mal, merkst Du noch etwas...
19.02.2003 11:28:44
thorsten

Habe mittlerweile den Thread entdeckt. Sorry.
Ich habe jetzt die Zeile: Dim intMonth As Integer ergänzt, aber bekomme weiterhin die Fehlermeldung.
Danke.

Re: Sag mal, merkst Du noch etwas...
19.02.2003 12:00:17
Michael Scheffler

Hallo,

Dim intMonth As Integer

....

intMonat = Month(CDate("1." & Cells(19, bFraMonat) & ".2001"))

Micha

... funzt nicht
19.02.2003 13:25:52
thorsten

Hi Micha,
habe leider immer noch die gleiche Fehlermeldung. Ich bin kurz vorm verzweifeln.

Re: ... funzt nicht
20.02.2003 08:46:59
Michael Scheffler

Hallo,

wass klappt denn nicht?

Gruß

Micha

Re: ... funzt nicht
20.02.2003 11:16:26
thorsten

Guten Morgen Michael,
habe genau nach deinen Anweisungen den Code geändert. Bekomme weiterhin die gleiche Fehlermeldung: Laufzeitfehler 13 - Typen unverträglich. Habe anliegend nochmal den Code angefügt.
Dim bMonat As Integer
Dim bCount As Integer
Dim bFraMonat As Integer
Dim intMonth As Integer
For bFraMonat = 9 To 10
If IsEmpty(Cells(19, bFraMonat)) Then Exit Sub
intMonat = Month(CDate("1." & Cells(19, bFraMonat) & ".2001"))
For bCount = 24 To 23 + [f17]
Select Case bFraMonat
Case Is = 9
With Cells(bCount, 4)
If Month(.Value) = bMonat Then
.Offset(0, 1) = 1
Else
.Offset(0, 1) = ""
End If
End With
Case Is = 10
With Cells(bCount, 4)
If Month(.Value) = bMonat Then
.Offset(0, 1) = 1
End If
End With
End Select
Next
Next

Danke + Gruss Thorsten

Anzeige
Re: ... funzt nicht
20.02.2003 12:29:44
Martin Beck

Hallo Thorsten,

die Zeile

intMonth = Month(CDate("1." & Cells(19, bFraMonat) & ".2001"))

funktioniert einwandfrei, wenn in Zelle Cells(19, bFraMonat) wirklich eine Monatsbezeichnung wie z.B. August steht. Wenn Du Dich in dieser Zelle verschrieben hast, un dort z.B. Auguste steht, kommt es zum Laufzeitfehler 13

Daraus folgt: Überprüfe mal den Eintrg in der Zelle.

Gruß
Martin Beck

P.S. Du hast die Variable intMonth übrigens nicht deklariert, sondern nur intMonat.


Re: ... funzt nicht
20.02.2003 12:54:29
thorsten

Hallo Martin,
erstmal vielen Dank. Habe nun den Code geändert.Leider bekomme ich immer noch die gleiche Fehlermeldung (die Einträge der Monatsnamen stimmen überein, werden mit einer Combobox ausgegeben).
Hier nochmal der geänderte Code:
Dim bMonat As Integer
Dim bCount As Integer
Dim bFraMonat As Integer
Dim intMonth As Integer
Dim intmonat As Integer
For bFraMonat = 9 To 10
If IsEmpty(Cells(19, bFraMonat)) Then Exit Sub
intMonth = Month(CDate("1." & Cells(19, bFraMonat) & ".2001"))
For bCount = 24 To 23 + [f17]
Select Case bFraMonat
Case Is = 9
With Cells(bCount, 4)
If Month(.Value) = bMonat Then
.Offset(0, 1) = 1
Else
.Offset(0, 1) = ""
End If
End With
Case Is = 10
With Cells(bCount, 4)
If Month(.Value) = bMonat Then
.Offset(0, 1) = 1
End If
End With
End Select
Next
Next

Nochmals Danke+Gruss T. Gerber

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige