enake vrednosti v dveh stolpcih

Pomoč pri delu z MS Excelom
Odgovori
MD
Prispevkov: 4
Pridružen: To Jan 22, 2008 3:05 pm

enake vrednosti v dveh stolpcih

Odgovor Napisal/-a MD »

Potreboval bi sledečo rešitev:

imam dva stolpca (z cca. 1000 vrsticami) v katerih so po posameznih vrsticah vrednosti sestavljene iz treh znakov (123, A34, 76T, ...).

Potreboval bi ukaz oz. postopek, da bi dobil število enakih vrednosti v obeh stolpcih. Npr. v stolpcu A imam 1000 različnih vrednosti in v stoplcu B tudi, a od tega jih je 300 enakih. Potreboval bi torej število enakih vrednosti (točno kateri so ni tako pomembno).

Upam, da sem bil dovolj jasen. Hvala za odgovor!
kljuka13
Prispevkov: 257
Pridružen: Po Sep 10, 2007 4:29 pm
Kraj: Maribor

Odgovor Napisal/-a kljuka13 »

Koda: Izberi vse

Sub prestejEnakeCelice()
Dim i, j, counter As Integer

For i = 1 To 1000
    For j = 1 To 1000
        If Range("a" & i).Value = Range("b" & j).Value Then
            counter = counter + 1
        End If
    Next j
Next i

MsgBox counter
End Sub
Da vam vse prešteje, pogleda potrebuje približno 5-10 sekund :roll:
[img]http://shrani.si/f/3t/YL/4W2P37B9/office.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]
MD
Prispevkov: 4
Pridružen: To Jan 22, 2008 3:05 pm

Odgovor Napisal/-a MD »

Se zahvaljujem za odgovor, a ker nisem ravno tolko notri v Exelu me zanima, kam omenjene ukaze vpišem oz. kakšen je celoten postopek??

Hvala.
kljuka13
Prispevkov: 257
Pridružen: Po Sep 10, 2007 4:29 pm
Kraj: Maribor

Odgovor Napisal/-a kljuka13 »

Storite tako:
  • Odprite vaš delovni zvezek v Excelu.
  • Pritisnite Alt+F11
  • Odprl se vam bo Visual Basic for Application (VBA)
  • Kliknite Insert in Module
  • V to okno prilepite prejšnji makro
  • Za preizkus pritisnite F5 in počakajte na izvedbo
  • Sedaj VBA zaprite
  • Ko boste želeli makro zagnati v Excelu pritisnite Orodja\Makro\Makri, izberite makro prestejEnakeCelice in pritisnite zaženi

Dolga navodila...
[img]http://shrani.si/f/3t/YL/4W2P37B9/office.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]
MD
Prispevkov: 4
Pridružen: To Jan 22, 2008 3:05 pm

Odgovor Napisal/-a MD »

Se zahvaljujem za izčrpna navodila.
MD
Prispevkov: 4
Pridružen: To Jan 22, 2008 3:05 pm

Odgovor Napisal/-a MD »

Sem naredil vse po navodilih a mi javi problem (overflow) v vrstici

counter = counter + 1

Pomoč prosim !!
kljuka13
Prispevkov: 257
Pridružen: Po Sep 10, 2007 4:29 pm
Kraj: Maribor

Odgovor Napisal/-a kljuka13 »

Hmm... To pride menda zaradi prevelikega števila... Namreč gre do samo 32767... Napišite tako:

Koda: Izberi vse

Koda: 
Sub prestejEnakeCelice() 
Dim i, j As Integer
dim counter As Long

For i = 1 To 1000 
    For j = 1 To 1000 
        If Range("a" & i).Value = Range("b" & j).Value Then 
            counter = counter + 1 
        End If 
    Next j 
Next i 

MsgBox counter 
End Sub 
[img]http://shrani.si/f/3t/YL/4W2P37B9/office.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]
Odgovori