PDA

Vollständige Version anzeigen : Addieren


keine Idee
19.02.2008, 14:17
Moin,
habe da ein Problem.
Ich möchte das in Spalte C immer die Addition aus Spalte A und B erscheint.
Steht aber nur in A oder B ein Wert, also nicht in beiden, dann soll kein Wert angezeigt werden.
Das Ganze auf Zeilenebene.
Beispiel:
A) Gebe ich in A1 "1" ein und in B1 "2" soll in C1 "3" erscheinen
B) Gebe ich in A1 "1" ein und in B1 nichts soll in C1 nichts erscheinen.
Wird später etwas in B1 eingetragen soll in C1 die Addition erscheinen.
Es sollte auch möglich sein Werte in Spalte A und B einzukopieren.

Also egal in welcher Zeile der Spalte A und B ich etwas eingebe / einkopiere, es soll immer die Addition in der gleichen Zeile in Spalte C erscheinen.

Geht das irgendwie als VBA ?

Schon mal heißen Dank.
Frank

R J
19.02.2008, 14:46
Hi Frank,

brauchst Du kein VBA. In Zelle C1: =Wenn(oder(A1="";B1="");"";A1+B1)

Entsprechend runterkopieren...

IngGi
19.02.2008, 14:46
Hallo,

muss es VBA sein? Das geht auch mit Formel.

In C1:

=WENN(ODER(A1="";B1="");"";A1+A2)

und runterkopieren soweit erforderlich/gewünscht.

Gruß Ingolf

keine Idee
19.02.2008, 14:56
Danke für die schnellen Antworten. Per Formel hätte ich das evtl. auch hinbekommen. Problem ist aber, daß die Formeln leider immer zerschossen werden und deshalb eine Lösung suche die im Hintergrund läuft. Wäre toll wenn ihr dazu auch eine Idee habt.

Danke.

IngGi
19.02.2008, 15:15
Hallo,

in das Modul des betreffenden Tabellenblattes (Rechtsklick auf den Tabellenblattreiter - Menüpunkt "Code anzeigen" wählen):
<FONT Color=Black FACE="Courier New,FixedSys" Size=2>
<Blockquote>
<FONT COLOR=#0000FF>Private&nbsp;Sub</FONT>&nbsp;Worksheet_Change(<FONT COLOR=#0000FF>ByVal</FONT>&nbsp;Target&nbsp;<FONT COLOR=#0000FF>As</FONT>&nbsp;Range)
<FONT COLOR=#0000FF>Dim</FONT>&nbsp;rng&nbsp;<FONT COLOR=#0000FF>As</FONT>&nbsp;Range
<FONT COLOR=#0000FF>If&nbsp;Not</FONT>&nbsp;Intersect(Target,&nbsp;Range("A1:B1").EntireColumn)&nbsp;<FONT COLOR=#0000FF>Is&nbsp;Nothing&nbsp;Then</FONT>
&nbsp;&nbsp;<FONT COLOR=#0000FF>For&nbsp;Each</FONT>&nbsp;rng&nbsp;<FONT COLOR=#0000FF>In</FONT>&nbsp;Target
&nbsp;&nbsp;&nbsp;&nbsp;<FONT COLOR=#0000FF>If</FONT>&nbsp;rng.Column&nbsp;&lt;&nbsp;3&nbsp;<FONT COLOR=#0000FF>Then</FONT>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT COLOR=#0000FF>If</FONT>&nbsp;Cells(rng.Row,&nbsp;1)&nbsp;&lt;&gt;&nbsp;""&nbsp;<FONT COLOR=#0000FF>And</FONT>&nbsp;Cells(rng.Row,&nbsp;2)&nbsp;&lt;&gt;&nbsp;""&nbsp;<FONT COLOR=#0000FF>Then</FONT>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cells(rng.Row,&nbsp;3)&nbsp;=&nbsp;Cells(rng.Row,&nbsp;1)&nbsp;+&nbsp;Cells(rng.Row,&nbsp;2)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT COLOR=#0000FF>End&nbsp;If</FONT>
&nbsp;&nbsp;&nbsp;&nbsp;<FONT COLOR=#0000FF>End&nbsp;If</FONT>
&nbsp;&nbsp;<FONT COLOR=#0000FF>Next</FONT>&nbsp;<FONT COLOR=#008000>'rng</FONT>
<FONT COLOR=#0000FF>End&nbsp;If</FONT>
<FONT COLOR=#0000FF>End&nbsp;Sub</FONT>

<FONT Size=2>
<p>Code eingefügt mit <b><a href="http://rtsoftwaredevelopment.de" target="_blank">Syntaxhighlighter 4.14</a></b></FONT></p>
</Blockquote><FONT FACE="Arial,FixedSys"Size=2>Gruß Ingolf

keine Idee
19.02.2008, 15:58
Danke Ingolf. Funktioniert super.

Zwei letzte Fragen:
Wenn ich subtrahieren will ersetze ich einfach das "+" durch "-" ???

Wenn ich andere Spalten nehmen möchte ersetze ich einfach die Werte 1,2 oder 3 ???


Nochmals vielen Dank.

IngGi
19.02.2008, 16:08
Hallo!

Zu Frage 1:

Ja, einfach "+" durch "-" ersetzen.

Zu Frage 2:

Ja, aber du musst auch den Bereich in der dritten Programmzeile anpassen. Wenn du zum Beispiel an Stelle der Spalten A und B die Spalten C und D addieren (bzw. subtrahieren) willst, musst du statt Range("A1:B1").EntireColumn den Bezug Range("C1:D1").EntireColumn verwenden.

Gruß Ingolf

keine Idee
19.02.2008, 16:13
Ingolf,

vielen, vielen Dank für die schnell und kompetente Hilfe.

Gruß Frank