Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Spalten in bestimmten Reiter einfügen
#1
Hallo zusammen,

ich versuche gerade alle Dateien eines Ordners auf die gleiche Weise zu bearbeiten:

Mit diesem Code kann ich alle Dateien aufrufen:
Code:
Sub alle_Dateien_Verzeichnis() '
    strPath = "C:\Users\Desktop\Alle Dateien\" 'Pfad des Verzeichnisses ggf. anpassen
    strExt = "*.xls*"       'Dateiextension ggf. anpassen
    Dim strFile As String
    If strPath = "" Then
        Exit Sub
    Else
        strFile = Dir(strPath & strExt)
        Do While Len(strFile) > 0
            Workbooks.Open Filename:=strPath & strFile
            'mach was damit
            'deine routine
            Columns("X:Z").Insert Shift:=xlToLeft, CopyOrigin:=xlFormatFromLeftOrAbove
                       
           
            Workbooks(strFile).Save
            strFile = Dir() ' nächste Datei
        Loop
    End If
End Sub

Ab der auskommentierten Zeile "mach was damit" würde ich gerne für alle Dateien in der Order folgendes machen:

Im Reiter "Test" einer jeden Datei soll nach der Spalte x drei Spalten eingefügt werden und die Spaltenüberschriften ("Spalte1neu", Spalte2neu"; Spalte3neu") vergeben werden. Diese stünden in der ersten Zeile der drei neuen Spalten. Aktuell werden einfach drei Spalten in dem ersten Reiter der Dateien eingefügt, wie das mit den Spaltenüberschriften gehen soll... bin ich auch überfordert.

Wenn ich das hätte wäre mir schon sehr geholfen. Danach müsste zwar noch ein sverweis eingebaut werden aber das schaue ich mir vorher nochmal an und versuche es selbst zu lösen  Blush

Ist für euch bestimmt ein leichtes, freue mich auf Feedback

Beste Grüße
Leo
Top
#2
Der gute alte Makrorekorder  Sleepy

Code:
   Sheets("Test").Select
    Range("W1").Select
    ActiveCell.FormulaR1C1 = "Spalte1neu"
    Range("X1").Select
    ActiveCell.FormulaR1C1 = "Spalte2neu"
    Range("Y1").Select
    ActiveCell.FormulaR1C1 = "Spalte3neu"
    Range("Y2").Select

Eine Frage habe ich zum sverweis dann doch direkt: 

Ich müsste wieder (https://www.clever-excel-forum.de/Thread...ei-Dateien) in der Datei auf die die Suchmatrix des Sverweises referenziert und in allen Dateien die im Ordner abgelegt sind eine Verkettung von Zellen erstellen um ein einheitliches Suchkriterium zu haben. ich kann den sVerweis mit dem makrorekorder nicht machen weil sich der ja immer auf den Namen der Datei bezieht. wie also kann man einen verketteten sverweis machen und diesen über die Loop für alle Dateien aus dem Ordner 

Hoffnungslos überfrage Grüße
Leo
Top
#3
Hallo,

das Select des Makrorekorders ist mehr als überflüssig:

Code:
   With Sheets("Test")
    .Range("W1").Value = "Spalte1neu"
    .Range("X1").Value = "Spalte2neu"
    .Range("Y1").Value = "Spalte3neu"
  End With
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
[-] Folgende(r) 1 Nutzer sagt Danke an Glausius für diesen Beitrag:
  • Leonhard
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste