Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Einfaches Problem - elegante Lösung gesucht

Forumthread: Einfaches Problem - elegante Lösung gesucht

Einfaches Problem - elegante Lösung gesucht
18.07.2007 17:27:54
Adrian1977
Liebes Forum,
um Umwege und Zusatzspalten zu vermeiden, suche ich eine elegante Lösung für ein einfaches Problem:
In
A1 wird ein beliebiger Wert eingegeben
A2: Summe(A3:A10)
A3: beliebiger Wert
A4: beliebiger Wert
.
.
A10: beliebiger Wert
Nun sollen A1 und A2 gleich sein. Ist A1 A2 soll die Differenz entsprechend der bisherigen Verteilung zu A3 bis A10 dazu addiert werden.
Lösung:
B3:$A$1/$A$2*A3
B4:$A$1/$A$2*A4
.
.
B10:$A$1/$A$2*A10
Die errechneten Werte in B3:B10 werden dann nach A3:A10 kopiert.
Geht das eleganter?
Danke + Gruß
Adrian

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Einfaches Problem - elegante Lösung gesucht
18.07.2007 17:39:00
Wolli
Hallo Adrian,
da ich mich gerade mit Matrixformeln befasse, fällt mir zuerst das hier ein:
Ein B3:B10 wird {=A1/A2*A3:A10} eingegeben (ohne die {}, jedoch mit Strg+Shift+Enter). Das macht es aber nicht viel eleganter.
Das Problem ist, dass Du hart eingetragene Werte durch neue ersetzen willst, die sich aber auf die alten Werte beziehen. Das geht nur mit einem Makro. Ermittle per Makro den Zuschlags-/Abschlagsfaktor (A1/A2) und multipliziere jede Zelle mit diesem. Etwa so:

faktor = cells(1,1)/cells(1,2)
for i = 3 to 10
cells(i,1) = cells(i,1) * faktor
next i


Gruß, Wolli

Anzeige
AW: Einfaches Problem - elegante Lösung gesucht
18.07.2007 18:10:14
Adrian1977
Hallo Wolli,
das ist richtig, dass das Problem ist, dass alte Werte durch neue ersetzt werden sollen, die neuen jedoch von den alten abhängig sind.
Gibt es denn sonst keine "excel-interne"-Lösung, ähnlich der Funktion "Inhalte einfügen..., Multiplizieren aktivieren" oder Iteration, oder was anderes...? Die Datei wird umfangreicher, der Code dementsprechend kaum noch überschaubar...
Gruß
Adrian

Anzeige
AW: Einfaches Problem - elegante Lösung gesucht
18.07.2007 19:25:00
Daniel
Hallo
warum kannst du das Problem mit BEARBEITEN - INHALTE EINFÜGEN - MULTIPLIZIEREN nicht lösen?
dafür brauchst du doch nur den Faktor in einer Zelle zu berechnen und dann mit der o.g. funktion auf die anderen Zellen anwenden.
Sollte eigentlich genau das machen, was du möchtest.
Gruß, Daniel

Anzeige
AW: Einfaches Problem - elegante Lösung gesucht
18.07.2007 19:52:00
Wolli
Hallo Adrian, per VBA kannst Du Copy und PasteSpecial machen - zeichne es mal mit dem Rekorder auf. Irgendwo muss allerdings der Multiplikator stehen. Und was ist an meinem Code unüberschaubar? Kürzer geht's doch kaum!? Oder willst Du es ohne VBA lösen? Gruß, Wolli

AW: Einfaches Problem - elegante Lösung gesucht
19.07.2007 13:15:00
Adrian1977
Der Code in dieser Form war schon klasse. Problem ist nur, dass dieser Vorgang in unterschiedlichen Bereichen auf vielen Tabellenblätter durchgeführt wird. Da muß ich mir wohl eine gute Struktur überlegen.
Trotzdem vielen Dank!

Anzeige
AW: Einfaches Problem - elegante Lösung gesucht
19.07.2007 13:50:06
Wolli
Hallo Adrian,
noch'n paar Anregungen:
Wenn Du z.B. eine Ereignisprozedur (Worksheet_Change) schreibst, bekommst Du den geänderten Bereich als target mitgegeben. target.currentregion ist dann der Bereich drumherum. Innerhalb dieser currentregion kannst Du dann einen immer gleichen Code laufen lassen, der die Sachen ausfüllt.
Habe aber leider keine Zeit, mehr dazu zu schreiben, stell bei Bedarf den Thread wieder auf offen / mach 'ne neue Anfrage. 'S gibt hier aber auch schon tausend Tipps für Ereignisprozeduren!
Gruß, Wolli
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige