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

[µo°Ý] ±q¤@­ÓÀx¦s®æ¸ê®Æ¡A©î¨ì¦h­ÓÀx¦s®æÄæ¦ì¤¤

[µo°Ý] ±q¤@­ÓÀx¦s®æ¸ê®Æ¡A©î¨ì¦h­ÓÀx¦s®æÄæ¦ì¤¤

Dear ¤j¤j

          ªþ¥ó¬O§Ú°ÝÃDªº½d¥»¡A¥D­nªº°ÝÃD¦³2
          1. ¼¶¼g¦n«á¡A¦b°õ¦æªº®É­Ô¡A´N·|²£¥ÍexcelµL¤ÏÀ³ªº²{¶H¡A¸Ó«ç»ò³B²z¬°¦n©O?
          2. ±q¤@­ÓÀx¦s®æ¤º§â¸ê®Æ©î¨ì¦n´X­ÓÄæ¦ì¡A§Ú¼gªº¤è¦¡¤ñ¸û½ÆÂø(¥Î§PÂ_ªº¤è¦¡¤@­Ó¦r¤¸¤@­Ó¦r¤¸¨Ó³B²z)
               ¤£ª¾¹D¦³¨S¦³§ó¦nªº³B²z¤è¦¡©O???


eeeeeeeeeee.rar (17.63 KB)
¾Ç²ß¤~¯à´£¤É¦Û¤v

¦^´_ 3# hugh0620
  1. Sub ex()
  2. For Each a In Range([A5], [A5].End(xlDown))
  3. n = Split(a, "KGS")(0) '¨ú¨ì²Ä¤@­ÓKGS
  4. mystr = Replace(Replace(Replace(Replace(Replace(n, "A", "A("), ")", "("), "YDS", "("), "KGS", "("), " ", "") '¥Î¥ª¬A¸¹¨ú¥N¤À¹j¦ì¸m
  5. ar = Split(mystr, "(") '¥Î¥ª¬A¸¹°µ¤À¹j
  6. y = Val(ar(UBound(ar) - 1)) 'YDSªº­È
  7. k = Val(ar(UBound(ar))) 'KGSªº­È
  8. s = UBound(ar)
  9. Dim ay()
  10. ReDim Preserve ay(0)
  11. ay(0) = ar(0)
  12. For i = 1 To (s - 2) / 2
  13. x = UBound(ay) + 1
  14. ReDim Preserve ay(x + 2)
  15. n = (i - 1) * 2 + 1
  16. ay(x) = Val(ar(n))
  17. ay(x + 1) = "'" & ar(n + 1)
  18. ay(x + 2) = Round(ar(n) / y * k, 2)
  19. Next
  20. a.Offset(, 4).Resize(, UBound(ay) + 1) = ay
  21. Erase ay
  22. Next
  23. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¥»©«³Ì«á¥Ñ luhpro ©ó 2014-9-27 12:49 ½s¿è
¦^´_  Hsieh
Dear ¤j¤j
         ªþ¥ó¬O§Ú­×§ï¦nªº¡A¤£ª¾¹D¦³¨S¦³§ó²«Kªº¼¶¼g¤è¦¡¡C
...
hugh0620 µoªí©ó 2014-9-26 13:42

eeee-a.zip (20.08 KB)
22¦æ¥H¤Wªº³¡¤À§A¥i¥H¦Ò¼{¥Î§A­ì¨Óªº¤è¦¡,
¬Ý°_¨Ó·|¤ñ¸û²³æ.
©³¤U§Ú¥u¬O¹Á¸ÕµÛ§â¥¦­Ì³£©ñ¤J¦P¤@­Ó°j°é¤º.
  1. Private Sub CommandButton1_Click()
  2.   Application.ScreenUpdating = False
  3.   
  4.   [B3].Resize(Rows.Count - 2, Columns.Count - 1).Clear
  5.   lRow = 3
  6.   bChk = False
  7.   Do While Cells(lRow, 1) <> ""
  8.     With Cells(lRow, 1)
  9.       sStr = Trim(.Value)
  10.       sChk = Left(sStr, 3)
  11.       If sChk = "P/O" Then
  12.         sPo = Mid(sStr, 9)
  13.         .Offset(, 1) = sPo
  14.         .Offset(, 2) = sPo
  15.       ElseIf sChk = "COL" Then
  16.         sCo = Mid(sStr, 6)
  17.         .Offset(, 1) = sCo
  18.         .Offset(, 2) = sPo
  19.         .Offset(, 3) = sCo
  20.         .Offset(-1, 3) = sCo
  21.       Else
  22.         .Offset(, 2) = sPo
  23.         .Offset(, 3) = sCo
  24.         iCnt = 0
  25.         iPos = 1
  26.         Do While iPos <= Len(sStr)
  27.           If InStr(iPos, sStr, "(") <> 0 Then
  28.             iPos = InStr(iPos, sStr, "(") + 1
  29.             iCnt = iCnt + 1
  30.           Else
  31.             Exit Do
  32.           End If
  33.         Loop
  34.         With .Offset(, 4)
  35.           .Value = sStr
  36.           .TextToColumns Space:=True
  37.         End With
  38.         .Offset(, 5 + iCnt).Resize(, 3).Cut .Offset(, 20)
  39.          For iPos = 20 To 22
  40.            .Offset(, iPos) = Val(.Offset(, iPos)) ' «á­±­pºâ·|¥Î¨ì,©Ò¥H¥ýÂà´«¦¨¼Æ­È
  41.          Next
  42.         vNw1 = 0
  43.         vNw2 = 0
  44.         For iPos = iCnt - 1 To 0 Step -1
  45.           With .Offset(, 5 + iPos)
  46.             .Cut .Offset(, iPos * 2)
  47.             With .Offset(0)
  48.               .TextToColumns Other:=True, OtherChar:="("
  49.               sStr = .Offset(, 1)
  50.               With .Offset(, 1)
  51.                 .NumberFormat = "@"
  52.                 .Value = Left(sStr, Len(sStr) - 1)
  53.               End With
  54.             End With
  55.           End With
  56.           If iPos <> iCnt - 1 Then
  57.             vNw1 = Round((.Offset(, 5 + iPos * 3) / .Offset(, 20)) * .Offset(, 21), 2)
  58.             .Offset(, 7 + iPos * 3) = vNw1
  59.             vNw2 = vNw2 + vNw1
  60.           End If
  61.         Next
  62.         .Offset(, 4 + iCnt * 3) = .Offset(, 21) - vNw2
  63.       End If
  64.     End With
  65.     lRow = lRow + 1
  66.   Loop
  67.   Application.ScreenUpdating = True
  68. End Sub
½Æ»s¥N½X

TOP

¦^´_ 4# luhpro


    ÁÂÁ«ü¾É~  ªøª¾ÃÑ~ ¥H«á´Nª¾¹D«ç»ò¹B¥Î~  :)
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

¥»©«³Ì«á¥Ñ luhpro ©ó 2014-9-26 23:26 ½s¿è
¦^´_  Hsieh
Dear ¤j¤j
¥t¥~¦³¤@¥yµ{¦¡½X»Ý­n¤j¤jµ¹ÂI·N¨£¡A¦p¤U¥y¡G
        patch = Application.GetOpenFilename("Microsoft Excel ¬¡­¶Ã¯ (*.xls), *.xls")
        ²{¦bªºexcel³£¦³.xls ©Î .xlsx ¡A¦pªG¥Î¤W­±ªº¥y¤l¥u·|Åã¥Ü.xlsªºÀÉ®×
        ­n¦p¦ó¤j¤p³q¦Y§âexcelÀÉ¥þ¥s¥X¨Ó©O???
hugh0620 µoªí©ó 2014-9-26 13:42

¥ý¦^Âгo¤@­Ó -
¸Ó¨ç¦¡ªº»¡©ú¤º´N¦³µª®×¤F³á:

GetOpenFilename ¤èªk
Åã¥Ü¼Ð·Çªº [¶}±ÒÂÂÀÉ] ¹ï¸Ü¤è¶ô¡A¨Ã¨ú±o¨Ï¥ÎªÌÀɮצWºÙ¡A¦Ó¤£¥²¯u¥¿¶}±Ò¥ô¦óÀɮסC
expression.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
expression     ¥²¿ï¡C¸Ó¹Bºâ¦¡¶Ç¦^ Application ª«¥ó¡C
FileFilter     ¿ï¾Ü©Êªº Variant¡C¬O«ü©wÀɮ׿z¿ï³W«hªº¦r¦ê¡C
¦¹¦r¦ê¥Ñ¤@Àɮ׿z¿ï¦r¦ê»P MS-DOS ¸U¥Î¦r¤¸ªí¹FªºÀɮ׿z¿ï³W«h´y­z²Õ¦¨¡A¤¤¶¡¥H³rÂI¤À¹j¡C
[ÀÉ®×Ãþ«¬] ¤U©Ô¦¡²M³æ¤è¶ô¤¤·|¦C¥X¦U²Õ¦r¦ê¡C¨Ò¦p¡A¤U¦C¦r¦ê«ü©w¨â­ÓÀɮ׿z¿ï¡A
¤å¦r©M¼W¯q¶°¡G¤å¦rÀÉ (*.txt),*.txt,¼W¯q¶°ÀÉ®× (*.xla),*.xla¡C
­Y­n¨Ï¥Î¦h­Ó MS-DOS ¸U¥Î¦r¤¸¹Bºâ¦¡²Õ¦¨³æ¤@Àɮ׿z¿ïÃþ«¬¡A¦U¸U¥Î¦r¤¸¤§¶¡»Ý¥H¤À¸¹¤À¹j¡F
¨Ò¦p¡A"Visual Basic Files (*.bas; *.txt),*.bas;*.txt"¡C
¦pªG¬Ù²¤¡A«h¦¹¤Þ¼Æ±N¹w³]¬° "All Files (*.*),*.*"¡C


©Ò¥H§A¥i¥H¥Î:

patch = Application.GetOpenFilename("Microsoft Excel ¬¡­¶Ã¯ (*.xls;*.xlsx), *.xls; *.xlsx")

¨Ó¸Ñ¨M.

TOP

¦^´_ 2# Hsieh

Dear ¤j¤j

         ªþ¥ó¬O§Ú­×§ï¦nªº¡A¤£ª¾¹D¦³¨S¦³§ó²«Kªº¼¶¼g¤è¦¡¡C
         (§Ú¦Û¤v¦³§ä¨ìbug¦b­þÃä¡A¤w¸g¥i¥H¶]¥X§Ú­nªºµ²ªG)
        ¥t¥~¦³¤@¥yµ{¦¡½X»Ý­n¤j¤jµ¹ÂI·N¨£¡A¦p¤U¥y¡G
        patch = Application.GetOpenFilename("Microsoft Excel ¬¡­¶Ã¯ (*.xls), *.xls")
        ²{¦bªºexcel³£¦³.xls ©Î .xlsx ¡A¦pªG¥Î¤W­±ªº¥y¤l¥u·|Åã¥Ü.xlsªºÀÉ®×
        ­n¦p¦ó¤j¤p³q¦Y§âexcelÀÉ¥þ¥s¥X¨Ó©O???

eeee.rar (206.14 KB)
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

¦^´_ 1# hugh0620

§â§A³oµ§¸ê®Æ­n©î¦¨«ç¼ËªºÄæ¦ì¥Î¤H¤u¤è¦¡¶ñ¤J«á¤W¶Ç
¥H«K¤F¸Ñ§A­nªºµ²ªG¬°¦ó?
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : ¨Ã«D¦³¿ú¾{¬O§Ö¼Ö¡A°Ý¤ßµL·\¤ß³Ì¦w¡C
ªð¦^¦Cªí ¤W¤@¥DÃD