Makro, které odmaže první 4 znaky v buňce
Dobrý den, rád bych požádal o pomoc s makrem pro excel 2007. Mám sloupec s názvy firem, ale import dat z jiného zdroje mi občas vloží před název 3 pořadová čísla a podtržítko (takto: 367_XXXX_YYYY). Prosím o pomoc s makrem, které najde ve sloupci buňky, kdy čtvrtá pozice je "podtržítko" a potom smaže první 3 čísla včetně podtržítka, které je na 4 pozici. Děkuji velmi
Odpovědi
Diskuze
Sub M1()
Dim a, b, e As String
Dim c, d As Integer
b = "F"
c = 5: d = 200
For i = c To d
e = b & i
a = Range(e).Value
If Mid(a, 4, 1) = "_" Then Range(e).Value = Right(a, Len(a) - 4)
Next i
End Sub
Na čtvrtém řádku je definován sloupec, který se bude zpracovávat, na pátém řádku je počáteční a konečný zpracovávaný řádek. Makro by se samozřejmě dalo zjednodušit co do počtu řádků, pokud by to bylo potřeba, na příklad automatickou definicí posledního řádku, ale pak by musela být tabulka souvislá, nemohla by obsahovat prázdné řádky.
Makro odmaže všechno, co je v údaji, ve kterém je čtvrtým znakem podtržítko, před tímto podtržítkem.
Mějme tedy 123_aaa_bbb_ccc. Po prvním průchodu makra tedy zůstane aaa_bbb_ccc. Pokud by tento údaj zpracovávalo makro znovu, zůstalo by bbb_ccc a po opětovném průchodu jen ccc. Proto pozor na opakované průchody.