Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
788to792
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
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schleifen programmieren

Schleifen programmieren
10.08.2006 17:48:33
Christian
Hallo Leute,
Ich habe hier ein Makro mit dem ich aus Datumseinträgen die Monate filtern und auf ein 2. Arbeitsblatt ausgeben.Das Makro filtert aber nur die vorgegebenen Zellen aus dem Tabellen, jetzt habe ich versucht eine Schleife zu programmieren,habe es aber nicht hnbekommen.Vieleicht habt ihr ja eine Idee?
Hier das Makro:

Private Sub CommandButton1_Click()
Dim lngZ&, lngZ1&
lngZ = 2
lngZ1 = 1
Sheets("Tabelle2").[a1:h10].ClearContents
With Sheets("Tabelle1")
Do While .Cells(lngZ, 1) <> ""
If Month(.Cells(lngZ, 1)) = TextBox1.Text Then
'Daraus könnte man auch eine Schleife basteln, weil es viele Felder sind:
Sheets("Tabelle2").Cells(lngZ1, 1) = CDate(Format(.Cells(lngZ, 1), "dd/mm/yy"))
Sheets("Tabelle2").Cells(lngZ1, 2) = .Cells(lngZ, 2)
Sheets("Tabelle2").Cells(lngZ1, 3) = .Cells(lngZ, 3)
Sheets("Tabelle2").Cells(lngZ1, 4) = .Cells(lngZ, 4)
Sheets("Tabelle2").Cells(lngZ1, 5) = .Cells(lngZ, 5)
Sheets("Tabelle2").Cells(lngZ1, 6) = .Cells(lngZ, 6)
Sheets("Tabelle2").Cells(lngZ1, 7) = .Cells(lngZ, 7)
lngZ1 = lngZ1 + 1
End If
lngZ = lngZ + 1
Loop
End With
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleifen programmieren
10.08.2006 18:42:19
Jan3
Hi,
Probier mal ungetestet:

Private Sub CommandButton1_Click()
Dim lngZ&, lngZ1&
lngZ = 2
lngZ1 = 1
Sheets("Tabelle2").[a1:h10].ClearContents
Set ws2 = Worksheets("Tabelle2")
Set ws1 = Worksheets("Tabelle1")
Do While ws2.Cells(lngZ, 1) <> ""
If Month(ws2.Cells(lngZ, 1)) = TextBox1.Text Then
For s = 1 To 7
ws2.Cells(lngZ1, s) = CDate(Format(ws1.Cells(lngZ, s), "dd/mm/yy"))
Next
End If
lngZ = lngZ + 1
Loop
End Sub

Jan
AW: Schleifen programmieren/Fehlermeldung
10.08.2006 19:01:18
Christian
Hallo Jan,
Erstmal vielen Dank.
Bei dieser Zeile bekomme ich eine Fehlermeldung Laufzeitfehler13, Typen unverträglich.
ws2.Cells(lngZ1, s) = CDate(Format(ws1.Cells(lngZ, s), "dd/mm/yy"))
Gruß Christian
Anzeige
AW: Schleifen programmieren/Fehlermeldung
10.08.2006 22:54:59
Josef
Hallo Christian!
warum nicht so?
Private Sub CommandButton1_Click()
Dim objSrc As Worksheet, objTar As Worksheet
Dim lngZ&, lngZ1&
lngZ = 2
lngZ1 = 1

Set objSrc = Sheets("Tabelle1")
Set objTar = Sheets("Tabelle2")

objTar.[a1:h10].ClearContents

With objSrc
  Do While .Cells(lngZ, 1) <> ""
    If Month(.Cells(lngZ, 1)) = TextBox1.Text Then
      objTar.Range(objTar.Cells(lngZ1, 1), objTar.Cells(lngZ1, 7)).Value = _
        objSrc.Range(objSrc.Cells(lngZ, 1), objSrc.Cells(lngZ, 7)).Value
      lngZ1 = lngZ1 + 1
    End If
    lngZ = lngZ + 1
  Loop
End With

End Sub


Gruß Sepp

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige