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

¤£¦n·N«ä ·s¤â¤S¨Ó½Ð±Ð ¸ê®Æ¤ñ¹ï°ÝÃD ³Â·Ð¦U¦ì¤F

to ¶W¯Åª©¥D ¤U­±ªº¨º­Ó¥\¯à§Ú¼g¥X¨Ó¤F!! ·PÁ ¨º­Ómystr¤£¥Î©w¸q¨º­Ó°ÝÃD¦b³Â·Ð§A±Ð§Ú¤@¤U ÁÂÁÂ

TOP

¦^´_ 10# ffntldj

©êºp!³o¬O§Úªº²ßºD¤£¦n
    mystr¥¼«Å§i¡A§A¥i¦Û¤v¥[¶i¥h
§âmystr¬°¦r¦ê
¥¼«Å§iªºÅܼơAEXCEL·|»{¬°¬OVariant
·|¦Û¤v§PÂ_À³¸ÓÄÝ©ó­þ¤@ºØÅܼƦs¦b
§A¥i¥Ñµ{¦¡½X³v¦æ¤¤¬Ý¥XmystrªºÅܤÆ
´Nª¾¹D¥L¬O¬Æ»ò«¬ºAªºÅܼƤF
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¤F¸Ñ ÁÂÁ§A ¥Ø«e¤w¥Î³o­Ó¬[ºc¥h«Ø¥ß§Ú·Q­nªº¥\¯à

¥t¥~¸ò§A½Ð°Ý¤@­Ó°ÝÃD ¦pªG§Ú·Q­n§â¿é¤J§ï¦¨¥i¥H¿ï¾ÜÀÉ®×

¬O¤£¬O¥Îapplication.getopenfilename

¸Õ¤F¤@¤U ¦b With .Sheets("b") ·|¦³°ÝÃD

·P¿E¤£ºÉ

TOP

¦^´_ 13# ffntldj
©êºp¨S»¡²M·¡  À³¬O¥H¤U³o¬q §ï¦¨¿ï¾ÜÀÉ®×
With Workbooks.Open '("D:\¤uµ{®v°e¥ó½d¨Ò.xls") 'Àɮ׸ô®|¦Û¦æ­×§ï

TOP

getopenfilename·|±o¨ì?
workbooks.open¬A¸¹¤¤¬O§_»P§Agetopenfilename±o¨ìªº¬Û¦P?
¤F¸Ñ¦U­Ó«ü¥Oªº°Ñ¼Æ¸ê®Æ«¬ºA¡AÀ³¬O§A¥Ø«e³Ì»Ý­n²M·¡ªºÆ[©À
½Ð§Q¥ÎF8ªº³v¦æ¥\¯à¨ÓÀˬdÅܼƪºÅܤÆ
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¥»©«³Ì«á¥Ñ ffntldj ©ó 2011-7-22 23:18 ½s¿è

¦^´_ 15# Hsieh

§Ú¼g¥X¨Ó¤F~~~ ÁÂÁ µ{¦¡½Xµy«áªþ¤W

¦p¤U

myfile = workbook.application.getopenfilename ("excel¤å¥ó(*.xls),*.xls")
with workbooks.open(myfile)

´N¥i¥H¥Î·Æ¹«ÂIÀɮפF

·PÁª©¥D~

TOP

¤£¦n·N«ä ·s¤â¤S¨Ó½Ð±Ð ¸ê®Æ¤ñ¹ï°ÝÃD ³Â·Ð¦U¦ì¤F

¥»©«³Ì«á¥Ñ ffntldj ©ó 2011-7-23 01:26 ½s¿è

¤£¦n·N«ä ¹ê¦b¼g¤£¥X¨Ó ¥Î¤F¤@°ïif ¸òfor ¹ê¦b¦nÃø  ¦³°ÝÃD·Q½Ð±Ð,
   ¸ê®Æ¤£¥u¤Tµ§ ¥u¦C¥X¤Tµ§ (ªþ¹Ï¦p¤U)

   1.¦pªG·Q§â A sheet¸Ì mod part¥H¤U action¥H¤W (¬õ¦â¦rÅé )¸Ìªº¸ê®Æ ¶ñ¤JA1 ¦ý¬O¦pªG¸ê®Æ¬O­«ÂÐ ,«h¤£­«½Æªí¥Ü (¦pA1 sheet) ¸Ó«ç»ò°µ?

       ¤§«e¬O¥ÎªO¤j±Ðªº
       Set d = CreateObject("Scripting.Dictionary")
    If a = "Mod part" Then mystr = a.Offset(1,0).Text

     ¦ý¬O¦pªG¹J¨ìMod part¤U­±¦³«Ü¦hµ§ ´N¤£ª¾¹D¸Ó«ç»ò¼g¤F

   2. ¤ñ¹ïA sheet ©M C sheet¸Ì­±ªº¸ê®Æ,·íA sheet¸Ìªº¬õ¦â¸òÂŦâ , ¸òB sheetªºpartidÄæ¦ì¸òope_noÄæ¦ì

      ³£¯à°÷matchªº¸Ü,±N¹ïÀ³¨ìªº¸ê®Æ©ñ¨ì  B1 sheet¸Ì­± (¦pB1©Ò¥Ü)
   

ªþ¥ó¦p¤U   ¦A³Â·Ð¤j®a¤F ¯u¬O¤£¦n·N«ä Book1.rar (2.57 KB)

¥»©«³Ì«á¥Ñ GBKEE ©ó 2011-7-23 09:23 ½s¿è

¦^´_ 1# ffntldj
¤ñ¹ïA sheet ©M C sheet¸Ì­±ªº¸ê®Æ   ªþÄÒ¤¤¨S¦³C sheet ¥i¥H§ó·s¶Ü?
  1. Sub ¸Ñµª1Ex()
  2.     Dim Rng As Range, Ar, Msg As Boolean
  3.     Dim Word_In As String, Word_Out As String
  4.     Word_In = "Mod part"            '¶i¤J¦r¦ê
  5.     Word_Out = "ACTION"             'Â÷¶}¦r¦ê
  6.     Set Rng = Sheets("A").[A1]      '´M§ä¦r¦êªº°_©lÂI
  7.     ReDim Ar(0)                     '­«·s«Å§i°}¦Cªººû¼Æ
  8.     Do
  9.         If Rng = Word_In Then Msg = True        '¬O¶i¤J¦r¦ê ÅÞ¿è­È=True
  10.         If Rng = Word_Out Then Msg = False      '¬OÂ÷¶}¦r¦ê ÅÞ¿è­È=False
  11.         If Msg = True And Rng <> Word_In Then   'ÅÞ¿è­È=True ¥B¦r¦ê¤£¬O"¶i¤J¦r¦ê"
  12.             ' Application.Match(Rng, Ar, 0)     '¦b°}¦C¤ñ¹ï¤£¨ì¦P¼Ëªº¦r¦ê ¶Ç¦^¿ù»~­È
  13.             If IsError(Application.Match(Rng, Ar, 0)) Then    '¶Ç¦^¿ù»~­È
  14.                 If Ar(UBound(Ar)) <> "" Then ReDim Preserve Ar(UBound(Ar) + 1)
  15.                                                         'Preserve   «O¯d°}¦C­ì¦³¸ê®ÆªºÃöÁä¦r
  16.                 Ar(UBound(Ar)) = Rng                    'UBound(Ar)  °}¦Cªº³Ì¤jºû¼Æ
  17.             End If
  18.         End If
  19.         Set Rng = Rng.Offset(1)                         '³]©w Rng=Rngªº¤U¤@¦C
  20.     Loop Until Rng = ""                                 'Â÷¶} DO °j°éªº±ø¥ó¬O Until(ª½¨ì)  Rng = ""
  21.     Sheets("A1").Rows(1) = ""                           '¾ã¦C
  22.     Sheets("A1").[A1].Resize(1, UBound(Ar) + 1) = Ar    'Resize Àx¦s®æÂX¥R½d³ò(1¦C, Äæ¦ì:=UBound(Ar) + 1)
  23. End Sub
½Æ»s¥N½X
  1. Sub ¸Ñµª2Ex()
  2.     Dim Rng(1 To 2) As Range, Ar, Msg As Boolean, R As Range
  3.     Dim Word_In As String, Word_Out As String, Word_Look As String
  4.     Word_In = "Mod part"            '¶i¤J¦r¦ê
  5.     Word_Out = "ACTION"             'Â÷¶}¦r¦ê
  6.     Word_Look = "MODIFY"
  7.     Set Rng(1) = Sheets("A").[A1]   '´M§ä¦r¦êªº°_©lÂI
  8.     ReDim Ar(0)                     '­«·s«Å§i°}¦Cªººû¼Æ
  9.     Do
  10.         If UCase(Rng(1)) = UCase(Word_In) Then Msg = True        '¬O¶i¤J¦r¦ê ÅÞ¿è­È=True
  11.         If UCase(Rng(1)) = UCase(Word_Out) Then Msg = False      '¬OÂ÷¶}¦r¦ê ÅÞ¿è­È=False
  12.         If Msg = True And UCase(Rng(1)) <> UCase(Word_In) Then   'ÅÞ¿è­È=True ¥B¦r¦ê¤£¬O"¶i¤J¦r¦ê"
  13.             Set Rng(2) = Sheets("a").Columns(1).Find(Word_Look, After:=Rng(1), lookat:=xlWhole, MatchCase:=False)  '´M§ä³Ì±µªñªº "MODIFY"
  14.             If IsError(Application.Match(Rng(1) & Rng(2).Offset(, 1), Ar, 0)) Then    '¤ñ¹ï¤£¨ì "PARTID&OPE_NO"¦r¦ê ¶Ç¦^¿ù»~­È
  15.                 If Ar(UBound(Ar)) <> "" Then ReDim Preserve Ar(UBound(Ar) + 1)
  16.                 Ar(UBound(Ar)) = Rng(1) & Rng(2).Offset(, 1)    'UBound(Ar)  °}¦Cªº³Ì¤jºû¼Æ
  17.             End If
  18.         End If
  19.         Set Rng(1) = Rng(1).Offset(1)                           '³]©w Rng(1)=Rng(1)ªº¤U¤@¦C
  20.     Loop Until Rng(1) = ""                                      'Â÷¶} DO °j°éªº±ø¥ó¬O Until(ª½¨ì)  Rng(1) = ""
  21.     Set Rng(1) = Nothing                                        'ÄÀ©ñÅܼÆ
  22.     For Each R In Sheets("B").Range("a1").CurrentRegion.Rows    'R ->¨Ì§Ç¦bSheets("B")[A1©µ¦ù½d³òªº¨C¤@¦C
  23.         If Not IsError(Application.Match(R.Cells(1) & R.Cells(2), Ar, 0)) Then  '°}¦C¤¤¤ñ¹ï¨ìSHEETS("B") AÄæ&BÄæ ªº¦r¦ê
  24.             If Rng(1) Is Nothing Then Set Rng(1) = R Else Set Rng(1) = Union(Rng(1), R)                                    '³]©wÅܼÆ
  25.         End If
  26.     Next
  27.     With Sheets("B1")
  28.        .UsedRange.Clear        '²M°£ Sheets("B1")ªº¤º®e
  29.         Rng(1).Copy .[A1]
  30.     End With
  31. End Sub
½Æ»s¥N½X

TOP

¤ñ¹ïA sheet ©M C sheet¸Ì­±ªº¸ê®Æ,·íA sheet¸Ìªº¬õ¦â¸òÂŦâ , ¸òB sheetªºpartidÄæ¦ì¸òope_noÄæ¦ì
¦¹³B¥´¿ù À³¸Ó¬O ¤ñ¹ïA sheet ©M B sheet ,·íA sheet¸Ìªº¬õ¦â¸òÂŦâ , ¸òB sheetªºpartidÄæ¦ì¸òope_noÄæ¦ì
©êºp  µ{¦¡½X§Ú¬ã¨s¤@¤U

TOP

ª©¥D§A¦n

ÁÂÁ§Aªºcode Åý§ÚÀò¯q¨}¦h «Ü·PÁ§A   code¨S¦³°ÝÃD ,¦ý¦³¨Ç¦a¤è§Ú¬Ý¤£À´ google¹L¤F¤]ÁÙ¬O¤£·|

·Qª½±µ¸ò§A½Ð±Ð,ÁÂÁÂ

1.   If IsError(Application.Match(Rng, Ar, 0))   ³o¥y¬O"¦b°}¦C¤ñ¹ï¤£¨ì¦P¼Ëªº¦r¦ê ¶Ç¦^¿ù»~"
      ¬O»¡ ¦pªGar¸Ì­±¤£¬OMod part©MACTION´N·|¶Ç¦^­ÈµM«á©¹¤U¨«¹À?

2.  If IsError(Application.Match(Rng(1) & Rng(2).Offset(, 1), Ar, 0)) Then   
     ³oÃ䪺ope_no ¬O¥ÎOffsetªº¤è¦¡¥h¼g,¤µ¤Ñ¦A·Q¤@¦U°ÝÃD ¦pªG·Q¥ÎÄæ¦ì¦WºÙ(ope_no)¥h»{ªº¸Ü³oÃä¸Ó«ç»ò§ï¼g?¬O¤£¬O¥Î¤@­Ó¦^°é¥h§ì²Ä¤@¦Cªº¦W¦r?

3.¦pªGA sheet¦b¤ñ¹ï B sheet®É­Ô, ¦pªG¥u­nB sheet¸ÌPART IDªº²Ä¤@½X¨ì²ÄN½X  (¦pTMD1213 ,TMD1214)·í¥Lµ¥©ó A Sheet¸Ì­±ªº­È®É ,¤]­n§â¥¦§ì¥X¨Óªº¸Ü ¸Ó«ç»ò°µ? ³o§Ú¯uªº´N¤£·|¤F~~

¥H¤W ÁÂÁÂ

TOP

        ÀR«ä¦Û¦b : ¦³Ä@©ñ¦b¤ß¸Ì¡A¨S¦³¨­Åé¤O¦æ¡A¥¿¦p¯Ñ¥Ð¤£¼½ºØ¡A¬Ò¬OªÅ¹L¦]½t¡C
ªð¦^¦Cªí ¤W¤@¥DÃD