ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] vba §äÀx¦s®æ¦ì¸m°õ¦æ®Ä¯à½Ð¯q

[µo°Ý] vba §äÀx¦s®æ¦ì¸m°õ¦æ®Ä¯à½Ð¯q

¤p§Ì¥¿¦b³]­p¤@­Óªí
¦ý³o­Óªí¥¼¨Ó¹w´Áªº»Ý¨D·|¹F¨ì¼Æ¸Uµ§

¨ä¤¤¤@­Ó«Ü²³æªº¥\¯à¡A´N¬Ofind¡A«ü©w¤@­Ó¦r¦ê«á¡A¥h§ä¥¦ªº¦ì¸m¡A¥u¬O§Ú±o±N³o¼Æ¸Uµ§¸ê®Æ³£¥h§ä¬ÛÃö¦ì¸m¥X¨Ó

°ÝÃD¨Ó¤F¡A¦³´X¤Q´X¦Êµ§¡A¥Î¤°»ò¤èªk¦ü¥G³£·P¨ü¤£¨ì©úÅã®t²§

¦pªG¼Æ¤d¼Æ¸Uµ§¼vÅT´N¥X²{¤F

½Ð±Ð¡Avba¤¤

¬d§ä¦r¦ê¡G123456789

¤èªk¤@¡Gsheet1.range("A").Find(what:="123456789", lookin:=xlValues).address

¤èªk¤G¡G
redim a()
for i = 1 to lostrow
         ¦r¦ê(i)=sheet1.cells(i,1)
         if  ¦r¦ê(i)="123456789" then
              msgbox i
         end if
next

¥Ø«eÀ|¸Õ³o¤GºØ¤èªk

¤p§Ìª¾¹D¦³¤@ºØ¥sdictionaryª«¥óªº¤èªk¡A°õ¦æ®Ä¯à¶W°ª¡A¦ý¤£ª¾¦p¦óÀ³¥Î¦b¼Æ¸Uµ§¸ê®Æ¤¤¬d§ä¦ì¸m
©Î¬O¯à§_¦³­Ó½d¨Ò²V¦X¹B¥Î°}¦C¤Îdictionaryª«¥ó©O

¤p§Ì¾Ç²L¡A¥Ø«e¥u·|¨Ï¥Î¨ì°}¦C¡A¦ý·Q¨ìº¸«á¼Æ¸Uµ§¸ê®Æ¡A¯uªº«Ü·Q´£°ª®Ä¯à¡AÀµ½Ðª©¤W¦U¦ì¥ý¶i«üÂI¤@¤G¡CÁÂÁ¡C
EXCEL VBA·s¤â¡A½Ð«e½ú¦h¦h«ü±Ð

¸É¥R¡G
¶}·sªº¤u§@ï
´¡¤J¼Ò²Õ
¥H¤U¼Ò²Õ¦Û°Ê¶ñ¤J¤@¨ì¤@¦Ê¸U
Sub test()
For i = 1 To 1000000
Sheets("¤u§@ªí1").Cells(i, 1) = i + 1
Next
End Sub

¬d§ä¤èªk¤@¡Gª½±µ¨Ï¥Î¤º«Ø¨ç±Ð¡A»Ý®É¤@¬í
Sub find1()
t = Timer
If Sheets("¤u§@ªí1").Range("a:a").Find(what:="987267", LookIn:=xlValues).Rows > 0 Then
MsgBox Timer - t
End If
End Sub

¤èªk¤G¡G°j°é¶ñ¤J°}¦C¡A¤Ñ­þ¡A¶·®É¤Q¤@¬í
Sub find2()
ReDim s(1 To 1000000)
t = Timer
For i = 1 To 1000000
s(i) = Sheets("¤u§@ªí1").Cells(i, 1)
If s(i) = "987267" Then
MsgBox Timer - t
End If
Next
End Sub

Àµ¨D²Ä¤TºØ¤èªk¡B²Ä¥|ºØ¤èªk¡B²Ä¤­ºØ¤èªk¡A¤p§Ì´N¬O·Q§ä¨º¤@ºØ¤èªk®Ä¯à³Ì°ª
EXCEL VBA·s¤â¡A½Ð«e½ú¦h¦h«ü±Ð

TOP

¤Ó·PÁ¤G¦ì¤j­ôªº¸Ñ»¡

¤p§Ì°¨¤W¸Õ¸Õ¬Ý
EXCEL VBA·s¤â¡A½Ð«e½ú¦h¦h«ü±Ð

TOP

¦^´_ 3# PKKO


    Sub find3()
t = Timer
Rng = Sheets("¤u§@ªí1").Cells(1, 1).Resize(1000000, 1).Value '10000ªº³¡¤À¥i¦Û¦æÅܧó¦C¼Æ
Set D = CreateObject("SCRIPTING.DICTIONARY") '¦r¨åª«¥ó

For i = 1 To UBound(Rng)
     D(CStr(Rng(i, 1))) = i
Next
'³oÃä¬Ý§A­n§ä¬Æ»ò¸ê®Æ,°²³]¬Ox,´N·|¥X²{x¬O²Ä´X¦C¤F

MsgBox D(CStr("987267"))


End Sub

°õ¦æ«á¡A´N¤@ª½¶]¡AµM«áµLªk°±¤î¤F
EXCEL VBA·s¤â¡A½Ð«e½ú¦h¦h«ü±Ð

TOP

¦^´_ 8# PKKO


    ·PÁ¡C§Ú±ß¤W¦A¨Ó¸Õ¤@¦¸
EXCEL VBA·s¤â¡A½Ð«e½ú¦h¦h«ü±Ð

TOP

        ÀR«ä¦Û¦b : «H¤ß¡B¼Ý¤O¡B«i®ð¤TªÌ¨ã³Æ¡A«h¤Ñ¤U¨S¦³°µ¤£¦¨ªº¨Æ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD