Ich hab folgende function.
Function AusFormelWertMachen()
If AllesFormeln Then
Selection.Copy
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(0, -1).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Else
MsgBox "Im markierten Bereich befindet sich eine oder mehrere Zelle(n) die keine Formel _
beinhaltet!", vbCritical, "Kritischer Fehler. Vorgang wurde abgebrochen!"
End If
End Function
Diese Kopiert mir einfach den Makierten Bereicht nach Rechts und überschreibt den Kopierten BEreich mit Werten. Allerdings nur wenn nur Formel markiert sind.
Das funktioniert auch alles so wie gewollt.
Einziges Problem aktuell wenn der User von unten nach Oben Kopiert also in Zelle A5 anfängt und bis A1 geht. Kopiert er die Werte in B5-B10 und nicht in B1-B5...
Wie kann ich dies verhindern? Bzw eine Fehlerbehandlung einbauen?
Habe mir schon überlegt das ich einfach die "Range" umdrehe falls der höchste Wert als erstes kommt. Bekomme aber den makierten Bereich nicht ausgeben also die Zellen die betroffen sind.
Bei bspw. MsgBOx Selection --> Typenunverträglichkeit, Bei Selection.Copy bekomme ich logischerweiße nur "WAHR" da mir VBA nur Bestätigt ob die Kopierprozess erfolgreich war oder nicht.
Über eine oder gar mehrere Antworten würde ich mich sehr freuen :). Vielen Dank.