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

[µo°Ý] ¨Ì¾Ú­±ÃB¤£¦P©Ò»Ý±i¼Æ¦Û°Ê²£¥Í¬y¤ô½s¸¹

[µo°Ý] ¨Ì¾Ú­±ÃB¤£¦P©Ò»Ý±i¼Æ¦Û°Ê²£¥Í¬y¤ô½s¸¹

¨Ì¾Ú­±ÃB¤£¦P©Ò»Ý±i¼Æ¦Û°Ê²£¥Í¬y¤ô½s¸¹
§Æ±æµ²ªG:


C Äæ¿é¤J±i¼Æ...­±ÃB100 ½s¸¹¥Ñ A0064565°_ºâ
DÄæ¯à¦Û°Ê²£¥Í©Ò»Ý±i¼Æ½s¸¹  A0064565~A0066053

­±ÃB500 ½s¸¹¥Ñ B0081141°_ºâ
DÄæ¯à¦Û°Ê²£¥Í©Ò»Ý±i¼Æ½s¸¹  B0081141~B0084118

½Ð°ÝDÄæ¯à¦Û°Ê²£¥Í©Ò»Ý±i¼Æ½s¸¹¤½¦¡¸Ó¦p¦ó³]©w...

1209.rar (6.9 KB)

¦^´_ 1# cypd

½Ð´ú¸Õ¬Ý¬Ý¡AÁÂÁÂ
Sub test()
Dim Arr, xD, Brr, T, T1, TT$, ck%, ck1%, i&
Set xD = CreateObject("Scripting.Dictionary")
With Range([D2], [B65536].End(3))
    Brr = .Value
    .Sort Key1:=.Item(1), Order1:=1, Header:=1
    Arr = .Value
    For i = 2 To UBound(Arr)
        TT = Arr(i, 1) & "|" & Arr(i, 2)
        If Arr(i, 1) = 100 Then
            If ck = 0 Then
                T = 64565
                Arr(i, 3) = "A00" & T & "-" & Format(T + Arr(i, 2) - 1, "A0000000")
                ck = 1: T1 = T + Arr(i, 2): xD(TT) = Arr(i, 3)
            Else
                Arr(i, 3) = "A00" & T1 & "-" & Format(T1 + Arr(i, 2) - 1, "A0000000")
                T1 = T1 + Arr(i, 2): xD(TT) = Arr(i, 3)
            End If
        ElseIf Arr(i, 1) = 500 Then
            If ck1 = 0 Then
                T = 81141
                Arr(i, 3) = "B00" & T & "-" & Format(T + Arr(i, 2) - 1, "B0000000")
                ck1 = 1: T1 = T + Arr(i, 2): xD(TT) = Arr(i, 3)
            Else
                Arr(i, 3) = "B00" & T1 & "-" & Format(T1 + Arr(i, 2) - 1, "B0000000")
                T1 = T1 + Arr(i, 2): xD(TT) = Arr(i, 3)
            End If
        End If
    Next
    For i = 2 To UBound(Brr): TT = Brr(i, 1) & "|" & Brr(i, 2): Brr(i, 3) = xD(TT): Next
    .Value = Brr
End With
End Sub

TOP

¦^´_ 2# samwang

·PÁ  samwang  ¼ö¤ß¦^ÂÐ

²£¥Íµ²ªG¦p¤U


¦ü¥G²£¥Í·N¥~°ÝÃD...

TOP

¦^´_ 3# cypd

§Ú´ú¸Õ¨S°ÝÃD¦pªþ¥ó¡A½Ð¦A´ú¸Õ¬Ý¬Ý¡AÁÂÁÂ

TOP

  1. Function zz(­±ÃB, ±i¼Æ)
  2. Dim rng As Range, n&, r&, c&, b, x, i&
  3. r = ±i¼Æ.Row
  4. c = ±i¼Æ.Column
  5. b = Cells(1, c + 1).Resize(r - 1)
  6. Select Case ­±ÃB
  7.     Case 100: x = "A"
  8.     Case 500: x = "B"
  9. End Select
  10. For i = 1 To UBound(b)
  11.     If Left(b(i, 1), 1) = x Then n = i
  12. Next
  13. If n Then i = Mid(b(n, 1), Application.Find(x, b(n, 1), 2) + 1) Else i = 0
  14. zz = x & Format(i + 1, "0000000") & "-" & x & Format(i + ±i¼Æ, "0000000")
  15. End Function
½Æ»s¥N½X

zz.zip (14.04 KB)

TOP

google"EXCEL°g"  blog  ©Îgoogleºô§}:https://hcm19522.blogspot.com/

TOP

¦^´_ 4# samwang

·PÁ  samwang  «ü¾É
¤£¦n·N«ä­ì¨Ó°Ý´£¥X²{¦p¤U



­±ÃB200¤§±i¼Æ¨t100¤§±i¼Æ X 2 ©Ò±o(°ÝÃD©Ò¦b-¤w¤â°Ê¿é¤J¨ú®ø*2)

­Y¬O­±ÃB­pºâ½d³ò¥u¦Ü B18 Àx¦s®æ¡A¤½¦¡¸Ó¦p¦ó­×¥¿?

TOP

¦^´_ 5# ikboy

«D±`·PÁ  ikboy  ªº«ü¾É
Ãö©ó¨Ï¥Î ¨ç¼Æ(Function) ¤§¤è¦¡...¤£²M·¡¨Ï¥Î¤è¦¡

²Ä¤@µ§¸Ó¦p¦ó°_©l??  =ZZ(B3,C3) (½s¸¹ A0064565°_ºâ¦b¦ó³B³]©w?)

TOP

¦^´_ 6# hcm19522

·P®¦ hcm19522  ¦^ÂЫü¾É

©Ò»Ý¬y¤ô½s¸¹¨Ì©Ò«ü¾É¶¶§Q§¹¦¨...·P®¦  ^^

TOP

¦^´_ 7# cypd

­±ÃB200¤§±i¼Æ¨t100¤§±i¼Æ X 2 ©Ò±o(°ÝÃD©Ò¦b-¤w¤â°Ê¿é¤J¨ú®ø*2)
>> ­×§ï¦p¤U¬õ¦r¡A½Ð´ú¸Õ¬Ý¬Ý¡AÁÂÁÂ

Sub test()
Dim Arr, xD, Brr, T, T1, TT$, ck%, ck1%, i&
Set xD = CreateObject("Scripting.Dictionary")
With Range([D2], [B65536].End(3))
    Brr = .Value
    .Sort Key1:=.Item(1), Order1:=1, Header:=1
    Arr = .Value
    For i = 2 To UBound(Arr)
        TT = Arr(i, 1) & "|" & Arr(i, 2)
        If Arr(i, 1) = 100 Then
            If ck = 0 Then
                T = 64565
                Arr(i, 3) = "A00" & T & "-" & Format(T + Arr(i, 2) - 1, "A0000000")
                ck = 1: T1 = T + Arr(i, 2): xD(TT) = Arr(i, 3)
            Else
                Arr(i, 3) = "A00" & T1 & "-" & Format(T1 + Arr(i, 2) - 1, "A0000000")
                T1 = T1 + Arr(i, 2): xD(TT) = Arr(i, 3)
            End If
        ElseIf Arr(i, 1) = 200 Then
            If ck1 = 0 Then
                T = 81141
                Arr(i, 3) = "B00" & T & "-" & Format(T + Arr(i, 2) - 1, "B0000000")
                ck1 = 1: T1 = T + Arr(i, 2): xD(TT) = Arr(i, 3)
            Else
                Arr(i, 3) = "B00" & T1 & "-" & Format(T1 + Arr(i, 2) - 1, "B0000000")
                T1 = T1 + Arr(i, 2): xD(TT) = Arr(i, 3)
            End If
        End If
    Next
    For i = 2 To UBound(Brr): TT = Brr(i, 1) & "|" & Brr(i, 2): Brr(i, 3) = xD(TT): Next
    .Value = Brr
End With
End Sub

TOP

        ÀR«ä¦Û¦b : ¡i®É¤é²öªÅ¹L¡j¤@­Ó¤H¦b¥@¶¡°µ¤F¦h¤Ö¨Æ¡A´Nµ¥©ó¹Ø©R¦³¦hªø¡C¦]¦¹¥²¶·»P®É¶¡Ävª§¡A¤Á²ö¨Ï®É¤éªÅ¹L¡C
ªð¦^¦Cªí ¤W¤@¥DÃD