Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
684to688
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
684to688
684to688
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Werte suchen mit VBA in einer Schleife
26.10.2005 07:58:44
Thomas
Guten Morgen
Ich habe einen Spinnbutton, über den ich das Jahr verändern kann. Danach werden in einer Zeile alle Tage dieses Jahres geschrieben, einschließlich der Tage des letzten Jahres, welche sich noch in der KW des 01.01 befinden. Jetzt möchte ich mit Hilfe von VBA und einer Schleife immer die Zelle des ersten und des letzten Tages eines jeden Monats ermitteln um festzustellen welche Zellen immer zu einem Monat gehören.
Gruß Thomas
PS: ich hoffen ich hab mich verständlich ausgedrückt :)

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte suchen mit VBA in einer Schleife
26.10.2005 08:32:24
Rolf
Hallo Thomas,
hier mal das Prinzip -
musst du deinen Gegebenheiten anpassen.
fG
Rolf

Sub firstandlastday()
On Error Resume Next
Dim Bereich As Range, Feld As Range
Set Bereich = Intersect(ActiveSheet.UsedRange, Columns(1))
For Each Feld In Bereich
If Day(Feld) = 1 Then
Feld.Interior.ColorIndex = 3
Feld.Offset(-1, 0).Interior.ColorIndex = 3
End If
Next
End Sub

AW: Werte suchen mit VBA in einer Schleife
26.10.2005 08:42:01
Matthias
Hallo Thomas,
mein Vorschlag:

Function BereichMonat(jahr As Integer, monat As Integer) As Range
Const Spalte = 1 'Spalte mit Daten
Dim z1 As Double, z2 As Double
With Sheets("Tabelle1") 'anpassen
z1 = WorksheetFunction.Match(CLng(DateSerial(jahr, monat, 1)), .Columns(Spalte), 0)
z2 = WorksheetFunction.Match(CLng(DateSerial(jahr, monat + 1, 1)) - 1, .Columns(Spalte), 0)
Set BereichMonat = .Range(.Cells(z1, Spalte), .Cells(z2, Spalte))
End With
End Function
Sub test()
BereichMonat(2005, 3).Select
End Sub

Gruß Matthias
Anzeige
AW: Werte suchen mit VBA in einer Schleife
26.10.2005 09:12:33
Thomas
Hallo Mathias
Wenn ich das so mache, dann bekomme ich immer einen Laufzeitfehler 1004.
"Die Match-Eigenschaften des WorksheetFunktion-Objektes kann nicht zugeordnet werden"
Kann man das auch über einen fest definierten Bereich machen? Die Daten stehen bei mir im Bereich D4:GQ4 (1. Halbjahr des Jahres). Ich will eigentlich nur die Zellen eines Jeden Monats über dem jeweiligen Datum zusammenfassen um dort einen Text als Monatsüberschrift einzufügen.

Thomas
AW: Werte suchen mit VBA in einer Schleife
26.10.2005 09:26:59
Matthias
Hallo Thomas,
sorry, ich habe das mit der Zeile überlesen und die Daten in einer Spalte vermutet.

Function BereichMonat(jahr As Integer, monat As Integer) As Range
Const Zeile = 4 'Zeile mit Daten
Dim z1 As Double, z2 As Double
With Sheets("Tabelle1") 'anpassen
z1 = WorksheetFunction.Match(CLng(DateSerial(jahr, monat, 1)), .Rows(Zeile), 0)
z2 = WorksheetFunction.Match(CLng(DateSerial(jahr, monat + 1, 1)) - 1, .Rows(Zeile), 0)
Set BereichMonat = .Range(.Cells(Zeile, z1), .Cells(Zeile, z2))
End With
End Function
Sub test()
With BereichMonat(2005, 3).Offset(-1, 0) 'Zeile über den Daten
.Merge     'Zusammenfassen
.HorizontalAlignment = xlCenter 'zentrieren
.Value = "Überschrift" 'Überschrift setzen
End With
End Sub

Gruß Matthias
Anzeige
AW: Werte suchen mit VBA in einer Schleife
26.10.2005 10:02:05
Thomas
Hi Mathias
Die Fehlermeldung kommt immer noch.
"Die Match-Eigenschaften des WorksheetFunktion-Objektes kann nicht zugeordnet werden"
Thomas
AW: Werte suchen mit VBA in einer Schleife
26.10.2005 10:30:18
Matthias
Hallo Thomas,
wenn ein Fehler kommt, kann er die Daten in Zeile 4 nicht finden.
Sind die sicher in der Zeile vorhanden?
Gruß Matthias
AW: Werte suchen mit VBA in einer Schleife
26.10.2005 10:52:15
Thomas
Ich raf es nich.
Hier mal ein Bild von der Datei.
Userbild
Über den Spinbutton wähle ich das Jahr aus und dann werden automatisch die Tage in die Zeile ab D4 (Formatiert mit "TT") eingetragen. Ich will jetzt einfach die Zellen in der ersten Zeile die zwischen den Rahmen liegen verbinden und mit dem dazu passenden Monatsnamen versehen.
Ich hoffe das hilft dir weiter
Thomas
Anzeige
AW: Werte suchen mit VBA in einer Schleife
26.10.2005 11:56:52
Matthias
Hallo Thomas,
stehen in Zeile 4 ab D4 Formeln? Wie lauten die?
Gruß Matthias
AW: Werte suchen mit VBA in einer Schleife
26.10.2005 11:59:50
Thomas
Ja, dort steht
=DATUM(C2;1;1)-WOCHENTAG(DATUM(C2;1;1);2)+1
Dies bezieht sich auf das ausgewählte Jahr in C2.
Thomas

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige