Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1152to1156
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

Nur markierte Zellen verarbeiten

Nur markierte Zellen verarbeiten
MaxKuba
Hallo Excel Spezialisten
könnt Ihr mir bitte helfen diesen Code so umzuwandeln das nur bei den markierten Zellen die Formel ifserror eingefügt wird?
Sub NA_raus()
Dim rng As Range, cell As Range, fmla As String
Set rng = Cells.SpecialCells(xlCellTypeFormulas, 16)
For Each cell In rng
fmla = Right(cell.Formula, Len(cell.Formula) - 1)
cell.Formula = "=if(iserror(" & fmla & "), """"," & fmla & ")"
Next
End Sub

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
versuch mal und ...
21.04.2010 10:35:12
Tino
Hallo,
mach aus Cells.SpecialCells -> Selection.SpecialCells
Gruß Tino
AW: versuch mal und ...
21.04.2010 11:12:24
MaxKuba
Hallo Tino,
leider gehts noch nicht. Ich glaube es liegt daran das oben der Range bereich anders definiert werden muss. Leider weis ich nicht wie ich das formulieren soll..
Momentaner Stand:
Sub NA_raus()
Dim rng As Range, cell As Range, fmla As String
Set rng = Selection.SpecialCells(xlCellTypeFormulas, 16)
For Each cell In rng
fmla = Right(cell.Formula, Len(cell.Formula) - 1)
cell.Formula = "=if(iserror(" & fmla & "), """"," & fmla & ")"
Next
End Sub

Anzeige
AW: versuch mal und ...
21.04.2010 11:20:13
Rudi
Hallo,
rng umfasst nur Formeln, die einen Fehler verursachen.
Lass mal ,16 weg.
Gruß
Rudi
vielleicht mit IsError()
21.04.2010 11:37:23
Erich
Hi Max(?),
vielleicht so?:

Sub NA_raus()
Dim rngF As Range, rngC As Range, strFml As String
Set rngF = Selection.SpecialCells(xlCellTypeFormulas)
For Each rngC In rngF
If IsError(rngC.Value) Then
strFml = Right(rngC.Formula, Len(rngC.Formula) - 1)
rngC.Formula = "=if(iserror(" & strFml & "), """"," & strFml & ")"
End If
Next rngC
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: vielleicht mit IsError()
21.04.2010 11:40:25
MaxKuba
Hallo Erich,
neine leider macht Excel immer noch alle Felder mit Iserror.
Nicht den markierten bereich..
Hat jemand noch eine Idee?
Grüsse, Max
Anzeige
jetzt mit Notbremse
21.04.2010 11:48:08
Erich
Hi Max,
probier mal

Sub NA_raus()
Dim rngF As Range, rngC As Range, strFml As String
Set rngF = Selection.SpecialCells(xlCellTypeFormulas)
If Not rngF Is Nothing Then Set rngF = Intersect(rngF, Selection)
If Not rngF Is Nothing Then
For Each rngC In rngF
If IsError(rngC.Value) Then
strFml = Right(rngC.Formula, Len(rngC.Formula) - 1)
rngC.Formula = "=if(iserror(" & strFml & "), """"," & strFml & ")"
End If
Next rngC
End If
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
... oder so
21.04.2010 12:04:03
Erich
Hi,
noch eine Variante, mit ",16":

Sub NA_raus()
Dim rngF As Range, rngC As Range, strFml As String
On Error Resume Next
Set rngF = Selection.SpecialCells(xlCellTypeFormulas, 16)
On Error GoTo 0
If Not rngF Is Nothing Then
If Not Intersect(rngF, Selection) Is Nothing Then
For Each rngC In Intersect(rngF, Selection)
strFml = Right(rngC.Formula, Len(rngC.Formula) - 1)
rngC.Formula = "=if(iserror(" & strFml & "), """"," & strFml & ")"
Next rngC
End If
End If
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
bei mir funktioniert es? ...
21.04.2010 11:50:52
Tino
Hallo,
es werden Error Formel gefunden im Markierten Bereich.
Sind keine vorhanden kommt es zu einem Fehler, daher so.
Sub NA_raus()
Dim rng As Range, cell As Range, fmla As String
On Error Resume Next
Set rng = Selection.SpecialCells(xlCellTypeFormulas, 16)
On Error GoTo 0
If Not rng Is Nothing Then
For Each cell In rng
fmla = Right(cell.Formula, Len(cell.Formula) - 1)
cell.Formula = "=if(iserror(" & fmla & "), """"," & fmla & ")"
Next
End If
End Sub
Gruß Tino
wirklich?
21.04.2010 11:58:38
Erich
Hi Tino,
probier mal:
In A1 steht eine Fehler-Formel.
Cursor steht in B2, nur B2 ist also markiert.
Dein Makro findet dann A1 - was nicht zu Selection gehört.
Das - glaube ich - meint Max.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
tatsächlich...
21.04.2010 12:03:25
Tino
Hallo,
, wenn nur eine Zelle markiert ist erweitert Excel SpecialCells von sich aus?!
Erst wenn mehr als eine Zelle markiert ist funktioniert es so wie es eigentlich soll.
Gruß Tino
Tja, Bill G. denkt für uns... ;-) (owT)
21.04.2010 12:05:30
Erich
1 Zelle ist immer aktiv - deshalb! Gruß owT
22.04.2010 02:33:43
Luc:-?
:-?
dann halt so...
21.04.2010 12:07:37
Tino
Hallo,
müsste so funzen.
Sub NA_raus()
Dim rng As Range, cell As Range, fmla As String
If Selection.Count > 1 Then
On Error Resume Next
Set rng = Selection.SpecialCells(xlCellTypeFormulas, 16)
On Error GoTo 0
Else
If IsError(Selection) Then Set rng = Selection
End If
If Not rng Is Nothing Then
For Each cell In rng
fmla = Right(cell.Formula, Len(cell.Formula) - 1)
cell.Formula = "=if(iserror(" & fmla & "), """"," & fmla & ")"
Next
End If
End Sub
Gruß Tino
Anzeige
AW: dann halt so...
21.04.2010 12:32:43
MaxKuba
Tino du bist der Beste!!!
Vielen Dank an alle,
Gruss, Max
bestimmt nicht, Erich hat auch Vorschläge oT.
21.04.2010 12:37:51
Tino

46 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige