28.05.2016, 19:18
Gruß Stefan
Win 10 / Office 2016
Win 10 / Office 2016
Multiplikation
|
28.05.2016, 19:18
Gruß Stefan
Win 10 / Office 2016
28.05.2016, 22:34
(Dieser Beitrag wurde zuletzt bearbeitet: 28.05.2016, 22:39 von Käpt'n Blaubär.
Bearbeitungsgrund: Zitat entsprechend formatiert
)
Hallo Leute,
ich glaube kaum, daß das so was wird. Der arme George ist doch total überfordert. @George, Deine Datei habe ich nicht gelesen, ist aber wohl eher auch nicht nötig, weil ja wohl, bis auf ein klitzekleines Zipfelchen alles klar zu sein scheint Zitat:Private Sub Worksheet_Change(ByVal Target As Range)das Makro heißt Worksheet und das wiederum heißt übersetzt Tabellenblatt. Dieses Makro gehört also nicht in ein allgemeines Modul, sondern hinter das Tabellenblatt, in dem es arbeiten soll. Im VBA-Editor, daß ist da, wo Deine Makros jetzt stehen, findest Du unter anderem oben links ein Fenster mit der Aufstellung aller Blätter Deiner Datei. Dort findest Du auch den Blattnamen, wo Du willst, daß das Makro arbeitet. Auf diesen Blattnamen klickst Du doppelt und dann geht rechts ein neues, leeres Fenster auf. Hier kopierst Du Uwes Makro rein und speicherst alles. Du wirst sehen. das Makro funktioniert dann auch. Ach ja, und Gratulation, das war Deine erste erfolgreiche Klassenprogrammierung. Zwar mit Hilfe, aber immerhin. Im Allgemeinen Modul mußt Du das Makro natürlich löschen. Es gehört da nicht hin und bewirkt dort auch nichts. Und hier noch ein gutgemeinter Rat: Zitat:Mein Verständnis für deinen äußerst simplen und unpassen Lösungsvorschlag in Frage zu stellen ist wiederrum völlig unnötig. Sowas sollte man besonders dann nicht schreiben, wenn man Hilfe sucht. das kommt nicht gut an. Zumal Edgar jemand ist, der gewöhnlich genau weiß, was er vorschlägt.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf! Grüße aus Norderstedt, Peter
29.05.2016, 14:19
Hi George,
(28.05.2016, 18:52)George schrieb: Das untere ist von Uwe für die Multiplikation aber funktioniert leider noch nicht. das ist ja klar, daß es nicht automatisch startet, wenn Du den Code im falschen Modul stehen hast und außerdem den Namen des Moduls änderst. Damit Du weißt, was wo stehen muß und wie es heißen soll, damit das Gewünschte passiert, dafür haben Dir ja de anderen schon Links geschickt.
06.06.2016, 14:42
Guten Tag,
ich habe auf euer anraten und um ein besseres Verständniss zu entwickeln mir die verschiedenen Links durchgelesen. Desweiteren habe ich auch das vorgeschlagene Makro zur Multiplikation erfolgreich integriert. Ich danke wieder für eure Geduld und Ratschläge. Trotzdem ergeben sich immer wieder neue Fragen :19: Die Multiplikation bezieht sich ja auf ein Feld (Eingabe) durch den der ein definierter Bereich Multipliziert wird! Ich habe aber nach eine gewissen Zeit mehrere Spalten mit unterschiedlichen Auflistungen die ich je nach Berdarf mit einem Faktor multiplizieren muss. Muss ich um eine weiteren vordefinierten Bereich (weitere Spalte) mit einem anderen Multiplikator den Makro neu schreiben und anpassen ? Oder könnte ich in einem Makro, eine Zeile mit Multiplikatoren und die sich auf die jeweilige Spalte darunter beziehen(Gesamtbereich) programmieren ?
07.06.2016, 19:11
Hallo George,
man könnte das Makro von Uwe anpassen. Code: Private Sub Worksheet_Change(ByVal Target As Range)
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365) Code: Option Explicit 'Forderung nach expliziter Deklaration aller Variablen danke "schauan" die Variante klappt super und deine Kommentare waren zum Verständiss des gesamten Codes äußerst Hilfreich. :100: Nun will ich anschließend über einen Button je nach Bedarf verschiedene Varianten mit der entsprechendenen Spalten (Anzahl) auswählen und zur Auswertung in eine andere Mappe übertragen und nebeneinander auflisten. Nun scheitert es an der Übertragung der einzelnen Spalten in die Spalten Y,Z,AA usw also nebeneinander in die nächste Mappe. Die Übertragung in eine definierte Spalte funktioniert aber bisher überschreibt er mir dann bei der nächsten Übertragung die alten Daten. Habe schon ein Schleife eingebaut aber die Schleifenvariable i wird mit der Zelle i verwechselt. Vermute das statt .Range ein anderer Befehl kommen muss weiß es aber nicht genau. Anbei mein Code. Danke und schönen Abend
08.06.2016, 21:06
Hallo George,
nach erstem Überfliegen des codes gebe ich Dir recht, zumindest, was die Codestelle betrifft Da steht in den Schleifen ...Range("Y" & requiredRow)... Du befüllst also immer die Spalte Y, hast aber eine Schleife für die Spalten mit dem Schleifenzähler i. Wenn Du verschiedene Spalten befüllen müsstest, dann z.B. so .....Range(chr(i) & requiredRow)...
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Oder:
Code: Private Sub Worksheet_Change(ByVal Target As Range)
09.06.2016, 09:51
Hallo,
leider funktioniert die Variante von schauan nicht. Nach der Änderung zu .....Range(chr(i) & requiredRow)... findet gar keine Datenübertragung statt aber es kommt auch keine Fehlermeldung. Bei dem zweiten Code weiß ich nicht genau wie ich das in meinen vorhandenen Code eingebunden become. So weit funktioniert ja alles ich möcht nur eine Schleife einbinden die mir die Daten nach dem betätigen des CommandButtons nebeneinander in der nächste Tabelle auflistet und nicht wieder die eine Spalte in dem derzeitigen Fall "Y" überschreibt. Hatte gehofft eine Lösung in Richtung dem Vorschlag von schauan zu finden. Ich denke wir sind auch kurz vor der Lösung. Vielen Dank
09.06.2016, 10:35
Hallo George,
eine Zeile höher steht doch schon ein Beispiel mit der Cells-Eigenschaft! Also anstatt requiredSheet.Range("Y" & requiredRow).Value = current1Cell.Value 'Bauteilanzahldann requiredSheet.Cells(requiredRow, i).Value = current1Cell.Value 'BauteilanzahlGruß Uwe |
|