Einfügen von Zeilen in verknüpften Dateien

21/09/2008 - 20:00 von Volker Hofheinz | Report spam
Hallo Newsgroup,

ich habe folgendes Problem:

in eine Masterdatei soll eine neue Zeiel eingefügt werden. Im selben
Verzeichnis liegen n weitere Dateien, die mit der Masterdatei verknüpft
sind, zeilenweise. Nun soll die eingefügte Zeile selbstverstàndlich auch in
alle Dateien des Verzeichnisses kopiert, bzw. als Verknüpfung dargestellt
werden.

Ist so etwas mit Bordmitteln von VBA machbar? Ich erhalte immer einen Fehler
wenn ich mein Makro laufen lasse.

Anwendungsfehler 1004.
Die Blàtter sind mit einem Blattschutz versehen, den ich erst aufhebe und
dann wieder vergebe.

Hat jemand eine Idee?

Danke.

Volker Hofheinz


Der Code sieht folgendermaßen aus:

Const psw = "000"
Const verz = "C:\straubing"
Public adr As String
Public fso As New FileSystemObject


Sub ZeileEinfuegen()
'Zellzeiger auf die letzte Zeile setzen
Range("a11").Select
Dim i As Integer
While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Select
Wend
PasswortLoeschenAufAllenTabellenblàttern
ActiveCell.Offset(-1, 0).Select
Selection.EntireRow.Copy
ActiveCell.Offset(1, 0).Select
Selection.EntireRow.Insert
'Application.CutCopyMode = False
adr = ActiveCell.Offset(-1, 0).Address
PasswortSetzenAufAllenTabellenblàttern
'MsgBox adr
End Sub

'Blattschutz aufheben
Sub PasswortLoeschenAufAllenTabellenblàttern()
Dim i As Integer
For i = 1 To Worksheets.Count
Sheets(i).Unprotect (psw)
Next i
End Sub


Sub PasswortSetzenAufAllenTabellenblàttern()
Dim i As Integer
For i = 1 To Worksheets.Count
Sheets(i).Protect (psw)
Next i
End Sub

Sub InAlleArbeitsmappenKopieren()
Dim f As Folder
Dim fil As File
Set f = fso.GetFolder(verz)
For Each fil In f.Files
Workbooks.Open fil, 0
Worksheets(1).Select
ZeileEinfuegen

Next

End Sub
 

Lesen sie die antworten

#1 Bernd Augustin
23/09/2008 - 20:41 | Warnen spam
Hallo Volker,

wenn die Arbeitsmappen nicht gerade mit Arrayformeln verknüpft sind, lassen
sich mit folgendem VBA-Code
Zeilen synchron in allen Tabellen einfügen.

Sub ZeilenInAllenTabellenEinfügen()
Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select
Sheets("Tabelle1").Activate
Rows("4:4").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub

Freundliche Grüße aus der Pfalz


Bernd Augustin

http://www.bernd-augustin.de/
ca. 50 kostenlose AddIns für Excel
Made by Bernd Augustin

Ähnliche fragen