Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
984to988
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro "Probleme"

Makro "Probleme"
20.06.2008 12:33:00
Alex
Hallo alle zusammen!
Ich habe einen Makro. Wenn ich ihm starte, kommt ein UserForm mit Spredsheet.
In diesen Spreadshest kopiere ich einfach eine Tabelle aus einem Excelblatt.... befülle die und kopiere sie dann zurück! also ganz normales VBA Code, funktioniert "ohne" Problemen bei mir audm Laptop.
Jedoch am Arbeit-PC habe ich folgende Probleme:
1. sobald ich meinen Makro dort starte, kommt eine Meldung "SAP Front 7.10 PL5 wird installiert...".
Wenn ich ein paar mal auf Cancel klicke, geht das weg und der Makro läuft ohne irgeneinen Problemen!!!
Ich verstehe allerdings nicht was hat SAP mit meinen Makro zu tun!?!? vor allem warum kommt das nur beim Makro-Start!!?!?
2. wie schon gesagt, ich kopiere immer eine Tabelle ins Spreadsheet. Die Werte in der Tabelle sind bereits als Prozentwerte formatiert. Gebe ich also 5 ein - kommt 5% raus. ABER! gebe ich -5 ein - bekomme ich - 500% !?!? hat jemand Idee warum das passiert!?!?
ich hab mir schon überlegt eine Ereigniss zu schreiben, die bei der Werten-Eingabe im Spreadsheet gestartet wird und den eingegebene Wert durch 100 dividiert (falls "-" vorne steht)... Vielleicht hat jemnad von Euch etwas ähnliches bereits gemacht oder gibt mir einfach ein paar Tipps wie ich das programmieren könnte!
Viel Dank im Voraus!!!!!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro "Probleme"
20.06.2008 13:01:13
Alex
ich bins noch mal....
habe folgendes für Problem 2 versucht:

Private Sub sps_EF_Input_SheetChange(ByVal Sh As OWC11.Worksheet, ByVal Target As OWC11.Range)
If Target.Value 


Habe allerdings andere Probleme dann:
1. da ich eine Tabelle ins Spreadsheet reinkopiere, kommt es zur Fehlermeldung "Nicht genug Speicher", was auch verständlich ist...
2. wenn ich aber das Reinkopieren ausschalte, um zu testen, ob das überhaupt funktionieren würde, dann habe ich merkwürdigerweise bei der Eingabe -100 "-0,0001" (statt -1) stehen. und jedes mal wenn ich drauf klicke, ohne etwas zu verändern, wird der Wert weiter dividiert....
ich hab keine Ahnung von VBA.... ich brauche Eure Hilfe!!!!!!!!

Anzeige
zu 2
20.06.2008 15:20:00
Reinhard
Hi Alex,
probiers mal so:

Private Sub sps_EF_Input_SheetChange(ByVal Sh As OWC11.Worksheet, ByVal Target As OWC11.Range)
Application.EnableEvents = False
If Target.Value 


Wenn das nix hilft dann probiere es mal so:


Private Sub sps_EF_Input_SheetChange(ByVal Sh As OWC11.Worksheet, ByVal Target As OWC11.Range)
If Nein = True Then Exit Sub
Nein = True
If Target.Value 


Dazu muß aber oben in einem Standardmodul (meist Modul1) folgendes stehen:
Option Explicit
Public Nein As Boolean
Gruß
Reinhard

Anzeige
AW: zu 2
20.06.2008 17:40:35
Alex
Hallo Reinhard!
also die Idee mit EnableEvents is super! Ich habe sie allerdings bevor Kopieren der Tabelle ins Spreadsheet auf FALSE und danach auf TRUE gesetzt! Die Tabelle wird reibungslos reinkopiert!!!
so sieht also mein Ereignis-Funktion aus:

Private Sub sps_EF_Input_SheetChange(ByVal Sh As OWC11.Worksheet, ByVal Target As OWC11.Range)
If Application.EnableEvents = True Then   'wird erst auf True gesetzt wenn alles reinkopirt  _
wurde
Application.EnableEvents = False          'um die Rekursion zu "nlockieren"
If Target.Value 


*zu Rekursion: keine Ahnung warum, aber wenn ich den Wert durch 100 devidiere, wird Ereignis nochmal aufgerufen! und so 3 Mal hintereinander! so bekommt man dann Division durch 1000000.
Vielen Dank für deine Idee!!!
bisl angepasst und es läuft!!!!!!
Gruß
Alex

Anzeige
AW: zu 2
20.06.2008 19:01:57
Reinhard
Hi Alex,
mich wundert daß es nur dreimal geschieht. M.E. müßte nach einiger Zeit ein Stapel-Überlauf-Fehler oder sonstiger kommen oder es müßte endlos laufen.
Denn du hast da eine Endlosschleife gebastelt.
Das Change-Ereignis reagiert, startet also wenn ein zellwert geändert wird. Nun gibst du in eine Zelle 4711 ein, der Ereigniscode macht daraus dann 4,711 und schreibt das in die zelle, dadurch ruft er sich selbst nocheinaml auf und macht aus 4,711 0,04711 schreibt das in die zelle, ruft sich auf usw. usw. usw.
Warum das nach dreimal abbricht ist mir unklar.
Deshalb habe ich die Frage auf noch offen gesetzt weil das interessant wäre zu wissen
Gruß
Reinhard

Anzeige
AW: zu 2
20.06.2008 20:47:00
Alex
Hi!
also keinen Ahnung warum er das nur 3 Mal gemacht hat!!! hat mich auch gewundert!!!!
vielleicht weiss jemand warum!
Das Problem mit SAP Front - ist auch rätselhaft!!! ich habe nichts mit SAP oder DB programmiert!
warum es plötzlich bei Makrostart installiert werden muss - verstehe ich nicht!

AW: Makro "Probleme"
20.06.2008 14:01:00
Alex
...frage ist also noch offen....

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige