266 Aufrufe
Gefragt in Tabellenkalkulation von marbil Einsteiger_in (26 Punkte)

Hallo Community,

ich bin gerade extrem am verzweifeln, sodass ich nicht mal privat Ruhe finde :(

Wir befinden uns gerade in Kurzarbeit und ich muss jeden Tag aus insgesamt 80 Dateien, eine Datei erstellen. Alle Dateien befinden sich in drei Hauptordnern (Area 1, Area 2, Area 3). In manchen dieser Ordner befinden sich wiederum Unterordner (Field 1, Field 2) - die Ordner selbst, können allerdings auch anders lauten.

Die Excel Dateien in Area 1 und 2 (Datei: 2020 - kplan - Sample) schauen an sich identisch aus und die Daten fangen ab Zeile 13 - die in Area 2 (2020 - kplan - Sample2) haben zwei weitere Spalten N und O und die Daten fangen ab Zeile 14 an.

Alle Laschen darin haben das Jahr und den Monat aber nach dem Bindestrich lauten diese alle unterschiedlich. Manche Dateien haben mehrere Sheets die denselben Monat haben aber nach dem Bindestrich eben anders lauten.

Die Date darin zeigen die Planung der Kurzarbeit (Kalender).

Gibt es eine Möglichkeit über die Beispieldatei (2020 - kplan - DataImport) alle Daten aus den drei Ordern in diese Datei unter Beachtung des jeweilig ausgewählten Monats (Zelle D4) zu holen? Dabei ist allerdings zu beachten, dass der Ordner Area 3 anders aussieht (zwei Spalten mehr).

https://supportnet.de/forum/?qa=blob&qa_blobid=1051016696497942698 (ZipFIle)

Falls Zip File nicht durchgeht (hier kann ich aber die Ordner nicht hochladen):

https://supportnet.de/forum/?qa=blob&qa_blobid=3332045341288030649

https://supportnet.de/forum/?qa=blob&qa_blobid=4378683680640988504

https://supportnet.de/forum/?qa=blob&qa_blobid=7575532263175481220

Vielen Dank im Voraus

Patrick

11 Antworten

0 Punkte
Beantwortet von m-o Profi (17.4k Punkte)
Hallo Patrick,

ich habe mir das mal angeschaut. In den Dateien sind ja Formeln vorhanden, mit denen die Arbeitszeit berechnet wird. Sehe ich das richtig, dass dann nur die Inhalte der Spalten A bis G sowie die Spalten von O bis AS bzw. Q bis AU übertragen werden sollen? Und die zu öffnenden Excel-Dateien befinden sich nur in den Unterordern des Hauptordners, der in D2 steht?

Gruß

M.O.
0 Punkte
Beantwortet von marbil Einsteiger_in (26 Punkte)

Hallo M.O.,

es sind noch ausgeblendete Daten in den Spalten H bis K. Spalte G ist zwar auch mit einer Formel hinterlegt blush

C:\Users\...\Desktop\Makro

Hinter diesem Pfad gibt es dann die Unterordner, welche allerdings wieder Unterordner haben. Ich kann aber auch alle Unterordner bis auf die drei Hauptfiles entfernen - wenn es daran scheitert.

Gibt es Hoffnung so etwas zu automatisieren?

VG Patrick

0 Punkte
Beantwortet von m-o Profi (17.4k Punkte)
Hallo Patrick,

das mit den Unterordnern ist das kleinste Problem.

Aber sollen alle Daten - also auch die Formeln - übertragen werden oder nur die Daten, die du eingibst ohne die Formeln (die ja in der ersten Datenzeile vorhanden sind und die man dann kopieren kann)? Oder sollen die Werte - also nur die Ergebnisse der Formeln aber ohne die Formeln selbst - übertragen werden?

Gruß

M.O.
0 Punkte
Beantwortet von marbil Einsteiger_in (26 Punkte)
Hallo M.O.,

ich wünschte, ich könnte das sagen - ich habe gerade voll das Glücksgefühl :)

Alle Formeln können runtergezogen werden - das würde funktionieren. Nur die Spalte G, welche ebenfalls eine Formel ist, müsste als Wert rüber kopiert werden, da je nach File, diese abbildet, ob organisatorische Vorgaben erreicht wurden. Ich sehe gerade, dass ich wohl beim letzten Beitrag bei zwar hängen geblieben bin.

Ich danke dir sehr, dass du dich gemeldet hast.

Ich wünsche dir einen schönen Abend.
Patrick
+1 Punkt
Beantwortet von m-o Profi (17.4k Punkte)

Hallo Patrick,

kopiere die folgenden Makros so wie sie hier sehen in ein Standard-Modul deiner Arbeitsmappe, in die die Daten importiert werden sollen:

Sub Import()

Dim Antwort
Dim arrDateien As Variant
Dim lngZeile As Long
Dim lngEZeile As Long
Dim lngLZeile As Long
Dim lngEinfZeile As Long
Dim lngESpalte As Long
Dim lngTab As Long
Dim lngRet As Long
Dim lngIndex As Long
Dim lngZaehler As Long
Dim d As Long
Dim strMonat As String
Dim strPfad As String
Dim strFile As String
Dim objFiles() As Object
Dim wkbQuelle As Workbook
Dim wshZiel As Worksheet
Dim rngErgebnis As Range

'Bildschirmaktualisierung ausschalten:
Application.ScreenUpdating = False

'Benachrichtigungen ausschalten
Application.DisplayAlerts = False

'Zieltabelle festlegen
Set wshZiel = ThisWorkbook.ActiveSheet

'einzulesender Monat aus Tabelle einlesen
strMonat = ActiveSheet.Range("D4").Value

'Pfad einlesen
strPfad = ActiveSheet.Range("D2").Value

Pruefen:
'Prüfen, ob Pfadangabe existiert
If strPfad = "" Then
  Antwort = MsgBox("In Zelle D4 ist kein Pfad angegeben! Möchten Sie jetzt einen Pfad auswählen?", 36, "Pfad fehlt")
  If Antwort = vbNo Then
    'Makro beenden
    MsgBox "Abbruch durch den Benutzer!", 16, "Makro beenden"
     Exit Sub
    Else
     'Pfad abfragen
     With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        .Title = "Bitte das Hauptverzeichnis wählen"
        .InitialFileName = ""
        .InitialView = msoFileDialogViewThumbnail
        .ButtonName = "OK"
        If .Show = -1 Then strPfad = .SelectedItems(1)
     End With
     GoTo Pruefen
   End If
End If
   
'Alle Excel-Dateien aus den Unterverzeichnissen einlesen
'nur Excel-Dateien einlesen
strFile = "*.xls*"
'Function zum Einlesen der Datei aufrufen
lngRet = FileSearchINFO(objFiles, strPfad, strFile, True)
If lngRet > 0 Then
  'Array für die einzulesenden Dateien redimensionieren
   ReDim arrDateien(lngRet)
   'Nun die einzelnen Datein einlesen
   For lngIndex = 0 To lngRet - 1
      'nur Dateien aus den Unterordnern einlesen
      If objFiles(lngIndex).ParentFolder.Path <> strPfad Then
         'Pfad und Dateiname zusammensetzen und in Array schreiben
          arrDateien(lngZaehler) = objFiles(lngIndex).ParentFolder.Path & "\" & objFiles(lngIndex).Name
          lngZaehler = lngZaehler + 1
      End If
   Next lngIndex
End If
    
'Zaehler um 1 verringern, da letztes Element leer ist
lngZaehler = lngZaehler - 1

'alle gefundenen Datei durchlaufen
For d = 0 To lngZaehler

  'Tabelle zum einlesen öffnen
  Set wksQuelle = Workbooks.Open(arrDateien(d))
  'einzelne Tabellenblätter durchlaufen
  With wksQuelle
    For lngTab = 1 To .Worksheets.Count
      'Tabellen mit richtigem Monat suchen
       If Left$(.Worksheets(lngTab).Name, 7) = strMonat Then
         With .Worksheets(lngTab)
           'letzte beschriebene Zeile in Spalte A (= letzte zu kopierende Zeile) ermitteln
           lngLZeile = .Cells(Rows.Count, 1).End(xlUp).Row
           'in Spalte A die Überschrift Name suchen
           With .Range("A:A")
               Set rngErgebnis = .Find("Name", LookIn:=xlValues, lookat:=xlPart)
           End With
           lngEZeile = rngErgebnis.Row + 1
           
           'Suchergebnis zurücksetzen
           Set rngErgebnis = Nothing
           
           'Spalte KU Anteil suchen
           With .UsedRange
               Set rngErgebnis = .Find("KU Anteil", LookIn:=xlValues, lookat:=xlPart)
           End With
           'eine Spalte weiter = 1. Spalte der Kalendereintragungen
           lngESpalte = rngErgebnis.Column + 1
                      
            'Suchergebnis zurücksetzen
           Set rngErgebnis = Nothing
                      
           'erste Einfügezeile festlegen
           lngEinfZeile = wshZiel.Cells(Rows.Count, 1).End(xlUp).Row + 1
                
           'Daten kopieren - nur Formate und Werte
           'Spalte A bis K
            .Range(.Cells(lngEZeile, 1), .Cells(lngLZeile, 11)).Copy
            With wshZiel.Cells(lngEinfZeile, 1)
              .PasteSpecial Paste:=xlPasteValues        'Werte
              .PasteSpecial Paste:=xlPasteFormats       'Formate
            End With

            'Eintragungen in Kalender kopieren
            .Range(.Cells(lngEZeile, lngESpalte), .Cells(lngLZeile, lngESpalte + 31)).Copy
             With wshZiel.Cells(lngEinfZeile, lngESpalte)
              .PasteSpecial Paste:=xlPasteValues        'Werte
              .PasteSpecial Paste:=xlPasteFormats       'Formate
            End With
          End With
       End If
    Next lngTab
    'Quelldatei ohne speichern schließen
    wksQuelle.Close (False)
  End With
Next d

'Zum Abschluss die Formeln noch unten kopieren
'dazu die neue letzte Zeile ermitteln
With wshZiel
  lngLZeile = .Cells(Rows.Count, 1).End(xlUp).Row
  'Spalten L bis P
  .Range(.Cells(lngEZeile, 12), .Cells(lngLZeile, 16)).FillDown
  'Spalten AV bis CA oder AW bis CC
  'falls in Zelle AV eine Formel steht, dann im Bereich AV bis CA die Formeln nach unten kopieren
  If .Cells(lngEZeile, 48).HasFormula = True Then .Range(.Cells(lngEZeile, 48), .Cells(lngLZeile, 79)).FillDown
  'falls in Zelle AW eine Formel steht, dann im Bereich AW bis CC die Formeln nach unten kopieren
  If .Cells(lngEZeile, 49).HasFormula = True Then .Range(.Cells(lngEZeile, 49), .Cells(lngLZeile, 81)).FillDown
End With

'Benachrichtigungen einschalten
Application.DisplayAlerts = True

'Bildschirmaktualisierung einschalten:
Application.ScreenUpdating = True

End Sub

Private Function FileSearchINFO(ByRef Files() As Object, ByVal InitialPath As String, Optional ByVal FileName As String = "*", _
    Optional ByVal SubFolders As Boolean = False) As Long
 
  '# PARAMETERINFO:
  '# Files: Datenfeld zur Ausgabe der Suchergebnisse
  '# InitialPath: String der das zu durchsuchende Verzeichnis angibt
  '# FileName: String der den gesuchten Dateityp oder Dateinamen enthält (Optional, Standard="*.*" findet alle Dateien)
  '# Beispiele: "*.txt" - Findet alle Textdateien
  '# "*name*" - Findet alle Dateien mit "name" im Dateinamen
  '# "*.avi;*.mpg" - Findet .avi und .mpg Dateien (Dateitypen mit ; trennen)
  '# SubFolders: Boolean gibt an, ob Unterordner durchsucht werden sollen (Optional, Standard=False)
 
 
  Dim fobjFSO As Object, ffsoFolder As Object, ffsoSubFolder As Object, ffsoFile As Object
  Dim intC As Integer, varFiles As Variant
 
  Set fobjFSO = CreateObject("Scripting.FileSystemObject")
 
  Set ffsoFolder = fobjFSO.GetFolder(InitialPath)
 
  On Error GoTo ErrExit
 
  If InStr(1, FileName, ";") > 0 Then
    varFiles = Split(FileName, ";")
  Else
    ReDim varFiles(0)
    varFiles(0) = FileName
  End If
  For Each ffsoFile In ffsoFolder.Files
    If Not ffsoFile Is Nothing Then
      For intC = 0 To UBound(varFiles)
        If LCase(fobjFSO.GetFileName(ffsoFile)) Like LCase(varFiles(intC)) Then
          If IsArray(Files) Then
            ReDim Preserve Files(UBound(Files) + 1)
          Else
            ReDim Files(0)
          End If
          Set Files(UBound(Files)) = ffsoFile
          Exit For
        End If
      Next
    End If
  Next
 
  If SubFolders Then
    For Each ffsoSubFolder In ffsoFolder.SubFolders
      FileSearchINFO Files, ffsoSubFolder, FileName, SubFolders
    Next
  End If
 
  If IsArray(Files) Then FileSearchINFO = UBound(Files) + 1
ErrExit:
  Set fobjFSO = Nothing
  Set ffsoFolder = Nothing
End Function


Um das Makro aufzurufen, weise den Commandbuttons in den einzelnen Blättern den folgenden Code zu:

Private Sub CommandButton1_Click()
Call Import
End Sub

Schau mal wie das funktioniert. Je nach Anzahl der Dateien kann das etwas dauern. Teste erst einmal mit drei oder vier Dateien in den Unterverzeichnissen.

Gruß

M.O.

0 Punkte
Beantwortet von marbil Einsteiger_in (26 Punkte)

Hallo M.O.

OOOOOOOOMMMMMMMMMGGGGGG laugh crying das so etwas möglich ist - waaaaaahnsinn.

Die Datei funktioniert bis auf zwei Sachen perfekt:

Ich schäme mich schon voll das überhaupt zu schreiben.

Bei den Dateien mit den zwei Spalten mehr (Unproduktive Stunden & Unproduktiv in  %) wird in der Lasche mit den 30 Tagen im Monat (30Days) eine Spalte mehr als Wert kopiert - AV (Formel wird überschrieben)

Bei der Version wo die o.g. Spalten fehlen (Unproduktive Stunden & Unproduktiv in  %) werden die Daten um zwei Spalten nach links verschoben und im Monat mit 30 Tagen ist es mit dem Wert nochmal.

Das ist so traumhaft bis jetzt, dass ich schon Tränen in den Augen habe.

VG Patrick

0 Punkte
Beantwortet von m-o Profi (17.4k Punkte)
ausgewählt von halfstone
 
Beste Antwort

Hallo Patrick,

bei den 30 oder 31 Tagen wollte ich es mir einfach machen blush. Beim Einfügen war ein Fehler drin.

Lösche den vorhandenen Code aus dem Modul und ersetze ihn durch diese Version:

Sub Import()

Dim Antwort
Dim arrDateien As Variant
Dim lngZeile As Long
Dim lngEZeile As Long
Dim lngLZeile As Long
Dim lngEinfZeile As Long
Dim lngESpalte As Long
Dim lngLSpalte As Long
Dim lngTab As Long
Dim lngRet As Long
Dim lngIndex As Long
Dim lngZaehler As Long
Dim d As Long
Dim strMonat As String
Dim strPfad As String
Dim strFile As String
Dim objFiles() As Object
Dim wkbQuelle As Workbook
Dim wshZiel As Worksheet
Dim rngErgebnis As Range

'Bildschirmaktualisierung ausschalten:
Application.ScreenUpdating = False

'Benachrichtigungen ausschalten
Application.DisplayAlerts = False

'Zieltabelle festlegen
Set wshZiel = ThisWorkbook.ActiveSheet

'einzulesender Monat aus Tabelle einlesen
strMonat = ActiveSheet.Range("D4").Value

'Pfad einlesen
strPfad = ActiveSheet.Range("D2").Value

Pruefen:
'Prüfen, ob Pfadangabe existiert
If strPfad = "" Then
  Antwort = MsgBox("In Zelle D4 ist kein Pfad angegeben! Möchten Sie jetzt einen Pfad auswählen?", 36, "Pfad fehlt")
  If Antwort = vbNo Then
    'Makro beenden
    MsgBox "Abbruch durch den Benutzer!", 16, "Makro beenden"
     Exit Sub
    Else
     'Pfad abfragen
     With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        .Title = "Bitte das Hauptverzeichnis wählen"
        .InitialFileName = ""
        .InitialView = msoFileDialogViewThumbnail
        .ButtonName = "OK"
        If .Show = -1 Then strPfad = .SelectedItems(1)
     End With
     GoTo Pruefen
   End If
End If
   
'Alle Excel-Dateien aus den Unterverzeichnissen einlesen
'nur Excel-Dateien einlesen
strFile = "*.xls*"
'Function zum Einlesen der Datei aufrufen
lngRet = FileSearchINFO(objFiles, strPfad, strFile, True)
If lngRet > 0 Then
  'Array für die einzulesenden Dateien redimensionieren
   ReDim arrDateien(lngRet)
   'Nun die einzelnen Datein einlesen
   For lngIndex = 0 To lngRet - 1
      'nur Dateien aus den Unterordnern einlesen
      If objFiles(lngIndex).ParentFolder.Path <> strPfad Then
         'Pfad und Dateiname zusammensetzen und in Array schreiben
          arrDateien(lngZaehler) = objFiles(lngIndex).ParentFolder.Path & "\" & objFiles(lngIndex).Name
          lngZaehler = lngZaehler + 1
      End If
   Next lngIndex
End If
    
'Zaehler um 1 verringern, da letztes Element leer ist
lngZaehler = lngZaehler - 1

'alle gefundenen Datei durchlaufen
For d = 0 To lngZaehler

  'Tabelle zum einlesen öffnen
  Set wksQuelle = Workbooks.Open(arrDateien(d))
  'einzelne Tabellenblätter durchlaufen
  With wksQuelle
    For lngTab = 1 To .Worksheets.Count
      'Tabellen mit richtigem Monat suchen
       If Left$(.Worksheets(lngTab).Name, 7) = strMonat Then
         With .Worksheets(lngTab)
           'letzte beschriebene Zeile in Spalte A (= letzte zu kopierende Zeile) ermitteln
           lngLZeile = .Cells(Rows.Count, 1).End(xlUp).Row
           'in Spalte A die Überschrift Name suchen
           With .Range("A:A")
               Set rngErgebnis = .Find("Name", LookIn:=xlValues, lookat:=xlPart)
           End With
           lngEZeile = rngErgebnis.Row + 1
           
           'Suchergebnis zurücksetzen
           Set rngErgebnis = Nothing
           
           'Spalte KU Anteil suchen
           With .UsedRange
               Set rngErgebnis = .Find("KU Anteil", LookIn:=xlValues, lookat:=xlPart)
           End With
           'eine Spalte weiter = 1. Spalte der Kalendereintragungen
           lngESpalte = rngErgebnis.Column + 1
                      
            'Suchergebnis zurücksetzen
           Set rngErgebnis = Nothing
                      
           'erste Einfügezeile festlegen
           lngEinfZeile = wshZiel.Cells(Rows.Count, 1).End(xlUp).Row + 1
                
           'Daten kopieren - nur Formate und Werte
           'Spalte A bis K
            .Range(.Cells(lngEZeile, 1), .Cells(lngLZeile, 11)).Copy
            With wshZiel.Cells(lngEinfZeile, 1)
              .PasteSpecial Paste:=xlPasteValues        'Werte
              .PasteSpecial Paste:=xlPasteFormats       'Formate
            End With
           
            'Eintragungen in Kalender kopieren
            'prüfen ob Monat 31 oder weniger Tage hat
            If Day(.Cells(lngEZeile - 1, lngESpalte + 27).Value) = 28 Then lngLSpalte = lngESpalte + 28
            If Day(.Cells(lngEZeile - 1, lngESpalte + 28).Value) = 29 Then lngLSpalte = lngESpalte + 29
            If Day(.Cells(lngEZeile - 1, lngESpalte + 29).Value) = 30 Then lngLSpalte = lngESpalte + 30
            If Day(.Cells(lngEZeile - 1, lngESpalte + 30).Value) = 31 Then lngLSpalte = lngESpalte + 31
                        
            .Range(.Cells(lngEZeile, lngESpalte), .Cells(lngLZeile, lngLSpalte)).Copy
             With wshZiel.Cells(lngEinfZeile, 17)
              .PasteSpecial Paste:=xlPasteValues        'Werte
              .PasteSpecial Paste:=xlPasteFormats       'Formate
            End With
          End With
       End If
    Next lngTab
    'Quelldatei ohne speichern schließen
    wksQuelle.Close (False)
  End With
Next d

'Zum Abschluss die Formeln noch unten kopieren
'dazu die neue letzte Zeile ermitteln
With wshZiel
  lngLZeile = .Cells(Rows.Count, 1).End(xlUp).Row
  'Spalten L bis P
  .Range(.Cells(lngEZeile, 12), .Cells(lngLZeile, 16)).FillDown
  'Spalten AV bis CA oder AW bis CC
  'falls in Zelle AV eine Formel steht, dann im Bereich AV bis CA die Formeln nach unten kopieren
  If .Cells(lngEZeile, 48).HasFormula = True Then .Range(.Cells(lngEZeile, 48), .Cells(lngLZeile, 79)).FillDown
  'falls in Zelle AW eine Formel steht, dann im Bereich AW bis CC die Formeln nach unten kopieren
  If .Cells(lngEZeile, 49).HasFormula = True Then .Range(.Cells(lngEZeile, 49), .Cells(lngLZeile, 81)).FillDown
