Microsoft Excel

Herbers Excel/VBA-Archiv

Automatische Abarbeitung Liste

Betrifft: Automatische Abarbeitung Liste von: Matthias
Geschrieben am: 10.09.2014 13:50:51

Hallo zusammen

Ich habe in einem Ordner viele Excel-Dateien, z.B.

32200 Matthias Müller.xlsx
44402 Markus meier.xlsx
...

Diesen Ordner habe ich nun via vba in eine Excel-Tabelle eingelesen und zeige sie in der Spalte A untereinander an. In Spalte A1 steht also 32200 Matthias Müller.xlsx. Ab Spalte B habe ich die Werte auseinander genommen, Spalte B = 32200, Spalte C = Matthias, Spalte D Müller. In einer Spalte E habe ich eine "neue Nummer".

Alle diese Excel-Dateien enthalten in der Spalte K3 dieselbe Nummer wie die vom Dateinamen. (Wenn ich die Datei "32200 Matthias Müller.xlsx öffne, steht in der Zeile K3 "32200"). Diese Nummer möchte ich nun bei sämtlichen Dateien ändern.

Ich möchte also automatisch sämtliche Dateien öffnen lassen, in K3 einen neuen Wert einfügen (steht im Excel in der Spalte E), die Datei schliessen und dann die Datei umbenennen = xxxxx (neue Nummer) Matthias Müller.xls.

Kann mich jemand unterstützen?

Merci viemal! :)

  

Betrifft: AW: Automatische Abarbeitung Liste von: yummi
Geschrieben am: 10.09.2014 14:30:45

Hallo Matthias,

ich durchblick deien Beschreibung nicht so ganz.
wenn du einen WErt in eienm String ändern willst gibt es die Funktion replace
Wenn du die die Datei dann umbenennen willst

Public Sub umbenennen()
Dim strpath As String
    strpath = ThisWorkbook.path
Name strpath & "\A1.xlsx" As strpath & "\B1.xlsx"
End Sub
Den neuen Namen kannst Du ja aus deinen WErten zusammen setzen
Gruß
yummi


  

Betrifft: AW: Automatische Abarbeitung Liste von: Matthias
Geschrieben am: 10.09.2014 14:36:18

Ich benötige ein VBA Script mit dem ich batchmässig sämtliche Dateien in einem Ordner öffne, in einer Spalte einen bestimmten Wert eintrage, die Datei speichere, schliesse und dann noch umbenenne.


  

Betrifft: AW: Automatische Abarbeitung Liste von: yummi
Geschrieben am: 10.09.2014 14:45:09

Hallo Matthias,

wenn du mal hier im Form suchst findest du so etwas:


Sub OpenWkb()
   Dim sFile As String, sPath As String
   Application.ScreenUpdating = False
   sPath = Thisworkbook.path
   If Right(sPath, 1) <> "/" Then
      sPath = sPath & "\"
   End If
   sFile = Dir(sPath & "*.xls")
   Do While sFile <> ""
      Workbooks.Open sPath & sFile
      sFile = Dir()
   Loop
   Application.ScreenUpdating = True
End Sub
Das öffnet dir sämtliche xls Dateien in einem Ordner.
Den geb ich dir noch
Ansonsten bin ich raus, der Ton macht die Musik

Gruß
yummi


  

Betrifft: / vs \ von: Rudi Maintaire
Geschrieben am: 10.09.2014 15:33:49

Hallo,
Augen auf!

   If Right(sPath, 1) <> "/" Then
      sPath = sPath & "\"
   End If



  

Betrifft: / vs \ von: Rudi Maintaire
Geschrieben am: 10.09.2014 15:34:38

Hallo,
Augen auf!

   If Right(sPath, 1) <> "/" Then
      sPath = sPath & "\"
   End If



  

Betrifft: AW: Automatische Abarbeitung Liste von: Rudi Maintaire
Geschrieben am: 10.09.2014 14:57:24

Hallo,
teste mal.

Sub aaa()
  Dim rngC As Range, strNeu As String, strAlt As String
  Dim wkb As Workbook
  Const sPfad As String = "c:\test\"
  With Sheets(1)
    For Each rngC In .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp))
      strNeu = CStr(rngC.Offset(, 4))
      Set wkb = Workbooks.Open(sPfad & rngC)
      With wkb.Sheets(1).Range("K3")
        strAlt = CStr(.Value)
        .Value = strNeu
      End With
      wkb.Close True
      Name sPfad & rngC As sPfad & Replace(rngC, strAlt, strNeu)
    Next
  End With
End Sub
Gruß
Rudi


  

Betrifft: AW: Automatische Abarbeitung Liste von: Matthias
Geschrieben am: 10.09.2014 15:22:47

Vielen herzlichen Dank euch beiden. Rudi, du hast es genau getroffen!
Liebe Grüsse Matthias


 

Beiträge aus den Excel-Beispielen zum Thema "Automatische Abarbeitung Liste"