Zellen hochzählen und den Verlauf der Werte anzeigen
#1
Hallo zusammen.

Ich habe ein Problem, für das ich mit Excel eine Lösung suche.
In zwei Zellen (I1 und J1) sollen unabhängig voneinander Werte hoch- (+1) bzw. runtergezählt (-1) werden. In einer dritten Zelle (K1) soll die jeweilige Addition aus I1 und J1 angezeigt werden.
Für die Auslösung der Aktion zur entsprechenden Hoch- bzw. Runterzählung bieten sich Drehfelder an, die per Zellenverknüpfung mit I1 und J1 verbunden sind.
Die jeweils erzeugten   e i n z e l n e n   Werte der beiden Zellen I1 und J1 nach jeder Betätigung eines Drehfeldes sollen in zwei übereinander liegenden Spaltenbereichen (maximal 100 Spalten) angezeigt werden, jeweils ab Spalte U bis Spalte DP in den Zeilen 2 und 3. Im oberen Spaltenbereich von U2 bis DP2 soll die Entwicklung der Werte aus I1 stehen und im darunter liegenden Spaltenbereich von U3 bis DP3 die Entwicklung der Werte aus J1.
Darüber in Zeile 1 des Spaltenbereiches U bis DP sollen statische Werte von 1 bis 100 stehen. Die Addition aus den Zeilen 2 und 3 der in den Spaltenbereichen U bis DP ausgewiesenen Werte soll mit dem statischen Wert in Zeile 1 der entsprechenden Spalte übereinstimmen.

Beispiel:

Vorgang                   I        J       K   . . .    U      V     W      X     Y      Z     AA    AB   AC    AD   . . .   bis DP
-------------------------------------------------------------------------------------------------------------------    
1)            Zeile 1      0       0       0            1      2      3      4      5      6      7      8      9     10
               Zeile 2                                    
               Zeile 3                                    
-------------------------------------------------------------------------------------------------------------------   
2)            Zeile 1     0       1       1             1      2      3      4      5      6      7      8      9     10
               Zeile 2                                     0
               Zeile 3                                     1
-------------------------------------------------------------------------------------------------------------------   
3)            Zeile 1     0       2       2             1      2      3      4      5      6      7      8      9     10
               Zeile 2                                     0      0
               Zeile 3                                     1      2
-------------------------------------------------------------------------------------------------------------------   
4)            Zeile 1     1       2       3             1      2      3      4      5      6      7      8      9     10
               Zeile 2                                     0      0      1
               Zeile 3                                     1      2      2
-------------------------------------------------------------------------------------------------------------------

Erläuterungen:

Zu 1): Neustart

Zu 2): Das mit Zelle J1 verknüpfte Drehfeld wurde im oberen Teil angeclickt. Die Addition von I1 (=0) und J1 (=1) beträgt 1. Dieser Wert wird in Zelle K1 ausgewiesen und findet sich in der Zelle U1. Deshalb wird in Zelle U2 der Wert 0 aus Zelle I1 und in Zelle U3 der Wert 1 aus Zelle J1 eingetragen.

Zu 3): Das mit Zelle J1 verknüpfte Drehfeld wurde im oberen Teil angeclickt. Die Addition von I1 (=0) und J1 (=2) beträgt 2. Dieser Wert wird in Zelle K1 ausgewiesen und findet sich in der Zelle V1. Deshalb wird in Zelle V2 der Wert 0 aus Zelle I1 und in Zelle V3 der Wert 2 aus Zelle J1 eingetragen, während weiterhin die Werte 0 in U2 und 1 in U3 aus dem Vorgang 2) angezeigt werden.
   
Zu 4): Das mit Zelle I1 verknüpfte Drehfeld wurde im oberen Teil angeclickt. Die Addition von I1 (=1) und J1 (=2) beträgt 3. Dieser Wert wird in Zelle K1 ausgewiesen und findet sich in der Zelle W1. Deshalb wird in Zelle W2 der Wert 1 aus Zelle I1 und in Zelle W3 der Wert 2 aus Zelle J1 eingetragen, während weiterhin die Werte 0 in U2 und 1 in U3 aus dem Vorgang 2) sowie die Werte 0 in V2 und 2 in V3 aus dem Vorgang 3) angezeigt werden.

Für einen Neustart der Aktion, d. h. Eintragung von jeweils einem 0- Wert in den Zellen I1 und J1 sowie Leerzellen in den Bereichen U2 bis DP3, sollte ein entsprechender Schalter eingebaut werden.

Ich hoffe sehr, dass die Darstellung vom "Beispiel" und deren "Erläuterungen" verständlich sind.

Vielen Dank im Voraus.
Antworten Top
#2
Hallo Jürgen,

da die Werte in den Zeilen zwei und drei nicht von den aktuellen Werten in I1 und J1 abhängig sind sondern von der Reihenfolge der Aktionen, geht das nur mit Makros.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#3
Hallo Jürgen,

bitte verlinke, wenn du das gleiche Thema in andere Foren hast...nennt man Crossposting! :)

Zellen hochzählen und den Verlauf der Werte anzeigen

LG, Alexandra
Antworten Top
#4
Hallo Ego,

das habe ich mir schon fast gedacht. Kannst Du mir mit den Makros helfen?

Hallo Alexandra,

entschuldige bitte. Das wusste ich nicht. Wie macht man das mit dem Crossposting?

LG Jürgen
Antworten Top
#5
Hallo Jürgen,

1. In der Anlage mein Vorschlag.

2. Bemerkungen

a) benannte Zellen
Da ich in Makros ungern mit festen Adressen arbeite, habe ich zwei Zellen benannt (Einzelwerte und Historie)

b) zurücksetzen
Hierfür must du in die Einzelwerte mit den Historienwerte der zurückgesetzten Runde überschreiben und die hinteren Historienwert löschen.


Angehängte Dateien
.xlsm   LinksRechts.xlsm (Größe: 23,65 KB / Downloads: 3)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#6
Vielen herzlichen Dank!
Antworten Top
#7
Reicht schon:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Cells(2, 20) = " "
  If Not Intersect(Target, Range("I1:J1")) Is Nothing Then Cells(2, 20 + Range("T2:DP2").SpecialCells(2).Count).Resize(2) = Application.Transpose(Range("I1:J1"))
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste