Spalten einer Excel sortieren mit Hilfe von Batch
Hallo Forum,
da ich hier schon häufiger auf schnelle und gute hilfe getroffen bin frage ich euch wiedermal um Hilfe.
Ich hab schon google gequält aber das hat mir nicht wirklich die Lösung gebgeben.
Hier mal das was ich vorhabe.
Ich exportiere eine .xls aus einem Programm und habe hier die Sortierung nach Spalte "A" (Zahlen)
Es sind 3 Spalten mit Überschrift und sortiert werden soll nach Spalte "B".
aktueller Stand
Das hier habe ich gefunden aber wenn der nächste Export kommt, (kommt jeden tag) ist logischerweise alles wieder weg.
Option Explicit
Private Sub Workbook_Open()
Dim Sortierspalte As String
Dim Bereich As String
Bereich = "A2:C300"
Sortierspalte = "B"
ActiveSheet.Range(Bereich).Sort Key1:=Range(Sortierspalte & "1"), Order1:=xlAscending, Header:=xlGuess, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
offene Fragen
Aus dem Programm, das die .xls exportiert aknn ich noch nach abschluss eine .bat ausführen lassen.
Wie bekomme ich es hin, daß eine "sortieren.xls" durch eine "sortieren.bat" geöffnet wird?
Wie muss der Code genau aussehen, dass durch die öffnung der "sortieren.bat" die "sortierung.xls"
startet, die "exportierte.xls" sortiert nach Spalte "B" und wieder geschlossen wird?
Wenn ihr mir helfen könnt bei den 2 Fragen, dann wäre ich euch sehr dankbar.
Gruß Underdog81
da ich hier schon häufiger auf schnelle und gute hilfe getroffen bin frage ich euch wiedermal um Hilfe.
Ich hab schon google gequält aber das hat mir nicht wirklich die Lösung gebgeben.
Hier mal das was ich vorhabe.
Ich exportiere eine .xls aus einem Programm und habe hier die Sortierung nach Spalte "A" (Zahlen)
Es sind 3 Spalten mit Überschrift und sortiert werden soll nach Spalte "B".
aktueller Stand
Das hier habe ich gefunden aber wenn der nächste Export kommt, (kommt jeden tag) ist logischerweise alles wieder weg.
Option Explicit
Private Sub Workbook_Open()
Dim Sortierspalte As String
Dim Bereich As String
Bereich = "A2:C300"
Sortierspalte = "B"
ActiveSheet.Range(Bereich).Sort Key1:=Range(Sortierspalte & "1"), Order1:=xlAscending, Header:=xlGuess, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
offene Fragen
Aus dem Programm, das die .xls exportiert aknn ich noch nach abschluss eine .bat ausführen lassen.
Wie bekomme ich es hin, daß eine "sortieren.xls" durch eine "sortieren.bat" geöffnet wird?
Wie muss der Code genau aussehen, dass durch die öffnung der "sortieren.bat" die "sortierung.xls"
startet, die "exportierte.xls" sortiert nach Spalte "B" und wieder geschlossen wird?
Wenn ihr mir helfen könnt bei den 2 Fragen, dann wäre ich euch sehr dankbar.
Gruß Underdog81
Please also mark the comments that contributed to the solution of the article
Content-ID: 194948
Url: https://administrator.de/contentid/194948
Printed on: October 7, 2024 at 03:10 o'clock
14 Comments
Latest comment
Hi,
sehe ich das richtig, dass du schon den fertigen funktionieren Sortiercode hast, und nur noch mit dem Aufruf des kleinen Sortiermacros in einer batch hängst ?
Grüße
Exze
sehe ich das richtig, dass du schon den fertigen funktionieren Sortiercode hast, und nur noch mit dem Aufruf des kleinen Sortiermacros in einer batch hängst ?
Grüße
Exze
Hi,
gibt ne genauere Beschreibung des Fehlers "er meckert wegen der Zeile hier im Code"?
ok mir würde jetzt spontan dazu einfallen, dass du hier:
das "ActiveSheet" durch den tatsächlichen Namen ersetzt.
Sorry zum Sortieren kenne ich mich leider nicht aus, habbisher nur wenig in der Richtung gebraucht.
Grüße
Exze
gibt ne genauere Beschreibung des Fehlers "er meckert wegen der Zeile hier im Code"?
ok mir würde jetzt spontan dazu einfallen, dass du hier:
ActiveSheet.Range(Bereich).Sort Key1:=Range(Sortierspalte & "1"), Order1:=xlAscending, Header:=xlGuess, MatchCase:=False, Orientation:=xlTopToBottom
Sorry zum Sortieren kenne ich mich leider nicht aus, habbisher nur wenig in der Richtung gebraucht.
Grüße
Exze
Hi,
was bringt er dir denn für eine Fehlermeldung wenn man fragen darf ?
Grüße
Exze
was bringt er dir denn für eine Fehlermeldung wenn man fragen darf ?
Grüße
Exze
Hi,
Dann muss was mit der Syntax nicht stimmen ...
d.h. ich schau was ich über die Syntax von dem Befehl finde und du schaust ob du irgendwelche Fehler drin erkennen kannst ;)
Am Besten wäre es natürlich wenn du mir sagen könntest, wo du den Code Schnipsel her hast.
Grüße
Exze
Dann muss was mit der Syntax nicht stimmen ...
d.h. ich schau was ich über die Syntax von dem Befehl finde und du schaust ob du irgendwelche Fehler drin erkennen kannst ;)
Am Besten wäre es natürlich wenn du mir sagen könntest, wo du den Code Schnipsel her hast.
Grüße
Exze
Das hatte ich gemeint vorhin ;)
setzte statt "ActiveSheet" den Namen des Workbooks ein (zu finden : Excel unten die drei Reiter normalerweise benannt mit "Tabelle1", "Tabelle2", "Tabelle3"
setzte statt "ActiveSheet" den Namen des Workbooks ein (zu finden : Excel unten die drei Reiter normalerweise benannt mit "Tabelle1", "Tabelle2", "Tabelle3"
Hallo,
Und bitte nutze Code - Tags hier wenn du Quellcode für uns lesbar darstellen willst. Wie? Siehe Formatting instructions in the posts
Und bedenke das dein
Wie gesagt es kann auch anders verstanden werden. Du hast ein Problem. Du willst hilfe. Wir lesen nur das was hier steht. Wir sind sozusagen Blind und Taub und haben keine ahnung wovon du redest udn was dein Wissenstand oder Fähigkeiten sind.
Nur irgendwo ein Codeschnipsel zu kopieren ist einfach. Diesen dann aber auch korrekt Anzuwenden erfordert schon mehr können als nur zu "Gutenbergen"
Gruß,
Peter
Zitat von @Underdog81:
das seltsame ist doch auch, wenn ich den Code in die Datei selber einfüge geht alles ohne Probleme.
Nein, nicht seltsam sondern so gewollt.das seltsame ist doch auch, wenn ich den Code in die Datei selber einfüge geht alles ohne Probleme.
Nur wenn ich den Code aus der anderen Datei ausführe um die exportieren.xls zu bearbeitern meckert er.
Klar, auch das ist so gewollt und somit kein Fehler.Muss also irendwas noch geändert werden, daß er erkennt in welcher Datei er arbeitern soll.
Ja. Lass dir den Begriff "Activesheet" mal in seine Bestandteile zerlegen und übersetzen. Was bedeutet es dann? Richtig "Aktives Tabellenblatt". Was ist ein "Aktives tabellenblatt"? Nun, das welches gerade im Momemt den Fokus (Aktiv) hat. ist deine andere Excel Arbeitsmappe und die darin enthaltenen Blätter hiermit gemeint? Nein. Somit ist es kein Fehler von Excel, sondern von dir. Du musst dem VBA auch sagen welche Excelmappe und welches darin enthalten Tabellenblatt du meinst. Dann klappt auch das Sortieren der Daten in "export.slx" aus deiner "sortieren.xls" heraus. Wie du den Aufruf dann richtig machst sagt dir die Suchmaschine deiner Wahl oder die F1 Taste deiner Tastatur oder mal ein Makro Aufzeichen und dann anschauen.Und bitte nutze Code - Tags hier wenn du Quellcode für uns lesbar darstellen willst. Wie? Siehe Formatting instructions in the posts
Und bedenke das dein
und er meckert wegen der Zeile hier im Code
auch so aufgefasst werden kann: "Sucht die Fehlermeldung selbst heraus oder was ich als Meckern bezeichne, ich sage es euch nicht. Das müsst ihr schon selbst herausbekommen wenn ihr mir helfen wollt".Wie gesagt es kann auch anders verstanden werden. Du hast ein Problem. Du willst hilfe. Wir lesen nur das was hier steht. Wir sind sozusagen Blind und Taub und haben keine ahnung wovon du redest udn was dein Wissenstand oder Fähigkeiten sind.
Nur irgendwo ein Codeschnipsel zu kopieren ist einfach. Diesen dann aber auch korrekt Anzuwenden erfordert schon mehr können als nur zu "Gutenbergen"
Gruß,
Peter
Hi,
danke Pjordorf.
Trau mich immer net so grob zu sein
Grüße
Exze
danke Pjordorf.
Trau mich immer net so grob zu sein
Grüße
Exze
Hey Underdog81
Kein problem ;)
die nötige Formatierung sieht wie folgt aus
du schreibst einfach < CODE > und am Ende von deinem Code < /Code > (ohne Leerzeichen)
Achja und nicht vergessen auf gelöst zu klicken ;)
Grüße
Exze
Kein problem ;)
die nötige Formatierung sieht wie folgt aus
du schreibst einfach < CODE > und am Ende von deinem Code < /Code > (ohne Leerzeichen)
Achja und nicht vergessen auf gelöst zu klicken ;)
Grüße
Exze