Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1256to1260
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
Inhaltsverzeichnis

Differenz mit Offset in activer Zelle berechnen

Differenz mit Offset in activer Zelle berechnen
Dietmar
Hallo zusammen,
ich möchte zur Ressourcenschonung keine Excel-Formeln verwenden, sondern Einzelfallbezogen eine Differenz
berechnen lassen.
Und zwar soll das Ergebnis per VBA-Code in die active Zelle geschreiben werden.
Dabei muss sichergestellt sein, dass das Ergebnis
a) nur dann erzeugt wird, wenn die ErgebnisZelle in einer bestimmten Spalte aktiviert wird
b) wenn in der Zelle links daneben ein Wert steht.
Beigefügt habe ich eine kleine Beispieldatei.
https://www.herber.de/bbs/user/79623.xls
Herzlichen Dank vorab!
Ich bin wieder sehr gespannt :-)
Dietmar aus Aachen

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Differenz mit Offset in activer Zelle berechnen
31.03.2012 12:50:45
Hajo_Zi
Hallo Dietmar,
benutze doch das Ereignis
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

AW: Differenz mit Offset in activer Zelle berechnen
31.03.2012 12:50:46
Hajo_Zi
Hallo Dietmar,
benutze doch das Ereignis
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

sorry, ...
31.03.2012 13:20:37
Dietmar
Hallo Hajo,
... leider bin ich noch nicht soweit, dass ich diesen Tipp verarbeiten kann.
VBA ist halt recht *bescheiden*, so wie angegeben.
Ideen habe ich viele, allein die Umsetzung ist oft schwierig für mich.
Obwohl, dass darf ich sagen, ich hier schon viel gelernt habe :-)
Viele Grüße
Dietmar
Anzeige
AW: Differenz mit Offset in activer Zelle berechnen
31.03.2012 12:58:24
Reinhard
Hallo Dietmar,
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Zelle As Range, Zei As Long
Set Target = Intersect(Target, Range("O10:O26"))
If Target Is Nothing Then Exit Sub
For Each Zelle In Target
Zei = Zelle.Row
If Zelle.Offset(0, -1).Value  "" Then
Target.Value = Application.Sum(Range("A" & Zei & ":M" & Zei)) - Zelle.Offset(0, -1).Value
Else
MsgBox Zelle.Offset(0, -1).Address & " ist leer."
Exit For
End If
Next Zelle
End Sub

Gruß
Reinhard
Cool ...
31.03.2012 13:23:02
Dietmar
Hallo Reinhard,
super gelöst. Damit komme ich klar
Herzlichen Dank! Auch bei allem guten Willen, da wäre ich im Detail nicht daraufgekommen.
Viele Grüße und ein schönes WE !
Dietmar
Anzeige
Korrekturbedarf
01.04.2012 12:42:08
Dietmar
Hallo Reinhard,
habe getüftelt, finde die Lösung aber leider nicht.
Wie müsste ich den Code anpassen wenn ich einen Eintrag in einer Zelle von Spalte N eingebe und nach Verlassen der Zelle das Ergebnis in der Zelle rechts daneben (also Spalte O) haben möchte?
Beispiel:
In 'O10' soll also die Differenz aus 'A10:M10' und dem Eintrag in 'N10' erzeugt werden, wenn ich 'N10' verlasse.
Erneut vielen Dank voab!
Dietmar aus Aachen
AW: Korrekturbedarf
01.04.2012 12:47:56
Hajo_Zi
Hallo Dietmar,
selection ist da das flasche Ereignis.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 14 Then
Application.EnableEvents = False
Target.Offset(0, 1) = Target
Application.EnableEvents = True
End If
End Sub


Anzeige
herzlichen Dank! ...
01.04.2012 13:19:34
Dietmar
Hallo Hajo,
herzlichen Dank und noch einen schönen sonnigen Sonntag.
Das ist ja der Hammer, wann bist denn eigentlich mal nicht 'on`?
Viele Grüße
Dietmar aus Aachen
AW: herzlichen Dank! ...
01.04.2012 13:23:16
Hajo_Zi
Hallo Dietmar,
ich muss irgendwann auch mal arbeiten und da bin ich nicht in den Foren.
Gruß Hajo

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige