VBA Script nach Google Script
28.01.2017 16:00:16
Marlon
ich möchte gerne ein relativ einfaches VBA Makro (das in Excel vorhanden ist) nach Google Script (für ein Spreadsheet) übertragen. Ich hab schon ein Weilchen im Netz gesucht, aber keine lösung für diese Kombination aus Loop-If/then- und Eintrag in Spalte gefunden.
Ich weiß, das ist das Excel-Forum (hört, hört!), aber vielleicht gibts ja dennoch Hilfe. Ich versuchs mal:
Gegeben sind Spalte A und B.
In Spalte C soll jeweils der Wert aus Spalte B vom letzten (roten) Negativ-Block aus Spalte A eingetragen werden.
In Spalte D wird einfach der Wert des aktuellen Negativ-Blocks eingetragen.
https://www.herber.de/bbs/user/110966.xlsm
Wäre schön, wenn mir jemand weiterhelfen könnte.
Marlon
Der Code in VBA ist:
Sub spike()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
lrow = Range("N2000").End(xlUp).Row
Range(Cells(231, 15), Cells(2000, 16)).ClearContents
Range("Y231:Y1000").ClearContents
'1. Schleife: alle Werte der Spalte durchgehend ohne Leerzellen auflisten*********************** _
ffrow = 231
For i = ffrow To lrow
If Cells(i, 14) "" Then
Cells(ffrow, 25) = Cells(i, 14)
ffrow = ffrow + 1
End If
Next i
'2. Schleife: Die letzten beiden negativen Werte rechts neben aktuellem Wert ausgeben*********** _
frow = 231
For i = frow To lrow
For y = i To frow Step -1
'wenn aktuelle Zahl negativ ist
If Cells(i, 14) 0 Or Cells(j, 14) = "") Then
Cells(i, 15) = Cells(j, 16)
Exit For
End If
Next j
'Wenn aktuelle Zahl positiv ist oder Zelle leer ist: einfach vorherige Zeile kopieren
Else
Cells(i, 15) = Cells(i - 1, 15)
Cells(i, 16) = Cells(i - 1, 16)
Exit For
End If
Next y
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub