Hej Detta var uppe för ett tag sedan fast rörande autofilter, och det fungerade för mig med alla möjliga varianter. Den här suben ersätter alla felvärden på bladet med tom cell Alla resultat är kopierade och "klistra in special, värde". <code>Sök och ersätt "#Saknas!" med macro i excel
Jag försöker få bort alla #Saknas! i ett excelblad allt funkar bra om man gör det manuellt men när jag spelar in ett macro som ska göra samma sak funkar det inte länger
så här ser macrot ut
8<
Cells.Replace What:="#saknas!", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
8<
Någon som har något förslag på lösning?
/HåkanSv: Sök och ersätt "#Saknas!" med macro i excel
Detta är jag mer osäker på. Hur fungerar ersättningen? Vad vill du ersätta?
Om detta är ett resultat genererat av en formel så kan du ju inte använda en vanlig replace; tänk samma grej med ersättning av värden...Sv: Sök och ersätt "#Saknas!" med macro i excel
Dock ersätts formler också vilket du kanke inte avsåg
<code>
Sub ReplaceError()
Dim i As Integer
Dim j As Integer
Dim rgData As Range
Dim EndRow As Long
Dim EndCol As Long
Dim vaDataArray As Variant
EndRow = Range("A1").SpecialCells(xlLastCell).Row
EndCol = Range("A1").SpecialCells(xlLastCell).Row
' Anger cellområde som skall berabetas
Set rgData = Range(Cells(1, 1), Cells(EndRow, EndCol))
'Läser vi in data till matrisen från det identifierade cellområdet.
vaDataArray = rgData.Value
For i = 1 To EndRow
For j = 1 To EndCol
If IsError(vaDataArray(i, j)) Then vaDataArray(i, j) = ""
Next j
Next i
' Den bearbetade data returneras tillbaka till arbetsbladet.
rgData.Value = vaDataArray
Set rgData = Nothing
End Sub
</code>
Jag brukar göra kollen i cellen istället
Ex
=OM(ÄRSAKNAD(A1+A2);"";A1+A2)Sv: Sök och ersätt "#Saknas!" med macro i excel
Det blir så även om jag skriver in #Saknas! i en cell.
/HåkanSv: Sök och ersätt "#Saknas!" med macro i excel
Option Explicit
Sub Replace_ErrorValues()
Dim wbBook As Workbook
Dim wsSheet As Worksheet
Dim rndata As Range
Set wbBook = ThisWorkbook
Set wsSheet = wbBook.Worksheets(1)
With wsSheet
Set rndata = .Range("A1:D12")
End With
Application.Screenupdating = False
With rndata
.Replace What:="#*", Replacement:="", LookAt:=xlWhole
End With
Application.Screenupdating = true
End Sub
</code>