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

Hilfe bei einem Makro

Hilfe bei einem Makro
21.04.2016 10:00:08
Frank
Hallo Zusammen!
Vor geraumer Zeit habe ich folgenden Code von Gerd L. erhalten:
Dim A As Worksheet, F As Worksheet
Dim lng As Long, lng2 As Long
Set A = Worksheets("Ansicht")
Set F = Worksheets("Feiertage")
For lng = 1 To 11
If Month(F.Cells(lng, 2)) = A.Cells(2, 6) Then
lng2 = lng2 + 1
A.Cells(lng2 + 7, 2) = F.Cells(lng, 2)
A.Cells(lng2 + 7, 3) = F.Cells(lng, 3)
End If
Next lng
Set A = Nothing: Set F = Nothing
Nun habe ich diesen Cde versucht umzustricken, das wie folgt:
Dim A As Worksheet, F As Worksheet
Dim lng As Long, lng2 As Long
Dim lngRows As Long
Set A = Worksheets("Ansicht")
Set F = Worksheets("Adressen")
lngRows = [a65536].End(xlUp).Row + 1
For lng = 1 To lngRows
If Month(F.Cells(lng, 2)) = A.Cells(2, 6) Then
lng2 = lng2 + 1
A.Cells(lng2 + 7, 5) = F.Cells(lng, 5)
A.Cells(lng2 + 7, 6) = F.Cells(lng, 4) & "," & " " & F.Cells(lng, 3)
End If
Next lng
Set A = Nothing: Set F = Nothing
In der Tabelle Adressen Spalte 5 stehen Geburtstage, z. Bsp. 12.12.1943, diese Spalte enthält aber auch Leerzellen und das gesamte Blatt Adressen ist immer wieder erweiterbar. Nun sollen die Geburtstage in das Blatt Ansicht übertragen werden.
Jetzt kommt aber bei mir immer die Fehlermeldung "Typen unverträglich". Könnt ihr meinen Fehler erkennen? Die Geburtstage werden aber immer als Datum in die Zellen geschrieben. Bitte um Hilfe, Danke!
Gruß Frank H.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei einem Makro
21.04.2016 10:12:56
ChrisL
Hi Frank
Bitte um Beispieldatei.
Vermutlich steht im Blatt Adressen Spalte B kein Datum.
Month(F.Cells(lng, 2))
Hier müsstest noch das Blatt referenzieren:
lngRows = [a65536].End(xlUp).Row + 1
vielleicht?
lngRows = F.Range("A65536").End(xlUp).Row + 1
cu
Chris

AW: Hilfe bei einem Makro
21.04.2016 10:21:11
hary
Moin
F.Cells(lng, 2) sollte eigtl. F.Cells(lng, 5) sein. Spalte5
Dim A As Worksheet, F As Worksheet
Dim lng As Long, lng2 As Long
Dim lngRows As Long
Set A = Worksheets("Ansicht")
Set F = Worksheets("Adressen")
lngRows = [a65536].End(xlUp).Row + 1
For lng = 1 To lngRows
If F.Cells(lng, 5)  "" Then '--pruefen ob nicht leer
If Month(F.Cells(lng, 5)) = A.Cells(2, 6) Then
lng2 = lng2 + 1
A.Cells(lng2 + 7, 5) = F.Cells(lng, 5)
A.Cells(lng2 + 7, 6) = F.Cells(lng, 4) & ", " & F.Cells(lng, 3)
End If
End If
Next lng
Set A = Nothing: Set F = Nothing

gruss hary

Anzeige
AW: Hilfe bei einem Makro
21.04.2016 12:17:04
Frank
Hallo Harry!
Funzt auch nicht, selbe Fehlermeldung - "Typen unverträglich", trotzdem Danke, vielleicht noch ne Idee?
Gruß Frank H.

AW: Hilfe bei einem Makro
21.04.2016 12:25:24
Daniel
Hi
bevor du die Funktion Month(F.Cells(lng, 2)) ausführst, musst du prüfen ob in dieser Zelle auch ein Datum steht:

For lng = 1 To lngRows
if VarType(F.Cells(lng, 2)) = vbDate Then
If Month(F.Cells(lng, 2)) = A.Cells(2, 6) Then
Gruß Daniel

AW: Hilfe bei einem Makro
21.04.2016 12:38:27
Frank
Hallo Daniel!
Der Name birgt für Qualität, mein Sohn heißt auch Daniel! Also kurzum jetzt funzt es, besten Dank!
Gruß Frank H.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige