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

[µo°Ý] ½Ð°ÝVBA ªºµ{¦¡¦³¨S¦³¥i¥H¿ë»{¬Y­ÓÀx¦s®æ¤ºªº¦r¤¸¦³µL¥]§t¬Y´X­Ó¦r¦ê¡H

[µo°Ý] ½Ð°ÝVBA ªºµ{¦¡¦³¨S¦³¥i¥H¿ë»{¬Y­ÓÀx¦s®æ¤ºªº¦r¤¸¦³µL¥]§t¬Y´X­Ó¦r¦ê¡H

½Ð°ÝVBA ªºµ{¦¡¦³¨S¦³¥i¥H¿ë»{¬Y­ÓÀx¦s®æ¤ºªº¦r¤¸¦³µL¥]§t¬Y´X­Ó¦r¦ê¡H
¨Ò¦p
¥t¥~µL½×¬O¤j¼g©Î¤p¼g³£¿ë»{¨ì
in   A1  A3  A4 ¥]§t in
A1   window   
A2  office
A3  tina
A4  WINNIE   

¥t¥~¥i§_§ä´M¦r¦êªº¦ì¸m
¨Ò¦p
in   
A1   window                       3
A2  office   
A3  tina                                2
A4  WINNIE                       2

¦^´_ 2# kimbal


    ·PÁ¡A¦ý¥Î¤@¯ëexcel§Úª¾¹D¡A§Ú·Qª¾¹Dvba¦³µL³o­Ó¥\¯à¡H

TOP

¦^´_ 4# kimbal

·PÁÂ
    csearch = IIf(result = 0, "", result)
½Ð°Ý¦pªG¥u¬OÀˬd¦³¨S¦³¬O§_§ï¦¨csearch = IIf(result = 0, "¨S¦³", ¡§¦³¡¨)

¥t¥~½Ð°Ý
DO
UNTIL
¥i§_¦P®É¦³¨â­ÓUNTILªº±ø¥ó
¨Ò¦p¡G
DO

UNTIL i>=1 or l = 0
UNTIL i>=1 and l = 0

TOP

¦^´_  kimbal

·PÁÂ
    csearch = IIf(result = 0, "", result)
½Ð°Ý¦pªG¥u¬OÀˬd¦³¨S¦³¬O§_§ï¦¨csea ...
198188 µoªí©ó 2013-3-1 01:26



    ³o­Óµ{¦¡¬O§_»Ý­n¦bCÄæ³B¼g csearch("in"a1,)?
¦pªG¦bVBA¤ºª`©ú SEARCH "IN"¥i¥H¶Ü¡H¥t¥~­^¤å¤j¼g©M¤p¼g³£¥i¥H¿ë»{¨ì¶Ü¡H©ÎªÌ¦p¦ó«ü©w¿ë»{¤j¼g©Î¤p¼g¡H

TOP

  1. Sub Load_State_Detail()
  2. Dim FRng As Range
  3. Dim A As Range, Rng As Range
  4. Dim i As Integer
  5. Dim LastRec As Integer
  6. Dim l As Integer
  7. Dim k As Integer
  8. Dim j As Integer


  9. j = 2
  10. LastRec = Sheets("state").Range("A1").CurrentRegion.Rows.Count
  11. fs = "W:\Payment Daily Report\DOCS RECEIVED N RELEASED RECORD.xlsx"
  12. Set Wb = Workbooks.Open(fs)
  13. With ThisWorkbook.Worksheets("State")
  14. k = Wb.Sheets("¦¬¥ó°O¿ý").Range("A1").CurrentRegion.Rows.Count
  15. For l = 2 To LastRec

  16. Do
  17. If Worksheets("State").Range("A" & l).Value = Wb.Sheets("¦¬¥ó°O¿ý").Range("A" & j).Value Then
  18. Worksheets("State").Range("J" & l).Value = Wb.Sheets("¦¬¥ó°O¿ý").Range("h" & j)
  19. If (InStr(1, Worksheets("State").Cells(l, 10), "OBL") >= 1) Then Worksheets("State").Range("J" & l).Value = Wb.Sheets("¦¬¥ó°O¿ý").Range("h" & j) Else Worksheets("State").Range("J" & l).Value = ""
  20. End If
  21. j = j + 1
  22. Loop Until j = k Or (InStr(1, Worksheets("State").Cells(l, 10), "OBL") >= 1)
  23. Next
  24. End With
  25. End Sub
½Æ»s¥N½X
¦^´_ 7# kimbal

Test.rar (12.3 KB) DOCS RECEIVED N RELEASED RECORD.rar (226.13 KB)
­Óµ{¦¡If Worksheets("State").Range("A" & l).Value = Wb.Sheets("¦¬¥ó°O¿ý").Range("A" & j).Value Then ¥X²{RUN TIME ERROR "9" SUBSCRIP OUT OF RANG?
§Ú³o­Óµ{¦¡ªº§@¥Î¬O
¦btest excelùتºstate sheet AÄ檺­q³æ¸¹¦pªG¦bDOCS RECEIVED N RELEASED RECORDªí¤º¦³³o­Ó­q³æ¸¹¡A¦Ó¥B¦bHÄæùتº¦r¤¸§t¦³"OBL"¡A ¨º»ò¦btest excelùتºstate sheetªºJÄæ´NÅã¥ÜDOCS RECEIVED N RELEASED RECORDªí¤ºHÄ檺¦r¡A§_«h´NªÅ®æ

TOP

¦^´_ 8# mark15jill

½ÐÀ°§Ú¬Ý¬Ý¤W­±ªº°ÝÃD¡AÁÂÁÂ

TOP

¦^´_ 11# mark15jill
  1. Sub State_Detail()
  2. Dim FRng As Range
  3. Dim a As Range, Rng As Range
  4. Dim i As Integer
  5. Dim LastRec As Integer
  6. Dim z As Integer
  7. Dim y As Integer
  8. Dim x As Integer
  9. Dim w As Integer

  10. z = Sheets("state").Range("a2").CurrentRegion.Rows.Count
  11. fs = "C:\Documents and Settings\USER\®à­±\DOCS RECEIVED N RELEASED RECORD.xlsx"
  12. Set WB = Workbooks.Open(fs)

  13. With ThisWorkbook.Worksheets("State")

  14. x = 2
  15. For w = 2 To z
  16.     Do
  17.         If WB.Sheets("¦¬¥ó°O¿ý").Cells(x, "D") = Sheets("state").Cells(w, "A") And (InStr(1, WB.Sheets("¦¬¥ó°O¿ý").Cells(x, "H"), "OBL") >= 1) Then
  18.                  Sheets("state").Cells(w, "J") = WB.Sheets("¦¬¥ó°O¿ý").Cells(x, "H")
  19.         End If
  20.         x = x + 1
  21.    Loop Until x = WB.Sheets("¦¬¥ó°O¿ý").Row.Count.End(xlUp)
  22. Next

  23. End With
  24. WB.Close 0
  25. End Sub
½Æ»s¥N½X
¥X²{°õ¦æ¶¥¬q¿ù»~9 °}¦C¯Á¤Þ¶W¥X½d³ò

TOP

¦^´_ 13# Hsieh


    ¦³­Ó°ÝÃD¡A¦]¬°§ÚªºDATA BASEùتº­q³æ¸¹·|­«½Æ´X¦¸¡A Set Rng = Sh.Columns("D").Find(a, lookat:=xlWhole) ³o¥y¥u¬O·|§ä¤@¦¸
¨Ò¦p¡G
200000     PLANT INV
200000     OHC
200000     OBL
200000     CO
200000     ¿ðµý«H

211111     OBL
211111     OHC
211111     CO

222222     OHC
222222     CO
222222     OBL
®ÄªG´NµLªk¥X²{
¦]¬°§Ú¬O·Q¥u­n­q³æ¸¹¬Û¦P¡A¦Ó¥B³o¨Ç­q³æ¸¹¥u­n¦³¤@¦C¦³OBL¤T­Ó¦r¡A´N¥X²{OBL§_«hªÅ®æ

TOP

¦^´_ 15# GBKEE


§Ú·Q­nªº®ÄªG¬O®Ú¾ÚTest.xlsmªºState Sheet ªºAÄ檺­q³æ¸¹¡A¨Ó´M§äDOCS RECEIVED N RELEASED RECORD.xlsx ¦¬³æ°O¿ýSHEET¤ºDÄæ¬O§_¦³¬Û¦Pªº­q³æ¸¹©MHÄ檺¦r¤¸¤º¥]§t"OBL"¤T­Ó¦r¡]¤j¤p¼g³£¨S¦³°ÝÃD¥i¥HŪ¨ì¡^¡A¦pªG¦³¡A¦bTest.xlsmªºState Sheet ªº¬ÛÀ³ªº­q³æ¸¹JÄæÅã¥ÜDOCS RECEIVED N RELEASED RECORD.xlsx ¦¬³æ°O¿ýSHEET¤ºHÄ檺¸ê®Æ¡C¦pªG¨S¦³´NªÅ®æ¡C
«e­±¦³ªþ¥ó
Test.xlsm
State sheet
AÄæ                JÄæ
20000          OBL-3
20001
20002
20003          OBL
20004          OBL

W:\Payment Daily Report\DOCS RECEIVED N RELEASED RECORD.xlsx"
¦¬³æ°O¿ýSHEET
DÄæ                          HÄæ
20000                     ¿ðµý«H
20000                     OBL-3
20003                     OHC(BODY-1,OIE-1,ACCEPTED BSE-1),CO
20000                     OHC(BODY-1,HPAI-1)
20004                     OHC(BODY-1,OIE-1,ACCEPTED BSE-1,AD-1,CL-1)
20005                     OHC(BODY-1)
20003                     OBL
20003                     INV
20005                     INV
20005                     OBL
20004                     OBL

TOP

¦^´_ 18# Hsieh

¥i¥H¤F¡A·PÁ¤j¤j

fd = ThisWorkbook.Path & "\"  '¸ê®Æ¨Ó·½¥Ø¿ý
fs = "DOCS RECEIVED N RELEASED RECORD.xlsx" '¸ê®Æ¨Ó·½ÀÉ®×(§t°ÆÀɦW)
¥t¥~½Ð°Ý¤W­±¨â¥y
¦pªG§Ú¼g³o¥y´À¥N¤W­±¨â¥yfs = "W:\PIHK\DOCS RECEIVED N RELEASED RECORD.xlsx"
©ÎªÌ
fd = W:\PIHK\
fs = "DOCS RECEIVED N RELEASED RECORD.xlsx" '¸ê®Æ¨Ó·½ÀÉ®×(§t°ÆÀɦW)
³o¼Ë¹ï¶Ü¡H

Join(Ar, "¡B"): Erase ³o¥y¬O¤°»ò·N«ä¡H

¥t¥~½Ð°Ý¦pªG§Ú¥»¨Ó¦bstateªíªºJÄæ¤w¸g¦³¸ê®Æ¡A·|¦]À³¹F¨ì±ø¥ó¦Ó¨ú´À¸ê®Æ¡A¦ý¦pªG­n¸ÓÀx¦s®æ¬OªÅ®æ¤~¨ú´À

If s > 0 and trim(a.Offset(,9) )=¡§¡¨Then a.Offset(, 9) = Join(Ar, "¡B"): Erase Ar: s = 0 Else a.Offset(, 9) = "" ³o¼Ë¼g¹ï¶Ü¡H

TOP

        ÀR«ä¦Û¦b : «Ý¤H°h¤@¨B¡A·R¤H¼e¤@¤o¡A´N·|¬¡±o«Ü§Ö¼Ö¡C
ªð¦^¦Cªí ¤W¤@¥DÃD