Haluaisin tehdä Exceliin makron, joka:
1. Lukee työkirjan taúlukosta 1 (olkoon se nimeltään vaikka A) solussa A1 olevan sanan (olkoon se sana tässä vaikka AASI)
2. Hyppää saman työkirjan taulukkoon 2 (B)
3. Korvaa kaikki AASIt vaikkapa sanalla HEPPA
4. Menee takaisin A:han ja poistaa solun, jossa lukee AASI ja siirtää saman sarakkeen soluja yhdellä ylöspäin
5. Lukee A:n solusta A1 uuden sanan (MUULI)
6. Jatkaa kohdasta 2, eli vaihtaa B-taulukon MUULIt niin, että niiden paikalla lukee HEPPA, ja niin edelleen... Kunnes taulukko A on tyhjä.
Osasin nauhoittamalla tehdä tästä eräänlaisen version, mutta sepä ei poistakaan MUULIa, vaan yrittää aina vaan poistaa AASIa hävittäen samalla A-taulukon sanat, mutta korvaten B:ssä hepoilla ainoastaan aasit.
Joskus kauan sitten olen tällaisen tehnyt, mutta juuri nyt en muista enkä koko aamun etsimisen jälkeen ole löytänyt netistäkään...
Osaisiko joku auttaa?
1. Lukee työkirjan taúlukosta 1 (olkoon se nimeltään vaikka A) solussa A1 olevan sanan (olkoon se sana tässä vaikka AASI)
2. Hyppää saman työkirjan taulukkoon 2 (B)
3. Korvaa kaikki AASIt vaikkapa sanalla HEPPA
4. Menee takaisin A:han ja poistaa solun, jossa lukee AASI ja siirtää saman sarakkeen soluja yhdellä ylöspäin
5. Lukee A:n solusta A1 uuden sanan (MUULI)
6. Jatkaa kohdasta 2, eli vaihtaa B-taulukon MUULIt niin, että niiden paikalla lukee HEPPA, ja niin edelleen... Kunnes taulukko A on tyhjä.
Osasin nauhoittamalla tehdä tästä eräänlaisen version, mutta sepä ei poistakaan MUULIa, vaan yrittää aina vaan poistaa AASIa hävittäen samalla A-taulukon sanat, mutta korvaten B:ssä hepoilla ainoastaan aasit.
Joskus kauan sitten olen tällaisen tehnyt, mutta juuri nyt en muista enkä koko aamun etsimisen jälkeen ole löytänyt netistäkään...
Osaisiko joku auttaa?
Vastaukset 2
Vanhimmat
Sub vaihto()
Application.ScreenUpdating = False
Do Until Range("A1") = ""
Vanha = Range("A1")
Uusi = "HEPPA"
Range("A1").Select
Selection.Delete Shift:=xlUp
Sheets("B").Select
ActiveSheet.Cells.Select
Selection.Replace What:=Vanha, Replacement:=Uusi
Sheets("A").Select
Loop
Application.ScreenUpdating = True
End Sub
Suurkiitokset! Toimii!