Spalten einfügen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Spalten einfügen von: Richard
Geschrieben am: 13.04.2005 09:29:16

Hallo,
hab ein Problem, und zwar ich habe ca. 50 Dateien, jetzt möchte ich in jede Datei (mit Tabellen) neue Spalten einfügen, wie kann ich das mit VBA vereinfachen?

gruß
Rich.

Bild


Betrifft: AW: Spalten einfügen von: Rolf Beißner
Geschrieben am: 13.04.2005 14:20:29

Hallo Richard,

sind alle Arbeitsmappen im gleichen Verzeichnis abgelegt,
und werden die Leer(?)-Spalten immer an der gleichen (welcher?) Stelle eingefügt?

fG
Rolf


Bild


Betrifft: AW: Spalten einfügen von: Richard
Geschrieben am: 14.04.2005 08:39:04

Hallo Rolf,
genau, die alle Arbeitsmappen sind im gleichen Verzeichnis abgelegt, die Leerspalten z.b. V1 bis Y1; AB1 bis AE1; AH1 bis AK1 usw. werden in den Arbeitsmappen immer an gleicher Stelle eingefügt
gruß
Rich


Bild


Betrifft: AW: Spalten einfügen von: Rolf Beißner
Geschrieben am: 14.04.2005 10:16:04

Hallo Richard,

der folgende Code geht davon aus,
dass du in einer Inputbox eingibst,
welche Spalten eingefügt werden sollen.

Diese werden dann bei allen Dateien + allen Sheets
im ausgewählten Verzeichnis eingefügt.

Du tust also gut daran, zunächst mal ein Testverzeichnis
mit wenigen Dateien anzulegen und dir anzusehen,
ob die Wirkung deinen Vorstellungen entspricht.

Melde dich bitte, ob's ok ist.

fG
Rolf

Option Explicit

Dim InsertCols As String

'Startprozedur
Sub start_insert_cols()
'Rolf Beißner.hf.14.04.05
     Const VerzDefault As Variant = "C:\"
     Dim verz As String
     verz = Ordner_def(VerzDefault)
     ChDir verz
     InsertCols = InputBox("Bitte die Spalten eingeben", "Spalteneingabe", "C:D")
     Application.ScreenUpdating = False
     WorkFileList (verz)
End Sub


'Excel-Dateien öffnen + Spalten in jedes Sheet einfügen
Sub WorkFileList(folderspec)
    On Error Resume Next
    Dim fs As Object, f As Object, fc As Object, fl As Object
    Dim s As Object
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(folderspec)
    Set fc = f.Files
    For Each fl In fc
        If fl.Type = "Microsoft Excel-Arbeitsblatt" Then
           Workbooks.Open fl.Name
            For Each s In Sheets
                s.Columns(InsertCols).Insert Shift:=xlToRight
            Next
            Workbooks(fl.Name).Close True
        End If
    Next
End Sub


'Ordnerdefinition
'aus Herber-Forum von K.Rola am 11.10.04
Function Ordner_def(defaultwert As Variant) As String
    Dim objFolderItem As Object, strPath As String, objShell As Object
    Dim objFolder As Object
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.BrowseForFolder(0&, "Ordner auswählen...", 0&, defaultwert)
    If objFolder Is Nothing Then End
    Set objFolderItem = objFolder.Self
    strPath = objFolderItem.Path
    Ordner_def = strPath
End Function



Bild


Betrifft: AW: Spalten einfügen von: Richard
Geschrieben am: 14.04.2005 13:01:47

Hallo Rolf,
ich danke dir vielmals für die Antwort, ich muss mir erstmal den Code anschauen, um begreifen zu können, was hier gemacht wird:-) danke dir nochmals

gruß
richard


Bild


Betrifft: AW: Spalten einfügen von: Richard
Geschrieben am: 14.04.2005 13:05:09

ich bins nochmal,
sobald ich das ausprobiert habe werde ich mich melden

gruß
richard


Bild


Betrifft: AW: Spalten einfügen von: Richard
Geschrieben am: 15.04.2005 15:46:30

Hallo Rolf,
gestern bin ich nicht mehr dazugekommen den Code auszuprobieren. Nun habe ich es getestet aber wenn ich in die Inputbox z.B. Spalten E:E eingebe und den Ordner aufsuche tut sich nichts, woran kann das liegen?

gruß
rich.


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Spalten einfügen"