Forum » Programska oprema » [Excel] Zamenjava besedila s sklicem
[Excel] Zamenjava besedila s sklicem
MRB0rYS ::
Zanima me kako bi v excelu zamenjal neko besedo z pogojem ki je v drugi celici, da bi mi to samo delalo verjetno bom mogu posečt v VB. Namreč imam v enem stolpcu različne besede ki se ponavljajo, v drugem stolpcu bi pa rad zamenjal besedo, ki se tudi ponavljajo enake, vendar v tisti vrstici ki je enaka stolpcu pred njo. No sm zakompliciral, bom raje kar razložil z primerom:
A B
1 pes 1 mačka
torej sedaj bi rad zamenjal besedo pes v recimo tiger, če je pod B1 mačka drugače nebi menjal.
upam da je razumljivo...
Sedaj imam sledečo kodo v VB, ki pregleda in zamenja samo v enem stolpcu:
Tukaj bi verjetno moral dodati nek IF stavek toda kako???
lp
A B
1 pes 1 mačka
torej sedaj bi rad zamenjal besedo pes v recimo tiger, če je pod B1 mačka drugače nebi menjal.
upam da je razumljivo...
Sedaj imam sledečo kodo v VB, ki pregleda in zamenja samo v enem stolpcu:
Sub POPRAVIimena1() Range("G5:G882").Select 'SEL Selection.Replace What:="BESEDA 1", Replacement:="BESEDA 2", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End Sub
Tukaj bi verjetno moral dodati nek IF stavek toda kako???
lp
b0rys
- spremenil: MRB0rYS ()
smetko ::
1. Brez makroja
v koloni "C" ali v katerikololi drugi koloni napiši funkcijo
=IF(AND(B1="mačka";A1="pes");"konj";A1)
in nato to kolono kopiraš in greš na posebno leplenje kjer izbereš samo vrednosti.
po tem lahko kolono "C" tudi izbrišeš
2. Z makrojem:
For i = 5 To 822
If Cells(i, "B") = "mačka" And Cells(i, "A") = "pes") then
Cells(i, "A") = "konj"
End If
Next i
Namesto "A", "B",... ta označevanje kolon lahko uporabiš tudi 1,2,...
v koloni "C" ali v katerikololi drugi koloni napiši funkcijo
=IF(AND(B1="mačka";A1="pes");"konj";A1)
in nato to kolono kopiraš in greš na posebno leplenje kjer izbereš samo vrednosti.
po tem lahko kolono "C" tudi izbrišeš
2. Z makrojem:
For i = 5 To 822
If Cells(i, "B") = "mačka" And Cells(i, "A") = "pes") then
Cells(i, "A") = "konj"
End If
Next i
Namesto "A", "B",... ta označevanje kolon lahko uporabiš tudi 1,2,...
No comment
MRB0rYS ::
Tole je zgleda prava varianta z makrojem, ampak mi vrže ven error:
vrže me VB in izpiše
compile error:
invalid outside procedure
Koda zgleda takole:
vrže me VB in izpiše
compile error:
invalid outside procedure
Koda zgleda takole:
Sub Makro3() ' ' Makro3 Makro ' Makro ustvaril: dne 31.8.2007 ' For i = 5 To 822 If Cells(i, "B") = "mačka" And Cells(i, "A") = "pes") then Cells(i, "A") = "konj" End If Next i ' End Sub
b0rys
Zgodovina sprememb…
- spremenil: MRB0rYS ()
smetko ::
napaka v vrsici: If Cells(i, "B") = "mačka" And Cells(i, "A") = "pes") then
za "pes" ni zaklepaja
pravilno: If Cells(i, "B") = "mačka" And Cells(i, "A") = "pes" then
za "pes" ni zaklepaja
pravilno: If Cells(i, "B") = "mačka" And Cells(i, "A") = "pes" then
No comment
MRB0rYS ::
Ej hvala ti...
Sem bolj frišen v tem Vb, samo sem pogruntal kaj je narobe, saj se postavi tja kjer je error.
Tako da je koda sedaj sledeča in deluje:
Po moje lahko sedaj kopiram "If Cells(i, "B") = "mačka" And Cells(i, "A") = "pes" Then Cells(i, "A") = "konj"" kolikokrat hočem in pač spreminjam imena zamenjav, ker je pač več različnih besed.
recimo:
Sem bolj frišen v tem Vb, samo sem pogruntal kaj je narobe, saj se postavi tja kjer je error.
Tako da je koda sedaj sledeča in deluje:
Sub Zamenjava() ' ' Makro ustvaril: dne 31.8.2007 ' For i = 5 To 822 If Cells(i, "B") = "mačka" And Cells(i, "A") = "pes" Then Cells(i, "A") = "konj" Next i ' End Sub
Po moje lahko sedaj kopiram "If Cells(i, "B") = "mačka" And Cells(i, "A") = "pes" Then Cells(i, "A") = "konj"" kolikokrat hočem in pač spreminjam imena zamenjav, ker je pač več različnih besed.
recimo:
Sub Zamenjava() ' ' Makro ustvaril: dne 31.8.2007 ' For i = 5 To 822 If Cells(i, "B") = "mačka" And Cells(i, "A") = "pes" Then Cells(i, "A") = "konj" If Cells(i, "B") = "a" And Cells(i, "A") = "pač nekaj" Then Cells(i, "A") = "t" If Cells(i, "B") = "c" And Cells(i, "A") = "pač nekaj" Then Cells(i, "A") = "z" If Cells(i, "B") = "f" And Cells(i, "A") = "pač nekaj" Then Cells(i, "A") = "z" If Cells(i, "B") = "g" And Cells(i, "A") = "pač nekaj" Then Cells(i, "A") = "u" If Cells(i, "B") = "h" And Cells(i, "A") = "pač nekaj" Then Cells(i, "A") = "i" Next i ' End Sub
b0rys
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Excel: tiskanje po vrsticahOddelek: Pomoč in nasveti | 1097 (1010) | luksorzi |
» | Calc/excel delo s tabeloOddelek: Programiranje | 1449 (1216) | salabajs |
» | [Excel]Kako izvleči vrednost?Oddelek: Programiranje | 3773 (3496) | Mobidick |
» | [excel] makro | excel -pomocOddelek: Programiranje | 1952 (1736) | smetko |
» | Visual Basic in ExcelOddelek: Programiranje | 2671 (2237) | Vesoljc |