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

Suchen, Berechnen

Suchen, Berechnen
16.09.2020 15:06:45
xtian
Hallo zusammen,
ich sitze jetzt schon längere Zeit an einem Makro und bekomme es aufgrund meiner sehr geringen VBA
Kenntnisse leider nicht hin. Ich würde mich freuen, wenn mir hier jemand helfen könnte.
SpalteA...SpalteB………….SpalteC
………….Punkt 1....…..…..0,2
………….Punkt 1.1...……..1
….K...…..Text...……………0,75 (0,75 soll durch die Berechnung 0,2*1*0,75=0,15 ersetzt werden)
………….Punkt 2....…..…..0,5
….K...…..Text...……………1 (1 soll durch die Berechnung 0,5*1=0,5 ersetzt werden)
….K...…..Text...……………1,2 (1,2 soll durch die Berechnung 0,5*1,2=0,6 ersetzt werden)
………….Punkt 3....…..…..0,02
….K...…..Text...……………1 (1 soll durch die Berechnung 0,02*1*=0,02 ersetzt werden)
usw.
Das Makro soll zunächst in der Spalte A nach dem Buchstaben K suchen. Dann soll das Makro hier im
Beispiel in Zelle C3 das Ergebnis der Berechnung von Zelle C1*C2*C3 (0,15) eintragen.
Dann soll das Makro den nächsten Buchstaben K in der Spalte A suchen und hier im Beispiel in der
Zelle C5 das Ergebnis der Berechnung von Zelle C4*C5 (0,5) eintragen und auch zusätzlich in der
Zelle C6 das Ergebnis der Berechnung C4*C6 (0,6) eintragen.
Diesen Code habe ich bereits geschrieben, bringt aber nicht den gewünschten Erfolg.

Sub Test()
Dim RaZelle As Range
Dim LastRow As Long
LastRow = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
For Each RaZelle In Range("B1:B" & LastRow)
If RaZelle = "Punkt 1" Then
RaZelle.Offset(1, 1) = RaZelle.Offset(-1, 1) * RaZelle.Offset(1, 1)
ElseIf RaZelle = "Punkt 2" Then
RaZelle.Offset(1, 1) = RaZelle.Offset(-1, 1) * RaZelle.Offset(1, 1)
ElseIf RaZelle = "Punkt 3" Then
RaZelle.Offset(1, 1) = RaZelle.Offset(-1, 1) * RaZelle.Offset(1, 1)
End If
Next RaZelle
End Sub
Viele Grüße
Christian

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

Betreff
Datum
Anwender
Anzeige
AW: Suchen, Berechnen
16.09.2020 19:52:44
Rudi
Hallo,
Sub Test()
Dim RaZelle As Range, RaFirst As Range
Dim LastRow As Long
Set RaFirst = Range("B2")
LastRow = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
For Each RaZelle In Range("B1:B" & LastRow)
If RaZelle.Offset(, -1) = "K" Then
RaZelle.Offset(, 1) = WorksheetFunction.Product(Range(RaFirst, RaZelle))
Set RaFirst = RaZelle.Offset(1)
End If
Next RaZelle
Cells(LastRow, 3) = WorksheetFunction.Product(Range(RaFirst, Cells(LastRow, 2)))
End Sub

Gruß
Rudi
AW: Suchen, Berechnen
17.09.2020 08:24:25
xtian
Hallo Rudi,
erstmal vielen lieben Dank für deine Hilfe. Die Ergebnisse passen noch nicht so.
In den Ergebnis Zellen (C3, C5, C6, C8) stehen immer die Werte 0.
Viele Grüße
Christian
Anzeige
AW: Suchen, Berechnen
16.09.2020 20:43:01
Yal
Hallo xtian,
reichlich spät, weil Rudi sicher die richtige Antwort hat, aber trotzdem meinen Senf dazu:
Start mit Wert=1
Wenn "K" dann Produkt rechnen und Ausgabe
Wenn nicht "K"
    Entweder vorher "K" dann Wert aufnehmen
    Oder Produkt rechnen
Sub Rechnen()
Dim Z
Dim Wert As Double
Wert = 1
For Each Z In Me.Range("A1:A10").Cells
If Z = "K" Then
Wert = Wert * Z.Offset(, 1)
Z.Offset(, 2) = Wert
Else
If Z.Offset(-1) = "K" Then
Wert = Z.Offset(, 1)
Else
Wert = Wert * Z.Offset(, 1)
End If
End If
Next
End Sub
Viel Erfolg
Yal
Anzeige
AW: Suchen, Berechnen
17.09.2020 08:04:31
xtian
Hallo Yal,
es kommt leider eine Fehlermeldung mit .Me.
Gruß
Christian
AW: Suchen, Berechnen
17.09.2020 10:16:21
Yal
"Me" bedeutet, dass der Code sich in der Worksheets, wo die Daten vorliegen, befindet.
Wenn der Code in einem Modul reinkommt, muss ein Verweis auf das Daten-Worksheet hergestellt werden:
set W = Worksheets ("xyz")
For Each Z in W.Range("...
Viel Erfolg
Yal
AW: Suchen, Berechnen
17.09.2020 08:00:05
coachyou
Hallo xtian,
ich würde davon abraten, die ursprünglichen Werte zu überschreiben, weil dann die Daten nicht reproduzierbar sind, hier eine Formellösung:
https://www.herber.de/bbs/user/140275.xlsx
Gruß coachyou
Anzeige
AW: Suchen, Berechnen
17.09.2020 08:03:42
xtian
Hallo coachyou,
vielen Dank, würde mir das gerne mit den Formeln einmal ansehen. Der Link funktioniert
aber leider nicht.
Gruß
Christian
AW: Suchen, Berechnen
17.09.2020 08:08:09
coachyou
Hallo xtian,
bei mir schon, eben nochmals getestet, rechte Maustaste, speichern unter ...
Gruß Coachyou
AW: Suchen, Berechnen
17.09.2020 08:13:13
xtian
Danke, sieht gut aus.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige