Daten per VBA exportieren

  • Excel

SSL ist deaktiviert! Aktivieren Sie SSL für diese Sitzung, um eine sichere Verbindung herzustellen.

Es gibt 42 Antworten in diesem Thema. Der letzte Beitrag () ist von Sam85.

    Nachdem ein Worksheet/Monat komplett exportiert wurde, müssen alle relevanten Variablen wie aktcolTaginDoLoop natürlich wieder auf ihren Startwert gesetzt werden, sonst wird ab der 2. Tabelle ja an der falschen Stelle nach Daten gesucht.
    ― Eine häufig von mir verwendete Abkürzung: CEs = control elements (Labels, Buttons, DGVs, ...)
    ― Meine wichtigste Programmiererkenntnis: Mühsam erhängt sich das Eichhörnchen.
    ― If Not GrammarIsOk() Then AssumeThatCodeIsOk = False
    ― »Oh, großes Spaghetticodemonster. Bitte schicke mir Durchblick! Oder zumindest eine Gabel. Oder – wenn es kein Besteck mehr gibt – zumindest Glasnudeln.«
    Hallo,

    ich hab dazu nach etwas längerer Zeit nochmal eine Frage: Ich wollte das ursprüngliche Schema etwas abändern. Vorher war beim auslesen der Faktor für die Anzahl der Therapeuten pro Tag fix und das wollte ich variabel anpassen. Ich dachte da an einen Loop. Bedeutet:
    • ich beginne in Zeile 2, Spalte 3 mit der Abfrage ob sie leer ist und Zeile 5, Spalte 3 ob sie nicht leer ist.
    • Dabei zählt der Zähler hoch und sobald der Loop zu Ende ist kommt das Ergebnis 4 +1 da bisher 4 Leerzellen + die erste Zelle mit dem Datum.
    • Danach kommt der alte Code zum auslesen (bleibt identisch)
    • Dann wird der Zähler für die Therapeuten wieder auf 0 gesetzt und die Spalte + 1, damit sie wieder bei der nächsten Leerzelle nach dem Datum beginnt zu zählen.
    Ich denke mal das ich den Loop falsch konstruiert habe, wie muss ihn aufstellen, damit mein Plan aufgeht? ?(

    (Modul mdlKalenderExport, Zeile 65)

    Spoiler anzeigen

    VB.NET-Quellcode

    1. expRow = 2
    2. RowID = 0 - 1
    3. aktcolTaginDoLoop = 2
    4. z = 0 'Leerzeilen Counter
    5. i = 3 'erste Leerzeilen Spalte nach dem ersten Datum
    6. rowZeit = wks.Range(wks.Cells(6, 1), wks.Cells(6, 1).End(xlDown)).rows.Count - 1 'Arbeitszeit Counter
    7. Do While wks.Cells(2, i).Value = "" And wks.Cells(5, i).Value <> "" 'Leerzeilen zwischen den Datum ablaufen
    8. z = z + 1 'Leerzeilen Counter + 1
    9. i = i + 1 'Leerzeilen Spalte + 1
    10. If wks.Cells(2, i).Value <> "" Then 'Keine Leerzeile dann weiter
    11. z = z
    12. Do Until wks.Cells(2, aktcolTaginDoLoop).Value = "" 'Tages Schleife
    13. For x = 0 To z
    14. For y = 0 To rowZeit 'Arbeitszeit Bereich
    15. If Not IsEmpty(wks.Cells(6 + y, x + aktcolTaginDoLoop).Value) Then 'Leerzeile von nicht Leerzeile trennen
    16. ''CODE''
    17. expRow = expRow + 1
    18. End If
    19. Next y
    20. Next x
    21. aktcolTaginDoLoop = aktcolTaginDoLoop + z + 1
    22. Loop
    23. i = i + 1
    24. z = 0
    25. End If
    26. Loop


    Bilder
    • Bild.PNG

      28,03 kB, 1.252×404, 10 mal angesehen
    Dateien
    • 2017 - upload.zip

      (399,08 kB, 6 mal heruntergeladen, zuletzt: )