Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro _ Nach Formeleingabe nur Werte

Makro _ Nach Formeleingabe nur Werte
10.08.2017 13:19:34
Gisela
Hallo zusammen,
meine bescheidenen Kenntnisse reichen mal wieder nicht aus.
Ich habe ein Makro (aus dem Forum) teilweise ergänzt. Es wird eine Formel in Spalte Q bis zur ersten leeren Zeile in Abhängigkeit der Spalte D eingetragen. Das funktioniert soweit auch.
Ich möchte jetzt, dass danach keine Formeln mehr, sondern nur noch die Werte in Spalte Q stehen.
Kann mir da bitte jemand weiter helfen.
Sub Test()
Dim Reihe As Integer
Reihe = 4 'Startzeile
With ActiveWorkbook.Worksheets("Tabelle1")
Do Until .Cells(Reihe, "D") = vbNullString
If Left(.Cells(Reihe, "D"), 2) > "" Then
.Cells(Reihe, "Q") = "=IF(RC[-3]="""",""O"",RC[-3]+20)"
.Cells(Reihe, "Q") = Copy
End If
Reihe = Reihe + 1
Loop
End With
End Sub
Vielen Dank für jede Hilfe
Liebe Grüße
Gisela
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro _ Nach Formeleingabe nur Werte
10.08.2017 13:28:58
ChrisL
Hi Gisela
Sub t()
With ThisWorkbook.Worksheets("Tabelle1")
With .Range("Q4:Q" & .Cells(Rows.Count, 4).End(xlUp).Row)
.Formula = "=IF(D4="""","""",IF(N4="""",""O"",N4+20))"
.Value = .Value
End With
End With
End Sub

cu
Chris
AW: Makro _ Nach Formeleingabe nur Werte
10.08.2017 13:32:03
Michael
Hallo!
Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = Wb.Worksheets("Tabelle1")
Dim nC&, r As Range
With Ws
nC = .Cells(.Rows.Count, "D").End(xlUp).Row
Set r = .Range(.Cells(4, "Q"), .Cells(nC, "Q"))
r = "=IF(RC[-3]="""",""O"",RC[-3]+20)"
r.Value = r.Value
End With
Set Wb = Nothing: Set Ws = Nothing: Set r = Nothing
End Sub
LG
Michael
Anzeige
Wieso Formel und nicht gleich Wert?
10.08.2017 13:33:56
EtoPHG
Hallo Gisela,
so:
Sub Test()
Dim Zeile As Long
With ActiveWorkbook.Worksheets("Tabelle1")
Zeile = 4 'Startzeile
Do Until .Cells(Zeile, 4) = vbNullString
If Left(.Cells(Zeile, 4), 2) > "" Then
If .Cells(Zeile, 14) = "" Then
.Cells(Zeile, 17) = "O"
Else
.Cells(Zeile, 17) = .Cells(Zeile, 14) + 20
End If
End If
Zeile = Zeile + 1
Loop
End With
End Sub
Gruess Hansueli
Anzeige
@ChrisL & Michael(m..) xlUp <> xlDown! (owT)
10.08.2017 13:35:51
EtoPHG

Ich kann Dir noch nicht folgen,...
10.08.2017 13:46:39
Michael
Hallo Hansueli,
...was meinst Du?
LG
Michael
AW: Ich kann Dir noch nicht folgen,...
10.08.2017 13:53:33
ChrisL
Hi Michael
Do Until .Cells(Reihe, "D") = vbNullString
... sollte eigentlich mit ...
.Range("D4").End(xlDown).Row
... ersetzt werden.
Ich bin mir aber fast sicher, dass es in Spalte D keine Lücken gibt :)
cu
Chris
Anzeige
Ay, can see it now ;-) Danke owT
10.08.2017 14:13:24
Michael
Dank an alle, habe Version ChristL genommen
10.08.2017 13:55:38
Gisela
o.T.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige