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

Hilfe bei Makro - Werte berechnen

Hilfe bei Makro - Werte berechnen
19.03.2021 20:46:53
Mani
Guten Abend,
ich bräuchte eure Hilfe.
Ich habe eine Tabelle, wo ich in Zeile 9 ein Datum suche und wenn es gefunden wird ich darunter
Berechnungen durchführe.
Das funktioniert auch so weit.
Allerdings bräuchte ich noch eine Erweiterung, wenn in Spalte D Abweichung oder % steht und bei
der Berechnung 0 oder eine Fehlermeldung kommt soll mir einfach ein Punkt oder Strich (. Oder -)
eingetragen werden.
Daran verzweifle ich gerade, hat von euch Profis jemand eine Lösung?
Ich würde mich über jeden Lösungsvorschlag oder jede Verbesserung meines Makros sehr freuen.
Das Datum suchen und darunter berechnen tue ich aktuell so:
Public Sub Datum_Suchen()
Dim rngFind         As Range
Dim strDate         As String
Dim Lz              As Long
Dim Lz1             As Long
Dim i               As Integer
Dim rngBereich      As Range
Dim rngZelle        As Range
Sheets("Auswertung").Select
Lz = ActiveSheet.Cells(Rows.Count, "D").End(xlUp).Row
strDate = Range("D1").Value
If strDate = "" Then Exit Sub
Set rngFind = Rows("9:9").Cells.Find(DateValue(strDate), LookIn:=xlFormulas)
If Not rngFind Is Nothing Then
rngFind.Offset(1, 0).Activate
ActiveCell.FormulaR1C1 = _
"=IF(RC4=""ZDE"",SUMIFS(CSEL10BAU55!C5,CSEL10BAU55!C1,R1C4,CSEL10BAU55!C15,RC3, _
CSEL10BAU55!C19,""""),IF(RC4=""BDE"",SUMIFS(CSEL10BAU55!C4,CSEL10BAU55!C1,R1C4,CSEL10BAU55!C15,RC3,CSEL10BAU55!C19,""""),IF(RC4=""Produktionszeit"",SUMIFS(CSEL10BAU55!C7,CSEL10BAU55!C1,R1C4,CSEL10BAU55!C15,RC3,CSEL10BAU55!C19,""""),IF(RC4=""Gemeinkostenzeit"",SUMIFS(CSEL10BAU55!C10,CSEL10B" & _        "AU55!C1,R1C4,CSEL10BAU55!C15,RC3,CSEL10BAU55!C19,""""),IF(RC4=""Differenz"",SUMIFS(CSEL10BAU55!C2,CSEL10BAU55!C1,R1C4,CSEL10BAU55!C15,RC3,CSEL10BAU55!C19,""""),"""")))))" & _
ActiveCell.AutoFill Destination:=ActiveCell.Resize(Lz - ActiveCell.Row + 1), Type:= _
xlFillValues
ActiveCell.Resize(Lz - ActiveCell.Row + 1).Copy
ActiveCell.Resize(Lz - ActiveCell.Row + 1).PasteSpecial Paste:=xlPasteValues, Operation:= _
xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Set rngBereich = ActiveCell.Resize(Lz - ActiveCell.Row + 1)
For Each rngZelle In rngBereich
If rngZelle.Value = "" Then
rngZelle.FormulaR1C1 = "=IFERROR((R[-3]C/R[-5]C*1),"""")"
rngZelle.NumberFormat = "0.0%"
End If
Next
ActiveCell.Resize(Lz - ActiveCell.Row + 1).Copy
ActiveCell.Resize(Lz - ActiveCell.Row + 1).PasteSpecial Paste:=xlPasteValues, Operation:= _
xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Else
MsgBox "Das Datum wurde nicht gefunden!"
End If
End Sub

Beispiel Datei:
https://www.herber.de/bbs/user/144968.xlsx
Allerdings nur wie es gerade ist und wie es aussehen soll. (Ohne Daten für die Berechnung)
Vielen Dank, beste Grüße
der Mani

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei Makro - Werte berechnen
20.03.2021 12:25:49
Mani
Habe es selber hinbekommen
Sub Test()
Dim Lz4 As Long
Dim LS4 As Long
Lz4 = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
LS4 = ActiveSheet.Cells(9, Columns.Count).End(xlToLeft).Column - 3
For I = Lz4 To 1 Step -1
If Cells(I, 4).Value = "%" Then Cells(I, 4).Resize(, LS4).Replace "0%", "-", xlWhole
Next
End Sub
Vielen Dank
der Mani
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige