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

Abarbeiten einer Liste von Werten

Abarbeiten einer Liste von Werten
05.03.2018 11:46:17
Werten
Hallo zusammen,
aus einer mit einer externen Datenquelle verknüpften Exceldatei wird ein Kostenstellenbericht generiert (eine Datei pro Kostenstelle). Dazu wird im Sheet Parameters in zelle B2 die Company ausgewählt, in Zelle B3 die Kostenstelle. Danach werden die Sheets mit den Daten in eine neue Datei wegkopiert, die Verknüpfungen zur externen Datei gelöscht und unter dem Namen der Kostenstelle gespeichert.
Das untenstehende Makro macht derzeit genau das für eine einzelne Kostenstelle, im Beispiel für die KSt 2001.

Sub exp_KSt()
If Len(Dir(ThisWorkbook.Path & "\KSt Templates", vbDirectory)) = 0 Then
MkDir ThisWorkbook.Path & "\KSt Templates"
End If
Sheets("Parameters").Range("B2").Value = "JW"
Sheets("Parameters").Range("B3").Value = "2001"
Calculate
Dim Filename
Dim i As Integer
Dim WBK As Workbook
Dim WST As Worksheet
Filename = Sheets("Parameters").Range("D3").Text & "out"
With Worksheets(Array("Parameters", "Final", "Overlay", "Summary", _ ))
.Copy
Set WBK = ActiveWorkbook
End With
vLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
For lLink = LBound(vLinks) To UBound(vLinks)
ActiveWorkbook.BreakLink _
Name:=vLinks(lLink), _
Type:=xlLinkTypeExcelLinks
Next lLink
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\KSt Templates\" & Filename, _
FileFormat:=xlOpenXMLWorkbook, _
CreateBackup:=False
Application.DisplayAlerts = True
ActiveWorkbook.Close True
End Sub

Was das Makro idealerweise machen sollte:
die Liste aller Kostenstellen abarbeiten, wobei diese Liste auf Sheet "Parameters" in den Zellen A1300:A1370 steht und variabel sein kann.
Woran ich derzeit scheitere ist, die Anweisung
Sheets("Parameters").Range("B3").Value = "Kostenstelle"
in einen Loop einzubauen, der die Zeilen ab A1300 abarbeitet, bis er keinen Wert mehr vorfindet.
Bin für alle Anregungen dankbar.

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

Betreff
Datum
Anwender
Anzeige
AW: Abarbeiten einer Liste von Werten
05.03.2018 12:05:17
Werten
Hallo
ungetestet....
so?
Sub exp_KSt()

    If Len(Dir(ThisWorkbook.Path & "\KSt Templates", vbDirectory)) = 0 Then
        MkDir ThisWorkbook.Path & "\KSt Templates"
    End If
    
    Dim TB, RNG As Range, LR As Double, J As Double
    Set TB = Sheets("Parameters")
    Set RNG = TB.Range("A1300:A1370")
    LR = TB.Cells(TB.Rows.Count, "A").End(xlUp).Row 'letzte Zeile der Spalte 

    For J = RNG.Row To LR
        Sheets("Parameters").Range("B2").Value = "JW"
        Sheets("Parameters").Range("B3").Value = TB.Cells(J, 1)
        Calculate
        
        Dim Filename
        Dim i As Integer
        Dim WBK As Workbook
        Dim WST As Worksheet
        
        Filename = Sheets("Parameters").Range("D3").Text & "out"
        
        With Worksheets(Array("Parameters", "Final", "Overlay", "Summary"))
            .Copy
            Set WBK = ActiveWorkbook
        End With
    
        vLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
    
    
        For lLink = Lbound(vLinks) To Ubound(vLinks)
            ActiveWorkbook.BreakLink _
                Name:=vLinks(lLink), _
                Type:=xlLinkTypeExcelLinks
        Next lLink
           
        Application.DisplayAlerts = False
           
         ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\KSt Templates\" & Filename, _
            FileFormat:=xlOpenXMLWorkbook, _
            CreateBackup:=False
           
          Application.DisplayAlerts = True
    
        ActiveWorkbook.Close True
    
    Next J

End Sub

LG UweD
Anzeige
AW: Abarbeiten einer Liste von Werten
05.03.2018 12:10:41
Werten
Mega. Macht exakt das was es soll!
Perfekt, vielen herzlichen Dank!
Danke für die Rückmeldung owT
05.03.2018 12:49:48
UweD

256 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige