Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1676to1680
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

Ausgabe und Bezugszellen automatisch im VBA anpass

Ausgabe und Bezugszellen automatisch im VBA anpass
05.03.2019 10:46:56
Tobi
Hallo zusammen,
ich stehe vor folgendem Problem. Ich habe ein VBA gebastelt, welches Werte automatisch in einer Zelle aufsummiert. Sprich: Werteingabe in in Zelle B25 und Aufsummieren in Zelle B3. Nun möchte ich, wenn in allen folgenden Zellen, wie C26, sich die Summe in C3 erhöht und das fortlaufend.
Ich bin leider totaler VBA-Neuling und finde einfach keine Lösung.
Bitte um Hilfe.
Danke euch.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$25" Then
Range("B3").Value = Range("B3").Value + Target.Value
End If
If Target.Address = "$B$26" Then
Range("B4").Value = Range("B4").Value + Target.Value
End If
If Target.Address = "$B$27" Then
Range("B5").Value = Range("B5").Value + Target.Value
End If
If Target.Address = "$B$28" Then
Range("B6").Value = Range("B6").Value + Target.Value
End If
If Target.Address = "$B$29" Then
Range("B8").Value = Range("B8").Value + Target.Value
End If
End Sub

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausgabe und Bezugszellen automatisch im VBA anpass
05.03.2019 11:43:22
hary
Moin
Es sind zu wenig Infos.
Wie weit geht der Bereich? oder ist es ein fester Bereich.
Als Ansatz:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 25 And Target.Column >= 2 Then
Application.EnableEvents = False
Target.Offset(-22, 0) = Target.Offset(-22, 0) + Target
Application.EnableEvents = True
End If
End Sub

gruss hary
AW: Ausgabe und Bezugszellen automatisch im VBA anpass
05.03.2019 11:54:53
Tobi
Hallo Hary,
ich habe einen Zellbereich, in dem mehrer Werte in ein und der selben Zelle eingegeben werden sollen (am Beispiel in Zelle B25) und am Ende in einer anderen Zelle Aufsummiert werden. (am Beispiel Zelle B3).
Diese Eingaben werden jeden Tag aufs neue vorgenommen, weswegen am nächsten Tag Eingaben nicht in Zelle B25 vorgenommen werden, sondern in B26 am nächsten, am übernächsten in Zelle B27 und so weiter. Ebenso soll dann die Zielzelle, am Beispiel B3, am nächsten Tag C3; am übernächsten D4 und soweiter sein.
Nun möchte ich aber nicht komplett jede Ein- und Ausgabezelle mit einem einzelnen VBA versehen.
Daher die Frage, ob es möglich ist diese Makros, wie Formeln einfach "weiterzuziehen".
Anzeige
AW: Ausgabe und Bezugszellen automatisch im VBA anpass
05.03.2019 12:03:29
hary
Moin
"Ebenso soll dann die Zielzelle, am Beispiel B3, am nächsten Tag C3; am übernächsten D4 und soweiter sein."
So wie du es jetzt beschreibst erst B3 dann C3 dann D4 ?
Lad mal eine Bsp.-Mappe hoch. Damit es ersichtlich wird was du haben moechtest.
gruss hary
AW: Ausgabe und Bezugszellen automatisch im VBA anpass
05.03.2019 12:58:14
Tobi
Danke für die Reaktion. Ich habe mal eine blanko Excel hochgeladen.
https://www.herber.de/bbs/user/128122.xlsx
Kurz zur Erklärung:
In der Zelle C9 möchte ich wiederholt Werte eingeben, die sich dann in Zelle C4 aufsummieren. Das habe ich durch mein VBA auch soweit hinbekommen. Ebenso wie von C10 nach C5. Nun stehe ich vor dem Problem, dass ich nicht weiß wie ich die nachfolgenden Zellen, wie D9 für D4; wie E9 für E4,...
Ich hoffe ich konnte mein Beispiel soweit verdeutlichen.
Anzeige
AW: Ausgabe und Bezugszellen automatisch im VBA anpass
05.03.2019 14:40:59
hary
Moin
Gemaess deinem Bsp.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("9:10")) Is Nothing Then '--wenn geaenderte Zelle in Zeile 9  _
oder 10 dann
If Target.Column >= 3 Then '--wenn geaenderte Spalte groesser/gleich 3(SpalteC)
Application.EnableEvents = False '--Event ausschalten damit Change nicht nochmal  _
ausgefuehrt wird
Target.Offset(-5, 0) = Target.Offset(-5, 0) + Target '--summiere 5 Zeilen hoeher
Application.EnableEvents = True '--Event wieder einschalten
End If
End If
End Sub

