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

Update speichern

Update speichern
27.02.2023 12:46:17
Daniela
Guten Tag zusammen,
Das folgende Makro dient dazu, Änderungen auf alle in einem Ordner befindlichen Excel an gleicher Stelle zu ändern.
Ich möchte aber nicht immer den Wert der zu ändern ist, in dem Makro anpassen, sondern den Wert der zu ändern ist im aktuellen Excel in die Zelle einfügen und aus dieser dann die Änderungen vornehmen. Was muss ich im Makro noch ändern? Leider komme ich nicht weiter und benötige eure Hilfe.
Option Explicit
Sub Update()
   Dim oSourceBook As Object
   Dim sPfad As String
   Dim sDatei As String
    
     Application.ScreenUpdating = False 
    
     sPfad = "C:...\"
     sDatei = Dir(CStr(sPfad & "*.xlsb*")) 
    
     Do While sDatei > ""
    
 
         Set oSourceBook = Workbooks.Open(sPfad & sDatei, False, False) 
        
         'Änderungen durchführen, als Beispiel Zelle C28 mit "Zahlen" befüllen
         oSourceBook.Sheets("Tabelle2").Cells(28, 3).Value = "22.22"
        
         Application.DisplayAlerts = False
         oSourceBook.Close True 'speichern
         Application.DisplayAlerts = True
         sDatei = Dir()
     Loop
    
     Application.ScreenUpdating = True 
    
     Set oSourceBook = Nothing
End Sub

lg Daniela

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Update speichern
27.02.2023 13:22:11
Benjamin
Moin, ich kenne mich mit der Verwendung von Dir() leider nicht ausreichend aus und kann dir daher nicht sagen, ob die Schleife, die du gebaut hast, so funktioniert.
Wenn sie es aber tut, kannst du die Zeile
oSourceBook.Sheets("Tabelle2").Cells(28, 3).Value = "22.22"
einfach durch Folgende ersetzen:
oSourceBook.Sheets("Tabelle2").Cells(28,3).Value = ThisWorkbook.Worksheets(1).Cells(1,1)
Damit wird in den geöffneten Dateien in Tabelle 2, Zelle C28 der Wert geschrieben, den du in der Datei, aus der du das Makro startest, in Tabelle 1 in Zelle "A1" stehen hast. Anpassen kannst du dann selbst ;)
Ich meine, dass du das .value auch weglassen kannst, das sollte den Code bei großen Datenmengen etwas schneller machen; probier es gern aus.
LG Benjamin
Anzeige
AW: Update speichern
27.02.2023 15:02:23
Daniela
Hallo Benjamin
Wie du in meinen Kommentaren siehst, hat es (genau wie du es beschrieben hast) geklappt. Das mit den Value probiere ich noch aus.
lg und vielen herzlichen Dank!
Daniela
AW: Update speichern
27.02.2023 13:22:54
Timm
Hallo Daniela,
ich habe dein Problem noch nicht so ganz verstanden. Was ich verstanden habe ist, dass es einen Ordner gibt indem sich Exceldateien befinden. Du schreibst "auf alle in einem Ordner befindlichen Excel an gleicher Stelle zu ändern." Diesen Part verstehe ich nicht. Hierzu meine Fragen:
1.) Was soll an den Dateien geändert werden? Der Name der Datei?
2.) Wie soll die finale Lösung aussehen? Willst du eine der Dateien im Ordner(Masterdatei) öffnen und in einer bestimmten Zelle z.B. A1 eine Änderung vornehmen. Durch die Änderung sollen dann alle anderen Dateien (Namen?) geändert werden?
3.) Wie wird das Makro gestartet. Per Button?
Erkläre es doch ein bisschen genauer. Helfe dir dann gerne.
Gruß
Timm
Anzeige
AW: Update speichern
27.02.2023 13:24:00
Nepumuk
Hallo Daniela,
so:
oSourceBook.Sheets("Tabelle2").Cells(28, 3).Value = Thisworkbook.Worksheets("Tabelle1").Cells(1, 1).Value
Du musst den Tabellennamen und die Zelle anpassen.
Gruß
Nepumuk
AW: Update speichern
27.02.2023 14:59:08
Daniela
Hallo Nepumuk
Ich habe das Makro nun angepasst, jetzt läuft es so wie ich mir das vorgestellt habe. Den zweiten Teil des Makros
= Thisworkbook.Worksheets("Tabelle1").Cells(1, 1).Value
kannte ich bis anhin noch nicht. Ich musste noch die Tabellen2 und die Tabelle1 mit den richtigen Namen versehen. Jetzt läuft es problemlos.
Vielen herzlichen Dank!
lg Daniela
Anzeige
AW: Update speichern
02.03.2023 07:05:38
Daniela
Hallo Nepumuk
Ich habe noch eine Nachtragsfrage.
Ist es auch möglich die Zielquelle von
oSourceBook.Sheets("Tabelle2").Cells(28, 3)
in der aktuellen Tabelle von

Thisworkbook.Worksheets("Tabelle1").Cells(1, 1)
einzugeben?
z.B. dass ich in der aktuellen Zelle in C29 den Wert eingebe, und nicht den Wert im Makro definieren muss (dann wäre ich flexibler und müsste das Makro nicht immer bearbeiten. Denn im nächsten Jahr müsste die Zelle C30 in der Zieldatei wieder updatet werden.
lg Daniela
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige