Hej Peter!
Ja, det är ett vanligt problem när man spelar in makron. Ett bra sätt för att förenkla problem är att undvika "Select" och "Selection". Du kan till exempel skriva om
Range("A1").Select
Selection.End(xlToRight).Select
Selection.Copy
Till
Range("A1").End(xlToRight).Copy
Det gör koden lite mindre och smidigare. Sen är det också så att "Copy" kopierar själva cellen, och det är inte rätt i det här fallet. Istället får man ta innehållet och lägga det i en variabel. (Vilket man skapar med Dim x As String).
Jag skulle då skriva om din kod som:
Public Sub ReplaceVSPEC()
Dim x As String
x = Range("A1").End(xlToRight)
Range(Range("A1").End(xlToRight), Range("A1").End(xlToRight).End(xlDown)).Replace _
What:="VSPEC", Replacement:=x, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
Notera 'Replacement:=x' istället för din tidigare 'Replacement:="1234"'
Mvh
Niklas