gruss hary
Anzeige
AW: Ausgabe und Bezugszellen automatisch im VBA anpass
05.03.2019 15:15:58
Tobi
Hallo Hary,
du bist mein Retter! Funktioniert wunderbar.
Ich hab dann noch eine kleine Zusatzfrage.
Ich möchte dieses Makro bezogen auf ein Dropdown hin "aktivieren". Pauschal hatte ich schon überlegt dieses Makro durch Eingabe eines bestimmten Wertes in einer Zelle hin zu aktiveren. Leider bin ich auch hier nicht wirklich mit meiner Suche weiter gekommen.
Siehst du hier eine Möglichkeit?
AW: Ausgabe und Bezugszellen automatisch im VBA anpass
05.03.2019 15:42:12
hary
Moin
Das ist kein Makro das gestartet werden kann, sondern ein Code der durch Aenderung in einer Zelle gestartet wird.
Mann kann nur noch eine Pruefung einbauen die abfragt ob in einer Zelle ein Wert steht(Bsp.-weise: aktiv
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("9:10")) Is Nothing Then '--wenn geaenderte Zelle in Zeile 9  _
oder 10 dann
If Target.Column >= 3 Then '--wenn geaenderte Spalte groesser/gleich 3(SpalteC)
If Range("A1")  "aktiv" Then Exit Sub '--wenn nicht aktiv in A1 steht Code beenden
Application.EnableEvents = False '--Event ausschalten damit Change nicht nochmal  _
ausgefuehrt wird
Target.Offset(-5, 0) = Target.Offset(-5, 0) + Target '--Trage 5 Zeilen hoeher ein
Application.EnableEvents = True '--Event einschalten
End If
End If
End Sub

oder mit einer Globalen Variablen arbeiten. Da die Variable sonst fluechtig ist.
gruss hary
Anzeige
AW: Ausgabe und Bezugszellen automatisch im VBA anpass
06.03.2019 15:42:01
Tobi
Hallo Hary,
ich stehe vor einem neuen Rätsel. Habe hierzu nochmal eine Beispiel-Excel hochgeladen.
Ist es möglich die selbe VBA im selben Tabellenblatt nochmal zu verwenden, nur mit anderem Zellbezug?
Sprich, ich möchte die selbe VBA von XXXX-1 auf XXXX-2 anpassen. Nur mit dem Unterschied, dass die Eingabezellen gleich bleiben, aber die Ausgabezelle in XXXX-2 nun liegt und nicht mehr in XXX-1.
Gibt es hier eine Möglichkeit das entsprechend anzupassen? Eventuell über eine "Auswahlzelle"?
Wäre super wenn ich hier nochmal Hilfe bekäme. Bin am verzweifeln.
https://www.herber.de/bbs/user/128145.xlsx
Anzeige
AW: Frage
07.03.2019 06:58:50
hary
Moin
Bevor ich loslege.
Kann es sein dass du oben immer neue Bereiche einfuegst?
Und der Eingabebereich nach unten rutscht?
gruss hary
AW: Frage
07.03.2019 08:17:14
Tobi
Moin Hary,
ich habe in meiner eigentlichen Datei noch 5 weitere Blöcke hinzugefügt und den Eingabenbereich soweit auch angepasst.
AW: Frage
07.03.2019 08:23:04
hary
Moin
Wie soll VBA jetzt wissen in welchen der 5 Bereiche du eintragen moechtest?
Hast du ein Dropdown, wo du den Bereich(Bsp. XXXX-1) vorgibst?
Du musst dein Vorhaben mal naeher erklaeren.
gruss hary
AW: Frage
07.03.2019 09:58:15
Tobi
Hallo Hary,
genau. Ich möchte über ein Dropdown-Menü XXXX-1 oder XXXX-2 auswählen und die VBA sollte erkennen in welchem Block er nun die Aufsummierung vornehmen muss. Geht das?
Anzeige
AW: evtl.so
07.03.2019 11:19:53
Tobi
Hallo Hary,
genauso habe ich mir das vorgestellt, Es fehlt nur die "Funktion" das in den Zellen von xxxx-1 und xxxx-2 dort die Aufsummierung stattfindet, wie in dem anderen VBA das ist.
Kann man das noch rein machen?
Danke dir nochmal.
AW: evtl.so
07.03.2019 11:40:06
hary
Moin
Hatte ich vergessen, haettest du aber auch drauf kommen koennen. ;-))
statt
Cells(a + 1 + (Target.Row - 14), Target.Column) =  Target

dies
 Cells(a + 1 + (Target.Row - 14), Target.Column) = Cells(a + 1 + (Target.Row - 14), Target.Column) + Target

gruss hary
Anzeige
AW: evtl.so
07.03.2019 11:42:27
Tobi
Hallo Harry,
funktioniert einwandfrei. Danke dir für deine Hilfe.
Nun bin ich wunschlos glücklich!
Tobi

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige