Hej, Nope. Förslag till lösning: <code>Fråga om VBA-makro i Excel
står lite still i huvudet på mig nu.
Har ett excelark med ett par hundra rader och cirka 15 kolumner, där alla värden har en apostrof framför sig (för att excel skall tolka det som text).
Problemet är att jag vill ha det i tal - och jag har inte tillgång till bakgrundsmaterialet. Jag har provat att ta vanliga "verktyg - format - cell - tal" - men det vill inte. Det går ändå inte att använda Excels funktion för att räkna osv.
Alltså vill jag markera ett område, låt säga a1-k200.
Hur loopar jag sedan genom dessa?
Min tanke är nämligen att göra en enkel loop där jag loopar igenom alla celler och tar bort första tecknet (som blir apostrofen) i cellen.
Förslag mottages tacksamt.Sv: Fråga om VBA-makro i Excel
Verkar inte som att man kan söka på en apostrof i Excel - åtminstonde får jag inga träffar :o/Sv: Fråga om VBA-makro i Excel
Skapa ett nytt temporärt kalkylblad. Skriv in följande formel för alla cellreferenserna.
=HÖGER(A1;2) (modifiera cellreferens och parameter så att det passar dina tal)
..kopiera sedan formeln nedåt för resten av cellerna. Markera och kopiera därefter rubbet, markera det ursprungliga cellområdet, välj därefter Klistra in special och markera Värden och klicka på OK.
Nu klistras värdena in utan enkelfnutten (inte apostrofen) i ditt ursprungliga cellområde. Formatet blir av typen Allmänt, men du kan ändra till Tal..
Lycka till!Sv: Fråga om VBA-makro i Excel
Option Explicit
Sub Clean()
Dim wb As Workbook, ws As Worksheet, rn As Range, Data As Variant, i As Integer
Set wb = ActiveWorkbook
Set ws = wb.Worksheets("Blad1")
With ws
Set rn = .Range("A1:K200")
End With
Data = rn.Value
For i = LBound(Data) To UBound(Data)
Data(i, 1) = Right(Data(i, 1), Len(Data(i, 1) - 1))
Next
rn.Value = Data
End Sub
</code>
//MW