» »

[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:
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,...
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:

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
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:

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 ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Excel: tiskanje po vrsticah

Oddelek: Pomoč in nasveti
71099 (1012) luksorzi
»

Calc/excel delo s tabelo

Oddelek: Programiranje
131450 (1217) salabajs
»

[Excel]Kako izvleči vrednost?

Oddelek: Programiranje
223777 (3500) Mobidick
»

[excel] makro | excel -pomoc

Oddelek: Programiranje
111956 (1740) smetko
»

Visual Basic in Excel

Oddelek: Programiranje
262674 (2240) Vesoljc

Več podobnih tem