Autor
|
Thema: Makro für Dateibenunng und speichern (1825 mal gelesen)
|
röhmler Mitglied Sachbearbeiter techn. Dokumentation
Beiträge: 414 Registriert: 17.02.2004 AutoCAD Mechanical 2014
|
erstellt am: 28. Jun. 2012 16:15 <-- editieren / zitieren --> Unities abgeben:
Hallo, ist es ein großer Aufwand um ein Makro zu schreiben für folgenden Vorgang: Unser Endkunde möchte, dass seine Stücklisten unter seiner Namensgebung abgespeichert werden. So lange ich aber daran arbeite speichere ich die Stülis unter unserem namen ab um sie schneller zu finden. Nachteil: Wenn an die 50 Stülis hast, mußt in jede rein gehn, die Kundennummer kopieren und noch die anderen Attribute hinzu fügen. Beispiel: Zelle G3 und H3 wurden verbunden und darin steht die K-Nummer: 6 323 974 Die Datei soll dann so abgespeichert werden: F_6323974_099_a_120509.xls Gibt`s eine schnelle "nicht" aufwendige Lösung? DANKE mal Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 29. Jun. 2012 08:42 <-- editieren / zitieren --> Unities abgeben: Nur für röhmler
Hallo, Zitat: ist es ein großer Aufwand um ein Makro zu schreiben für folgenden Vorgang:
Nein, eher gering, schätze ich, wenn's um das reine Speichern unter geht. Zitat: Gibt`s eine schnelle "nicht" aufwendige Lösung?
Ja. Und vermutlich willst Du sie auch wissen, oder ? Guck mal bei Google, "Save as". Nachteil: Alle Deine Dateien würden bei einer "schnellen" Lösung den Code selbst enthalte, Kollegen und Du müssten sich intern auf Sicherheitseinstellungen für Makros einigen, Versand der Dateien wird ebenfalls schwierig, weil der Empfänger nun auch Makros bekommt, Dateiendung .xlsm (in 2007 oder 2010). Mit etwas mehr Aufwand lässt sich das evtl. "von außen" lösen, also Code in einer (zentralen) Mappe und nicht in den einzelnen Files. Kannst Du die Attribute möglicherweise in einer popeligen Textdatei verwalten? Händische Fließbandarbeit bleibt dann wohl nicht aus... Wie ist Dein Kenntnisstand bezüglich VBA? ------------------ DIN1055.de | Lastannahmen für Anwender Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
röhmler Mitglied Sachbearbeiter techn. Dokumentation
Beiträge: 414 Registriert: 17.02.2004 AutoCAD Mechanical 2014
|
erstellt am: 29. Jun. 2012 09:00 <-- editieren / zitieren --> Unities abgeben:
|
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 29. Jun. 2012 11:59 <-- editieren / zitieren --> Unities abgeben: Nur für röhmler
|
röhmler Mitglied Sachbearbeiter techn. Dokumentation
Beiträge: 414 Registriert: 17.02.2004 AutoCAD Mechanical 2014
|
erstellt am: 29. Jun. 2012 12:03 <-- editieren / zitieren --> Unities abgeben:
|
röhmler Mitglied Sachbearbeiter techn. Dokumentation
Beiträge: 414 Registriert: 17.02.2004 AutoCAD Mechanical 2014
|
erstellt am: 10. Jul. 2012 12:57 <-- editieren / zitieren --> Unities abgeben:
|
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 10. Jul. 2012 13:34 <-- editieren / zitieren --> Unities abgeben: Nur für röhmler
Huhu, klar darfst Du nach Lösungen fragen, aber ein bisschen engagieren darfst Du Dich selbst schon auch ! Fang' mal mit einem einfachen Makro an: Starte den Recorder, speichere die aktuelle Datei unter einem (anderen) Namen, und beende die Aufzeichnung. Dann drückst Du Alt+F11, um in die VBA-IDE zu gelangen. Dort findest Du ein Modul1, dass etwas Code enthält. Den Dateinamen kannst Du Dir entweder in Excel oder in VBA zusammenbauen. Möglicherweise geht es in Excel schneller mit Textfunktionenen Links, Rechts, Teil, Glätten. Diese Zelle liest Du aus und verwendest die Zeichenkette als Dateinamen. Wenn Du eine Beispielmappe hochlädst, hast Du hier vielleicht mehr Erfolg. ------------------ DIN1055.de | Lastannahmen für Anwender Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
röhmler Mitglied Sachbearbeiter techn. Dokumentation
Beiträge: 414 Registriert: 17.02.2004 AutoCAD Mechanical 2014
|
erstellt am: 10. Jul. 2012 16:31 <-- editieren / zitieren --> Unities abgeben:
Sub Makro1() ' ' Makro1 Makro ' Makro am 10.07.2012 ' ' Dim Dateiname As String Dim teil1 As String Dim teil2 As String teil1 = "F_" teil2 = "_099_a_120509" Range("G3").Select Selection.Copy Workbooks.Add Range("H7").Select ActiveSheet.Paste Range("H7").Select Cells.Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:= _ xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Range("H7").Select Application.CutCopyMode = False Selection.Copy Dateiname = teil1 & Range("H7") & teil2 Application.DisplayAlerts = False ActiveWindow.Close Application.DisplayAlerts = True ' Range("H9").Select 'ActiveSheet.Paste 'Dim Dateiname As String 'Dateiname basteln - Jahr Monat Tag ' Dateiname = Range("H9") 'Dialog "Speichern unter" aufrufen und Dateinamen vorgeben Application.Dialogs(xlDialogSaveAs).Show Dateiname End Sub Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 10. Jul. 2012 17:20 <-- editieren / zitieren --> Unities abgeben: Nur für röhmler
Na, ist doch gar nicht mal sooo übel für den Anfang - die angehängte Mappe habe ich wohl übersehen SCNR?Auf die Schnelle zum Feierabend:
Zitat: Zelle G3 und H3 wurden verbunden und darin steht die K-Nummer: 6 323 974 Die Datei soll dann so abgespeichert werden: F_6323974_099_a_120509.xls
Kriegst Du das auch ohne Verbinden hin? Ist einfach leichter auszulesen. Guck' Dir mal Trim, LTrim, RTrim in VBA an. Dateiname = "F_" & teil1 & teil2 'als Beispiel für Verkettung von Zeichen Und dann ist da noch die Sache mit dem Select ;-). ------------------ DIN1055.de | Lastannahmen für Anwender Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
röhmler Mitglied Sachbearbeiter techn. Dokumentation
Beiträge: 414 Registriert: 17.02.2004 AutoCAD Mechanical 2014
|
erstellt am: 11. Jul. 2012 07:11 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, das makro ist von einem Kollegen, da ich absolut Anfänger bin und mit den ganzen Befehlen und Trallala nichts anfangen kann. Liebend gern würd ich einen Grundkurs mal machen, damit ich weiss was ich mache. Die Zeit, selber dahinter zu kommen kann ich mir nicht nehmen hier. Aber ich denke es wäre die beste lernmethode - Learning by doing und dann müßte ich dran bleiben um das Erlernte nicht zu vergessen. Es gibt einen Kurs der sich: VBA Grundlagen mit Produktübergreifendem Programmieren unter Office nennt - wäre dies ein Anfang? Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 11. Jul. 2012 09:15 <-- editieren / zitieren --> Unities abgeben: Nur für röhmler
|