Microsoft Excel

Herbers Excel/VBA-Archiv

Probleme mit Makro | Herbers Excel-Forum


Betrifft: Probleme mit Makro von: Agilmar
Geschrieben am: 27.01.2010 09:51:27

Hallo,

nach vielem lesen komm ich alleine nicht mehr weiter und bräuchte Hilfe.

Ich hab alleine ein Makro hinbekomen, dass mir automatisch meine Tabellenblätter benennt und die Datei abspeichert, dabei den Dateinamen aus einer Zelle nimmt.

Nur eigentlich bräuchte ich diese Datei jeweils in einem neuen Ordner, der den gleichen Namen wie die Datei hat.

Zudem arbeiten wir mit Netzlaufwerken, daher müsste die Datei jeweils im aktuellen Netzlaufwerk der jeweiligen Arbeitsgruppe abgespeichert werden. Ich arbeite beispielsweise auf Laufwerk p, Kollegen aber unter b. Wie kann ich das lösen?

Hier mein bisheriges Makro. In Zelle C28, wird der Dateiname zusammengeführt, so dass aus _ verschiedenen Merkmalen eigentlich keine Dupletten entstehen können z.B. GH - Mustermann, Max:

Sub BlattNameausA1()
Dim wks As Worksheet
For Each wks In Worksheets
    wks.Name = wks.Range("A1").Value
Next
ActiveWorkbook.SaveAs Filename:="p:\" & Range("c28").Value
End Sub

  

Betrifft: AW: Probleme mit Makro von: Rudi Maintaire
Geschrieben am: 27.01.2010 10:08:57

Hallo,

Ich arbeite beispielsweise auf Laufwerk p, Kollegen aber unter b. Wie kann ich das lösen?

Indem du den UNC-Pfad verwendest.
\\Servername\Freigabename\Ordner\"
Teste mal:
Sub BlattNameausA1()
  Dim wks As Worksheet
  Const sPfad As String = "\\ServerName\Freigabe\"  'anpassen
  
  For Each wks In Worksheets
      wks.Name = wks.Range("A1").Value
  Next
  If Dir(sPfad & Range("C28"), vbDirectory) = "" Then MkDir (sPfad & Range("C28"))
  ActiveWorkbook.SaveAs Filename:=sPfad & Range("C28") & "\" & Range("C28")
End Sub
Gruß
Rudi


  

Betrifft: AW: Probleme mit Makro von: Agilmar
Geschrieben am: 27.01.2010 10:31:22

...das mit dem anpassen bekomm ich nicht hin, hab jetzt einfach mal p:\ eingegeben... und prompt hat es funktioniert... danke

ich hab irgendwo mal was gesehen, dass er den neuen ordner automatisch dort generiert, in dem verzeichnis sich die "rohdatei" befindet. das würd ja vollkommen genügen. dann bekommen alle in ihr verzeichnis die "rohdatei" und im gleichen verzeichns könnten quasi daneben die neuen ordner entstehen.

ach und ist es auch möglich, dass sich das makro selbst löscht, wenn es ausgeführt ist... sonst geht das generve los mit... "das ist ein makro, muss ich das aktivieren..." hier sind schon ein paar daus... weil das makro würde dann nach dem anlegen der Datei auch nicht mehr benötigt.


  

Betrifft: AW: Probleme mit Makro von: Rudi Maintaire
Geschrieben am: 27.01.2010 11:03:41

Hallo,
zu 1

Sub BlattNameausA1()
  Dim wks As Worksheet, sPfad As String
  sPfad = ActiveWorkbook.Path & "\"
  
  For Each wks In Worksheets
      wks.Name = wks.Range("A1").Value
  Next
  If Dir(sPfad & Range("C28"), vbDirectory) = "" Then MkDir (sPfad & Range("C28"))
  ActiveWorkbook.SaveAs Filename:=sPfad & Range("C28") & "\" & Range("C28")
End Sub

zu 2: Geht, ist aber nicht ganz ohne. Schieb das Makro doch in eine andere Mappe und starte es von der zu konvertierenden Mappe aus. Dann ist die Makrofrei.

Gruß
Rudi


  

Betrifft: AW: Probleme mit Makro von: Agilmar
Geschrieben am: 27.01.2010 11:42:01

vielen dank, das funktioniert

dann werden die eben nach dem ausführen, nochmal zwei klicks machen müssen, um das makro rauszulöschen, ist wohl das einfachste.


  

Betrifft: AW: Probleme mit Makro von: Agilmar
Geschrieben am: 27.01.2010 10:42:58

erst mal Danke für die schnelle Hilfe.
Irgendwie bekomme ich das mit dem Laufwerk nicht hin. Jetzt hab ich mal probeweise p:\ eingegeben und es funktioniert, vielen Dank.

Jetzt hatte ich die spontane idee, weiß nicht ob das machbar ist. es würd ja reichen meinen kollegen, da sind auch ein paar windowskiller dabei, die "rohdatei" schreibgeschützt in das jeweilige zielverzeichnis zu legen. und das makro legt automatisch in das jeweilige verzeichnis den erstellten ordner.
und könnte man das makro so erweiteren, dass es die neue datei gleich schließt und die rohdatei wieder da ist? quasi, dass man die nächste datei anlegen kann?
und kann sich das makro nach dem durchlaufen irgendwie selbst löschen, damit dann später niemand das makro aktivieren muss? will ja keinen kollegen überfordern, die datei muss ca. 200 mal und dann täglich so fünf mal angelegt werden, wenn das alles automatisch ginge, wäre super.
aber erst mal vielen dank