Suchergebnisse

Suchergebnisse 1-30 von insgesamt 63.

  • Benutzer-Avatarbild

    Super Ich Danke Dir für die schnelle Hilfe.

  • Benutzer-Avatarbild

    Guten Tag,ich habe folgenden Code mit SAP Script aufgezeichnet, mit dem ich eine SAP Transaktion steuern und abändern kann. In der SAP Transaktion kann die zu bearbeitende Stelle an 20 unterschiedlichen Positionen stehen.Daher lese ich im Vorfeld die Transaktion aus. Diese wird mit einem Zähler festgehalten und kann entsprechend von Zähler = 1 bis Zähler = 20 hoch sein. Im 2. Schritt kommt dieses Script dann zur Anwendung.Aktuell habe ich das Script 20x hintereinander kopiert. Der einzige Unters…

  • Benutzer-Avatarbild

    Ja, genau das ist eben das Problem und wird auch immer in den anderen Chats zu diesem Problem gepostet. Ich habe schon mal in den Einstellungen von SAP gesucht, aber nichts gefunden. Ich werde das Problem wohl mit mehreren Befehlsschaltflächen umgehen müssen. Sind dann 2 zusätzliche, weil ich 2x einen SAP Extrakt ziehen muss.

  • Benutzer-Avatarbild

    Ich habe überall in meinem Code mit Deine Vorschlag ergänzt. --> Windows("Reservierungen.xlsx").Close SaveChanges:=False Aber das ist und kann auch nicht das Problem sein! Denn es kommt ja keine Fehlermeldung, sondern das Makro hält einfach nur an, weil sich unerwartet während des Programmlaufes eine Excel Datei öffnet, die nicht vom laufenden Makro heraus geöffnet wird, sondern von SAP.

  • Benutzer-Avatarbild

    Scheint dann wirklich keine Lösung für dieses Problem zu geben! Daher findet man im Netz auch nichts.

  • Benutzer-Avatarbild

    Zitat von petaod: „Was ist Reservierungen.xlsx? Es kann nicht das Workbook sein, das den Code beinhaltet.“Ja genau, es ist nicht das Workbook mit dem Makro, sondern die mit Hilfe des Makros erstellte Excel Datei aus dem SAP. Auf die Endung .xlsx habe ich keine Einfluss. Die vergibt SAP automatisch, wenn ich angebe, das eine Tabellenkalkulation erstellt werden soll. Den Code bis Zeile 30 habe ich übrigens mit dem GUI Recorder aus SAP aufgenommen. Das eigentliche Problem ist ja nur das verhalten v…

  • Benutzer-Avatarbild

    Ich habe ein Problem, das einige User im Netz auch haben, aber ich habe dafür noch keine Lösung gefunden. Ich möchte mit VB (EXCEL) einen SAP Extrakt automatisch mit Hilfe von GUI extraieren. Der Extrakt soll wieder eine Excel Datei sein. Das ganze funktioniert mit folgendem Code einwandfrei. Es gibt nur ein problemchen. Die neu extraierte Excel Datei wird immer automatisch geöffnet. Dadurch bleibt das eigentliche Makro immer in Zeile 32 stehen und kann nur manuell wieder gestartet werden. Wie k…

  • Benutzer-Avatarbild

    Ja, den Unterschied kenne ich. Unter Eigenschaften im VB Explorer kann ich den Objektnamen ändern. In Zukunft werde ich dort direkt den gewünschten Namen vergeben, dann kann ich mir das mit dem Dim Tabelle_xy as Worksheet sparen.

  • Benutzer-Avatarbild

    Vielen Dank petaod jetzt habe ich es endlich verstanden. Ich muss mich ab jetzt mit der Deklarierung der Variablen und welche Informationen sich hinter den Formaten verstecken, viel mehr beschäftigen. Das ich nicht extra die Tabelle1 als Variable deklarieren muss ist etwas was selbst ich weiss. Ich habe halt einfach nen Teil aus dem ganzen Programm kopiert und daduch ist es mit drin gewesen. Ich mache es aber sonst auch gerne wegen der Übersicht. Denn normalerweise heißen die Tabellenblätter nic…

  • Benutzer-Avatarbild

    Aber dann kann ich das Array auch kompl. weg lassen uns es standartmäßig so programmieren. Ist bei 1500 Zeilen genau so schnell wie die andere Variante. Ich erkenne dann keinen Vorteil mehr etwas im Array zu programmieren. Visual Basic-Quellcode (16 Zeilen)

  • Benutzer-Avatarbild

    Ich glaube ich bringe es falsch rüber was ich meine. Wenn ich den folgenden Code mit F8 durchgehe, dann geht das Programm zuerst die kompl. If Schleife durch, aber ohne jedesmal den Zelleinhalt bei beim Zutreffen der Bedingung von A nach B zu kopieren. Das macht er Einmalig erst in Zeile 23. Wenn ich dann wie gesagt die auskommentierten Zeilen also 4 durch 5; 11 durch 12; 17 durch 18 ersetze, dann kopiert er bereits in der If Schleife die Werte von A nach B, wenn die Bedingung zutrifft. Visual B…

  • Benutzer-Avatarbild

    An dieser Stelle schreibt er die zwischengespeicherten Zelleninhalte von Spalte A in einem Schritt vom Array zurück in Spalte B. Wenn ich diese Zeile weg lasse passiert garnichts.

  • Benutzer-Avatarbild

    Hallo petaod, in diesem Fall hast Du natürlich Recht. In Wirklichkeit ist die If Bedingung aber eine andere, denn es werden über zwei Tabellen Werte miteinander verglichen und es darf natürlich nicht jeder Wert zurück gegeben werden. Ich hatte dieses Beispiel so einfach wie möglixch gewählt. Ich hätte in Zeile 16 auch schreiben können Visual Basic-Quellcode (1 Zeile) Das Programm soll die If Schleife durchlaufen, und die entsprechenden Zellen einmalig als Kopie ausgeben. Lg Wolfgang

  • Benutzer-Avatarbild

    Ich komme hier einfach nicht weiter... Der folgende Code funktioniert. Der Inhalt der Spalte A wird nach Spalte B kopiert. Und zwar alles auf einmal. Ich möchte aber, das auch die Zelleninformation (Sprich Zellenfarbe etc: mit kopiert wird. Daher wollte ich es als Range Array schreiben. Wenn ich also folgende Zeilen tausche 4 mit 5; 11 mit 12; 17 mit 18. Dann kopiert er mir in der Schleife jede Zeile einzeln und löscht nach der Schleife alles. Was mache ich falsch oder geht das gar nicht? Visual…

  • Benutzer-Avatarbild

    OK habe ich verstanden. Mir ist aufgefallen, das ein Variant Array viel schneller ist, als ein Code ohne Array. (Siehe Code von gestern) Dagegen ist ein Range Array nicht schneller als ein Code ohne Array, das hatte ich ja bereits mit meinem Code und Deinem Code getestet. Bedeutet für mich, wenn ich nur den Zellenwert kopieren möchte, dann macht ein Variant Array im Code Sinn. Wenn ich dagegen mit Zelleninformationen arbeiten möchte, dann ist es egal ob ich ein Range Array mit in den Code progra…

  • Benutzer-Avatarbild

    Hallo Henry, vielen Dank, genau das war das Problem! Ich hoffe ich darf Dir noch ein paar Verständnisfragen stellen. Wieso muss das Arr2 als Range und darf nicht als Variant deklariert werden? Bisher habe ich die Arrays immer mit einer Klammer als Variant deklariert. Also z.B. Dim Arr2() Dann hatte ich im Direktbereich immer so etwas stehen wie Arr2 : Variant(1 to 193, 1 to 10) Was mich wundert, das das Programm so wie ich es vorher geschrieben hatte ca. 5 sec. läuft und jetzt ca. 20 sec. Bitte …

  • Benutzer-Avatarbild

    Hallo Henry erst einmal vielen Dank für Deine schnelle Hilfe. Ich bin leider erst jetzt dazu gekommen Deinen Code aus zu probieren. Er funktioniert auch bis auf eine Kleinigkeit. Er löscht mir an dieser Stelle immer 4 Zeilen über der eigentlichen (j) Zeile. Visual Basic-Quellcode (1 Zeile) Wenn man den Code mit F8 durchgeht, dann sieht man das die erste Übereinstimmung im Direktbereich bei j5 ist . Das ist Zeile 7 in Tabelle2 Er löscht mir dann aber in Tabelle2 nicht Zeile 7 sondern Zeile 3. P.S…

  • Benutzer-Avatarbild

    In der Angehängten Datei habe ich mit Sub Status_1 ein Programm geschrieben, was die SN: Nr. aus Spalte F & den Status Spalte I vom Blatt "geplante Analysatoren (2)" ins Blatt "geplante Analysatoren" überträgt. Und zwar dann wenn die Artikel Nr. Spalte D der beiden Blätter übereinstimmen. Bei Übereinstimmung wird die SN: Nr. ohne Formatierung und der Status mit Formatierung kopiert. Gleichzeitig wird die betroffene Zeile aus Blatt "geplante Analysatoren (2)" gelöscht. Das Programm funktioniert e…

  • Benutzer-Avatarbild

    Hallo petaod & Marcus Ich Danke Euch. Ich habe die Antworten erst jetzt gelesen, weil ich das Problem andders gelöst hatte. Habe aber jetzt Eure Methoden angewendet. Finde ich super so. Lg Wolfgang

  • Benutzer-Avatarbild

    Dank Dir petaod. Klappt jetzt auch bei mir.

  • Benutzer-Avatarbild

    Ich habe die beiden untenstehenden Codes ausprobiert. Ich habe es auch mit einer alten .xls Datei ausprobiet. In beiden Fällen verhält es sich gleich. Es erscheint das Fenster (Siehe Anhang) wo ich aufgefordert werde das Passwort händisch ein zu geben. Das soll aber das Programm machen. Visual Basic-Quellcode (1 Zeile) Bei diesem Code bekomme ich die Fehlermeldung "Objekt erforderlich" Visual Basic-Quellcode (1 Zeile) Lg Wolfgang

  • Benutzer-Avatarbild

    *Beiträge aus Excel Arbeismappe öffnen automatische Passwort eingabe ausgelagert* ~NoFear23m Hallo Thomas2000 ich stehe vor dem gleichen Problem und habe Deinen Code verwendet. Bei mir öffnet er die Datei nicht direkt, sondern ich muss das Passwort nach wie vor per Hand eingeben. Meine Datei hat allerdings die nicht die alte .xls Endung sondern hat das neue Format ab 2007 und hat die Endung .xlsm (Also mit Makro) Kann es daran liegen und wenn ja, wie müsste ich Deinen Code für das neue Format um…

  • Benutzer-Avatarbild

    Hallo, folgende Befehlszeile funktioniert um beispielsweise einen Bereich A2 bis Ende K fest zu legen. Visual Basic-Quellcode (1 Zeile) Ich möchte aber das Spalte I nich mit in den kompl. Bereich kommt. Bedeutet ich müsste 2 Bereiche festlegen, wenn ich es in einem Schritt machen möchte. Also von A2 bis Ende H und von J2 bis Ende K Ich könnte jetzt natürlich die folgenden 2 Zeilen schreiben. Aber ich möchte es mit einer Befehlszeile hin bekommen. Visual Basic-Quellcode (2 Zeilen) Die folgenden 3…

  • Benutzer-Avatarbild

    Hallo petaod, das war genau die einfache Lösung die ich wollte. Ich hatte es sogar im Vorfeld ausprobiert, aber anscheinend falsch umgesetzt. Jetzt funktioniert es. Dir auch vielen Dank Murdoc. Deine Lösung würde natürlich auch funzen.... Lg Wolfgang

  • Benutzer-Avatarbild

    OK probiere ich aus. PS: Der Plural von "Status" ist "Status" (ausgeprochen wird der Plural mit einem langem u) :whistling:[/quote] Das weiß ich, aber es schreibt sich einfach blöd.

  • Benutzer-Avatarbild

    Guten Tag, ich habe in Spalte I mehrere Status / Stati stehen. In Arbeit Frei In Prüfung Gebucht Geliefert Diese können mehrfach vorkommen. Ich möchte die Spalte I nach eigenen Kriterien sortieren. Von oben nach unten soll die Spalte I nachfolgend sortieret werden 1. alle "Geliefert" 2. alle "Gebucht" 3. alle "In Prüfung" 4. alle "In Arbeit" 5. alle "Frei" Ich möchte also die am weitesten fortgeschrittenen Stati am weitesten oben stehen haben. Wie ich einen Autofilter programmiere, der nach Datu…

  • Benutzer-Avatarbild

    Habe ich gemacht. Jede With Schleife dauert ziemlich genau doppelt so lange.

  • Benutzer-Avatarbild

    Hey super funktioniert und ich war so nah dran. Hatte in Zeile 104 auch mal folgenden Code ausprobiert. Visual Basic-Quellcode (1 Zeile) Eine Frage noch! Durch die Ladebalken verlangsamt sich das Programm ziemlich, weil das Programm natürlich zusätzliche Rechenoperationen machen muss. Es gibt wahrscheinlich keine Möglichkeit einen Ladebalken zu integrieren, der das Programm nicht verlangsamt. Oder? Ich frage deshalb weil beim installieren von Programmen z.B. unter Windows die Programmierer auch …

  • Benutzer-Avatarbild

    Im Anhang ein kleiner Teil meines Programmes (2 Schleifen) was in Wirklichkeit aus ca. 10 Schleifen besteht. Da das Programm in Wirklichkeit sehr lange läuft möchte ich den Fortschritt anhand von zwei Ladebalken sehen. Im oberen Ladebalken soll immer die aktuelle Schleife von 0 % bis 100 % angezeigt werden. Im unteren Ladebalken soll der % Stand des kompl. Programmes angezeigt werden. Das funktioniert auch alles bis auf die % Anzeige im unteren Ladebalken. Der untere Ladebalken fängt in der 1. S…

  • Benutzer-Avatarbild

    Ich meinte nicht i sondern die Spaltenzahl nach i. Also i, 1 ist normalerweise Zeile1 (wenn von 1 to 100) und 1 gibt Spalte A an. In diesem Fall ist 1 aber Spalte B.