Schleife (nur sichtbare Zeilen) und Daten in neues Workbook
30.06.2024 20:53:52
Wolfgang
Ich bitte um eure Hilfe, da ich hier nicht weiterkomme... obwohl ich jetzt schon tagelang herum probiere...
Wir sind ein Sportverein mit ca. 300 Mitgliedern und ich habe das Workbook "WB-1" mit dem Worksheet "Kundendaten", dort sind die Daten aller Vereinsmitglieder.
Einmal im Monat muss ich im Workbook "WB-1" jene Vereinsmitglieder herausfiltern, die aktiv sind (Spalte 3 mit "ja") und auch einen IBAN bekannt gegeben haben (IBAN steht in Spalte 16) und diese Vereinsmitglieder in ein neues Workbook "WB-2" eintragen.
In Zeile 1 dieses Workbooks "WB-2" stehen die Spaltenbezeichnungen.
Ab Zeile 2 dieses Workbooks "WB-2" sollen dann die Daten eingetragen werden, die aus dem Workbook "WS-1" mit dem Worksheet "Kundenliste" kommen:
In Workbook "WB-1" soll also von den sichtbaren Vereinsmitgliedern geprüft werden ob, das Vereinsmitglied aktiv ist (Spalte 3 mit "ja") und einen IBAN bekannt gegeben hat (IBAN steht in Spalte 16).
Wenn das so ist, dann sollen diverse Daten des Vereinsmitglieds in das Workbook "WB-2" eingetragen werden:
ich habe es mit einer DO-LOOP Anweisung versucht, die ich für ein anderes Makro verwende, wobei ich zugeben muss, dass ich auch mein anderes Makro nicht ganz verstehe, weil mir da mal jemand geholfen hat... es kann natürlich daher auch die DO-LOOP Anweisung hier kompletter Schwachsinn sein...
Bitte bitte daher um eure wertvolle Hilfe und Unterstützung!
Vielen Dank im Voraus,
Wolfgang.
Hier ist mein bisheriger Code:
Sub Abzug_aller_IBANs()
Dim wb1_Name As String
Dim wb2_Name As String
wb1_Name = Application.ActiveWorkbook.Name
Workbooks.Add
Range("A1").Select
ActiveCell.FormulaR1C1 = "Fälligkeitsdatum"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Kontoinhaber"
Range("C1").Select
ActiveCell.FormulaR1C1 = "IBAN"
Range("a1").Select
ChDir "C:\Users\fuchu\Dropbox\Karateclub Liesing\Finanzen\ELBA 5"
ActiveWorkbook.SaveAs Filename:=(x) & Format(Date, "YYYYMMDD") & "_wb2.xlsx"
wb2_Name = Application.ActiveWorkbook.Name
Workbooks(wb1_Name).Worksheets("Kundenliste").Activate
Dim kontoinhaber As String
Dim iban As String
Dim aktiv As String
Dim geschwister As String
Dim geschwisterrabatt As Integer
Dim zeile As Double
zeile = 1
'auslesen solange Spalte 3=ja UND Spalte 16 befüllt ist.
Do While Workbooks(wb1_Name).Worksheets("Kundenliste").Cells(zeile, 3) = "ja" And Workbooks(wb1_Name).Worksheets("Kundenliste").Cells(zeile, 16) > ""
Workbooks(wb1_Name).Worksheets("Kundenliste").Activate
kontoinhaber = Cells(zeile, 17).Value
iban = Cells(zeile, 16).Value
aktiv = Cells(zeile, 3).Value
geschwister = Cells(zeile, 24).Value
If geschwister = "ja" Then
geschwisterrabatt = 5 'wenn es ein Geschwisterkind ist, dann 5 Euro Rabatt
End If
Workbooks(wb2_Name).Activate
Cells([b65536].End(xlUp).Row + 1, 1).Activate 'erste freie Zeile der Spalte B suchen
ActiveCell.Offset(0, 1).Value = kontoinhaber
ActiveCell.Offset(0, 2).Value = iban
ActiveCell.Offset(0, 3).Value = 25 - geschwisterrabatt 'Kurskosten abzüglich Geschwisterrabatt
zeile = zeile + 1
Loop
Workbooks(wb2_Name).Activate
ActiveWorkbook.Save
End Sub
Anzeige