End With

'Benachrichtigungen einschalten
Application.DisplayAlerts = True

'Bildschirmaktualisierung einschalten:
Application.ScreenUpdating = True


End Sub

Private Function FileSearchINFO(ByRef Files() As Object, ByVal InitialPath As String, Optional ByVal FileName As String = "*", _
    Optional ByVal SubFolders As Boolean = False) As Long
 
  '# PARAMETERINFO:
  '# Files: Datenfeld zur Ausgabe der Suchergebnisse
  '# InitialPath: String der das zu durchsuchende Verzeichnis angibt
  '# FileName: String der den gesuchten Dateityp oder Dateinamen enthält (Optional, Standard="*.*" findet alle Dateien)
  '# Beispiele: "*.txt" - Findet alle Textdateien
  '# "*name*" - Findet alle Dateien mit "name" im Dateinamen
  '# "*.avi;*.mpg" - Findet .avi und .mpg Dateien (Dateitypen mit ; trennen)
  '# SubFolders: Boolean gibt an, ob Unterordner durchsucht werden sollen (Optional, Standard=False)
 
 
  Dim fobjFSO As Object, ffsoFolder As Object, ffsoSubFolder As Object, ffsoFile As Object
  Dim intC As Integer, varFiles As Variant
 
  Set fobjFSO = CreateObject("Scripting.FileSystemObject")
 
  Set ffsoFolder = fobjFSO.GetFolder(InitialPath)
 
  On Error GoTo ErrExit
 
  If InStr(1, FileName, ";") > 0 Then
    varFiles = Split(FileName, ";")
  Else
    ReDim varFiles(0)
    varFiles(0) = FileName
  End If
  For Each ffsoFile In ffsoFolder.Files
    If Not ffsoFile Is Nothing Then
      For intC = 0 To UBound(varFiles)
        If LCase(fobjFSO.GetFileName(ffsoFile)) Like LCase(varFiles(intC)) Then
          If IsArray(Files) Then
            ReDim Preserve Files(UBound(Files) + 1)
          Else
            ReDim Files(0)
          End If
          Set Files(UBound(Files)) = ffsoFile
          Exit For
        End If
      Next
    End If
  Next
 
  If SubFolders Then
    For Each ffsoSubFolder In ffsoFolder.SubFolders
      FileSearchINFO Files, ffsoSubFolder, FileName, SubFolders
    Next
  End If
 
  If IsArray(Files) Then FileSearchINFO = UBound(Files) + 1
ErrExit:
  Set fobjFSO = Nothing
  Set ffsoFolder = Nothing
End Function


Gruß

M.O.

0 Punkte
Beantwortet von marbil Einsteiger_in (26 Punkte)

Hallo M.O.,

entschuldige meine späte Rückmeldung. Ich war die Tage krankheitsbedingt ausgefallen.

Der Code MEEEEEEEEEEEEEEEEEEEEEEEEEEGAAAAAAAAA. 

Wie kann ich dir dafür danken? 

Du kannst dir nicht vorstellen wie sehr mir das hilft - vor allem habe ich keine Fehler. Ich habe es heute probiert - einfach traumhaft.

Ich wünscht mir ebenfalls solche Fähigkeiten zu besitzen.

Du hast es trotz Entfernung und einer so miserablen Erklärung auf den Punkt getroffen - ich kann es immer noch kaum fassen! laughblush

VG Patrick

0 Punkte
Beantwortet von m-o Profi (17.4k Punkte)

Hallo Patrick,

vielen Dank für Rückmeldung. Das ist Dank genug smiley.

Ich wünscht mir ebenfalls solche Fähigkeiten zu besitzen.

Fang einfach mal an, dich mit VBA zu beschäftigen. Und wenn es dir Spaß macht und du es auch noch für deine Arbeit einsetzen kannst (so wie bei mir), dann hast du auch einen Anreiz immer mehr zu automatisieren und damit tiefer einzusteigen.

Gruß

M.O.

0 Punkte
Beantwortet von marbil Einsteiger_in (26 Punkte)
Hallo M.O.,

ich schäme mich schon voll dir zu schreiben - gibt es eine Möglichkeit vor dem Code den Filter und ggf. einen Blattschutz, den ich im Feld unterhalb es Sheets-Namen schreiben würde zu enfternen?

Ich danke dir vielmals und wünsche dir einen schönen Abend.

LG Patrick
...