[[20111205105217]]@w“ü‰×“ú‚Ü‚½‚ÍŽg—pŠúŒÀ‚̌¢‚à‚Ì‚ð’ŠoxiႾ‚é‚Üj@ƒy[ƒW‚ÌÅŒã‚É”ò‚Ô

[ ‰‚ß‚Ä‚Ì•û‚Ö | ˆê——(ÅVXV‡) | ‘S•¶ŒŸõ | ‰ß‹ŽƒƒO ]

@

w“ü‰×“ú‚Ü‚½‚ÍŽg—pŠúŒÀ‚̌¢‚à‚Ì‚ð’ŠoxiႾ‚é‚Üj

 Excel2007‚Å‚·B

 ‚ ‚éH•iw“üŽÒŒü‚¯ƒ_ƒCƒŒƒNƒgƒ[ƒ‹‚âƒpƒ“ƒtƒŒƒbƒg‚Ȃǂ̃Zƒbƒgì‹Æ‚ð‚·‚é‚½‚ß‚ÌŽwŽ¦‘‚ð쬂·‚é‹Æ–±‚ª‚ ‚è‚Ü‚·B

 ‚Ü‚¸‰º‹L‚̂悤‚È“ü‰×ƒ}ƒXƒ^[‚ª‚ ‚è‚Ü‚·B

 @@@A@@@B@@@C@@@@D@@@@E@@@@@F@@@@@G@@@@@@@H@@@@@@@I@@@
 1 “ü‰×ID@“ü‰×“ú@ÝŒÉID@@•i–¼@“ü‰×—\’è”@“ü‰×ŽÀ”@Žg—pŠúŒÀi”Nj@Žg—pŠúŒÀiŒŽj@Žg—pŠúŒÀi“új

 “ü‰×ID‚̓†ƒj[ƒN‚Å‚·‚ªAÝŒÉID‚Íd•¡‚µ‚Ä‚¢‚é‚à‚Ì‚ª‘½”‚ ‚è‚Ü‚·B
 ‚Ü‚½‚±‚̃}ƒXƒ^[‚Í“ü‰×ID‚̸‡‚É‚È‚ç‚ñ‚Å‚¢‚ÄAŽg—pŠúŒÀ‚̓oƒ‰ƒoƒ‰‚Å‚·B
 Žg—pŠúŒÀ‚ª–³‚¢‚à‚Ì‚à‚ ‚èA‚̤•i‚É‚ÍŽg—pŠúŒÀ—“‚Éu*v‚ª“ü‚Á‚Ä‚¢‚Ü‚·B

 ‚»‚±‚Ɍڋq‚©‚çuÝŒÉIDFAAA01‚ð1–‡AAAA02‚ð1–‡ABBB01‚ð1–‡‚ð1ƒZƒbƒg‚Æ‚µ‚½ƒ_ƒCƒŒƒNƒgƒ[ƒ‹‚ð2–œƒZƒbƒgì‚Á‚Ä‚­‚êv‚Æ‚¢‚¤ˆË—Š‚ª—ˆ‚Ü‚·B

 ‚»‚ê‚ðŽó‚¯‚Ä‚±‚¿‚炪‰º‹L‚̂悤‚Èì‹ÆŽwŽ¦‘‚ð쬂µ‚Äì‹Æê‚É“n‚µ‚Ü‚·B

 u“Š“ü•\v

 @@A@@@@@B@@@@C@@@@@D@`
 1 ‹Æ–±NoF››
 2 ƒZƒbƒg”F20000
 :
 11 ì‹Æê@@@‡@@@@@‡A@@@@ ‡B @`@
 12 •ª—Þ@@@«•ï•¨@@ •”•i@@@@•”•i@@`
 13 •i–¼@@@••“›A@@‚¨Î•éƒrƒ‰@ƒJƒ^ƒƒOA@`
 14 ÝŒÉID@@AAA01@@@AAA02@@@BBB01@@`
 15 “ü‰×“ú  @11/11/1@11/11/20    11/11/10@`
 16 Žg—pŠúŒÀ@12/3/20@12/1/10@@ 12/2/20@`
 F@@F@@@@F@@@@F@@@@@F

 1s–Ú‚©‚ç14s–Ú‚Ü‚Å‚ÍŽè“ü—Í‚Å‚·B
 ‰½‚ª‚µ‚½‚¢‚©‚Æ‚¢‚¤‚ÆA14s–Ú‚ÌuÝŒÉIDv‚ð“ü—Í‚µ‚½ŽžA15s–ÚE16s–Ú‚Ìu“ü‰×“úvuŽg—pŠúŒÀv‚ªƒ}ƒXƒ^[‚©‚玩“®“I‚Éo‚é‚悤‚É‚µ‚½‚¢‚Ì‚Å‚·B
 Žg—pŠúŒÀ‚ª“ü‚Á‚Ä‚¢‚é‚à‚Ì‚ÍŽg—pŠúŒÀ‚̌¢‚à‚Ì‚ð’ŠoA“ü‚Á‚Ä‚¢‚È‚¢‚à‚Ì‚Í“ü‰×“ú‚̌¢‚à‚Ì‚ð’ŠoA
 ‚à‚µƒZƒbƒg”‚É•K—v‚È”‚ªF—ñ‚Ìu“ü‰×ŽÀ”v‚Å‘«‚è‚È‚­‚È‚Á‚½ê‡A“¯‚¶ÝŒÉID‚ÅŽŸ‚ÉŽg—pŠúŒÀ‚Ü‚½‚Í“ü‰×“ú‚ªŒÃ‚¢‚à‚Ì‚©‚çŽg‚¤A‚Æ‚¢‚¤Š´‚¶‚Å‚·B
 i‚»‚ÌꇂÍ17s–ÚˆÈ~‚ÉŽŸ‚̤•i‚Ì“ü‰×“ú‚ÆŽg—pŠúŒÀ‚ð’ljÁj
 Žg—pŠúŒÀ‚Ì‚ ‚é‚à‚Ì‚Æ‚È‚¢‚à‚̂Ń}ƒXƒ^[‚𕪂¯‚Ä‚à‚¢‚¢‚Æ‚Ì‚±‚Æ‚Å‚·

 “–•ûƒ}ƒNƒ‚Ì’mŽ¯‚ª‚Ù‚Æ‚ñ‚Ç‚ ‚è‚Ü‚¹‚ñB
 ‚±‚̂悤‚È‚±‚Æ‚ðŠÖ”‚Å‚Í‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚傤‚©H

 ŠÖ”‚¶‚á–³—‚»‚¤‚È‚Ì‚Å‚±‚±‚⑼‚̃TƒCƒg‚ðŽQl‚ÉVBA‚Ìl‚¦•û‚¾‚¯‚ð‘‚¢‚Ä‚Ý‚Ü‚µ‚½B
 Žg—pŠúŒÀ‚Ì‚ ‚é‚à‚Ì‚Æ‚È‚¢‚à‚̂Ƀ}ƒXƒ^[‚ð‚킯‚½‚Æ‚µ‚ÄAŽg—pŠúŒÀ‚Ì‚ ‚é‚à‚Ì‚©‚ç‚Ì’Šo‚Ìê‡
 ƒ}ƒXƒ^[‚ÌJ—ñ‚ÉuŽg—pŠúŒÀ”NŒŽ“úviG`I—ñj‚ðŒ‹‡‚µ‚½ƒZƒ‹‚ðì¬

 Dim i 'ƒJƒEƒ“ƒ^•Ï”
 Dim j 'ƒJƒEƒ“ƒ^•Ï”
 Dim s1 'Žg—pŠúŒÀ‚ðŠi”[‚·‚é•Ï”1
 Dim s2 'Žg—pŠúŒÀ‚ðŠi”[‚·‚é•Ï”2
 Dim kigen 'ÅI“I‚Éo—Í‚³‚ê‚éŽg—pŠúŒÀ

 For i = A2 To A—ñ‚ÌÅŒã‚Ü‚Å

 @For j = A2 To A—ñ‚ÌÅŒã‚Ü‚Å

 @@If u“Š“ü•\vB14 = Range("C" & j) Then
 @@@@s1 = ("J" & j) 
 @@End If

   Next j

 @@If u“Š“ü•\vB14 = Range("C" & i) Then
 @@@@s2 = ("J" & i)
 @@@@If s1 <= s2
 @@@@@kigen = s1
 @@@@Else
 @@@@@kigen = s2
 @@@@End If
 @@End If
 Next i

 ‹Lq‚ÌŽd•û‚ª•ª‚©‚ç‚È‚­‚Ä‚ ‚¿‚±‚¿•Ï‚Å‚·‚ª‚±‚ñ‚Èl‚¦•û‚Å‚Í‚â‚Á‚ς肨‚©‚µ‚¢‚Å‚·‚©H

 ¡“ú1“ú‚©‚©‚Á‚Ä‚±‚ꂾ‚¯‚µ‚©l‚¦‚‚«‚Ü‚¹‚ñ‚Å‚µ‚½c

 iႾ‚é‚Üj

 ãŽè‚­s‚­‚©‚ÈH

 >Žg—pŠúŒÀ‚Ì‚ ‚é‚à‚Ì‚Æ‚È‚¢‚à‚̂Ń}ƒXƒ^[‚𕪂¯‚Ä‚à‚¢‚¢‚Æ‚Ì‚±‚Æ‚Å‚·
 ƒ}ƒXƒ^‚Í•ª‚¸‚ÉŽg—p‚µ‚Ü‚·

 >1s–Ú‚©‚ç14s–Ú‚Ü‚Å‚ÍŽè“ü—Í‚Å‚·B
 ‘S‚Ä“ü—Í‚µ‚Ä‚©‚çAƒ}ƒNƒ‚ðŽÀs‚µ‚ĉº‚³‚¢

 ˆÈ‰º‚ð•W€ƒ‚ƒWƒ…[ƒ‹‚É‹Lq‚µ‚ĉº‚³‚¢

 Option Explicit

 Public Sub Sample()

    Dim i As Long
    Dim j As Long
    Dim k As Long
    Dim lngRows As Long
    Dim lngColumns As Long
    Dim rngList As Range
    Dim rngResult As Range
    Dim vntData As Variant
    Dim vntSets As Variant
    Dim lngCount As Long
    Dim vntStockID As Variant
    Dim vntResult As Variant
    Dim lngMax As Long
    Dim strProm As String

    '“ü‰×ƒ}ƒXƒ^[List‚Ì擪ƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éi擪—ñ‚Ì—ñŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
    Set rngList = Worksheets("“ü‰×ƒ}ƒXƒ^[").Range("A1")

    '“Š“ü•\‚ÌÝŒÉIDƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éisŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
    Set rngResult = Worksheets("“Š“ü•\").Range("A14")

    '‰æ–ÊXV‚ð’âŽ~
    Application.ScreenUpdating = False

    '“ü‰×ƒ}ƒXƒ^[‚ÉA‚¢‚Ä
    With rngList
        's”‚̎擾
        lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row
        If lngRows <= 0 Then
            strProm = .Parent.Name & "‚Ƀf[ƒ^‚ª—L‚è‚Ü‚¹‚ñ"
            GoTo Wayout
        End If
        'ÝŒÉID‡‚ÌŽg—pŠúŒÀi”NAŒŽA“új‡‚Ì“ü‰×“ú‡‚ÅList‚ð®—ñ
        'A—ñ‚©‚ç®—ñ‚·‚é—ñ‚Ì—ñOffset‚ðŽw’è,‘S‚ĸ‡‚Å
        DataSort .Offset(1).Resize(lngRows, 9), Array(2, 6, 7, 8, 1), _
                    Array(xlAscending, xlAscending, xlAscending, _
                    xlAscending, xlAscending)
        '‘S—ñƒf[ƒ^‚ð”z—ñ‚Ɏ擾
        vntData = .Offset(1).Resize(lngRows + 1, 9).Value
    End With

    '“Š“ü•\‚ÉA‚¢‚Ä
    With rngResult
        '—ñ”‚̎擾
        lngColumns = .Offset(, Columns.Count - .Column).End(xlToLeft).Column - .Column
        If lngColumns <= 0 Then
            strProm = .Parent.Name & "‚Ƀf[ƒ^‚ª—L‚è‚Ü‚¹‚ñ"
            GoTo Wayout
        End If
        'Set”‚ðŽæ“¾
        vntSets = .Offset(-12, 1).Value
        'ÝŒÉID‚ðŽæ“¾
        vntStockID = .Offset(, 1).Resize(, lngColumns).Value
    End With

    '“Š“ü•\‚ÌÝŒÉID‚ð‰¡‚ÉŒ©‚Äs‚Á‚Ä
    For i = 1 To lngColumns
        'o—ÍsˆÊ’u‚ð‰Šú‰»
        k = 0
        '“ü‰×ƒ}ƒXƒ^‚ÌÝŒÉID‚ðã‚©‚猩‚Äs‚Á‚Ä
        For j = 1 To lngRows
            'ÝŒÉID‚ª“™‚µ‚¢‚È‚ç
            If vntStockID(1, i) = vntData(j, 3) Then
                'For‚𔲂¯‚é
                Exit For
            End If
        Next j
        'o—Ís‚ðXV
        k = k + 1
        'o—Í—p”z—ñ‚ðŠm•Û
        ReDim vntResult(1 To k * 2)
        'ÝŒÉID‚ª“™‚µ‚¢‚È‚ç
        If j <= lngRows Then
            '•K—v”‚ð“]‹L
            lngCount = vntSets
            '“ü‰×“ú‚ð“]‹L
            vntResult(k) = vntData(j, 2)
            'Žg—pŠúŒÀi”N&ŒŽ&“új‚ª“ú•t‚Æ”F‚ß‚ç‚ê‚é‚È‚ç
            If IsDate(vntData(j, 7) & "/" & vntData(j, 8) _
                    & "/" & vntData(j, 9)) Then
                'Žg—pŠúŒÀ‚ð“]‹L
                vntResult(k + 1) = DateSerial(vntData(j, 7), _
                                    vntData(j, 8), vntData(j, 9))
            Else
                'Žg—pŠúŒÀ‚É*‚ð‹L“ü
                vntResult(k * 2) = "*"
            End If
            '•K—v”‚©‚ç݌ɔ‚ðƒ}ƒCƒiƒX
            lngCount = lngCount - vntData(j, 6)
            '݌ɂª•K—v”‚ð–ž‚½‚·–˜ŒJ‚è•Ô‚µ
            Do Until lngCount < 0
                '“ü‰×ƒ}ƒXƒ^‚ðŒ©‚és‚ðXV
                j = j + 1
                'o—Ís‚ðXV
                k = k + 1
                'o—Í—p”z—ñ‚ðŠg’£
                ReDim Preserve vntResult(1 To k * 2)
                'ÝŒÉID‚ª“™‚µ‚¢‚È‚ç
                If vntStockID(1, i) = vntData(j, 3) Then
                    '“ü‰×“ú‚ð“]‹L
                    vntResult(k * 2 - 1) = vntData(j, 2)
                    'Žg—pŠúŒÀi”N&ŒŽ&“új‚ª“ú•t‚Æ”F‚ß‚ç‚ê‚é‚È‚ç
                    If IsDate(vntData(j, 7) & "/" & vntData(j, 8) _
                            & "/" & vntData(j, 9)) Then
                        'Žg—pŠúŒÀ‚ð“]‹L
                        vntResult(k * 2) = DateSerial(vntData(j, 7), _
                                            vntData(j, 8), vntData(j, 9))
                    Else
                        'Žg—pŠúŒÀ‚É*‚ð‹L“ü
                        vntResult(k * 2) = "*"
                    End If
                    '•K—v”‚©‚ç݌ɔ‚ðŒ¸ŽZ
                    lngCount = lngCount - vntData(j, 6)
                Else
                    vntResult(k * 2 - 1) = "݌ɕs‘«"
                    Exit Do
                End If
            Loop
        Else
            vntResult(k * 2 - 1) = "݌ɕs‘«"
        End If
        'Œ‹‰Ê‚ðo—Í
        rngResult.Offset(1, i).Resize(k * 2).Value _
                = WorksheetFunction.Transpose(vntResult)
        'o—Í‚ÌÅ‘ås”‚ð•Û‘¶
        If lngMax < k Then
            lngMax = k
        End If
    Next i

    '“ü‰×“úAŽg—pŠúŒÀ‚ð‘‚«ž‚Þ
    ReDim vntResult(1 To 2, 1 To 1)
    vntResult(1, 1) = "“ü‰×“ú"
    vntResult(2, 1) = "Žg—pŠúŒÀ"
    For i = 0 To lngMax - 1
        rngResult.Offset(i * 2 + 1).Resize(2).Value = vntResult
    Next i

    '“ü‰×ƒ}ƒXƒ^[‚ÉA‚¢‚ăf[ƒ^‚ðŒ³‚É–ß‚·
    DataSort rngList.Offset(1).Resize(lngRows, 9), Array(0), Array(xlAscending)

    strProm = "ˆ—‚ªŠ®—¹‚µ‚Ü‚µ‚½"

 Wayout:

    '‰æ–ÊXV‚ðÄŠJ
    Application.ScreenUpdating = True

    Set rngList = Nothing
    Set rngResult = Nothing

    MsgBox strProm, vbInformation

 End Sub

 Private Sub DataSort(rngScope As Range, _
                    vntKeys As Variant, _
                    vntOrders As Variant, _
                    Optional lngOrientation As Long = xlTopToBottom)

 '    vntKeys‚Å—^‚¦‚ç‚ꂽ’l‚ðKey‚Æ‚µ‚Ä®—ñ

    Dim i As Long
    Dim rngTop As Range

    Set rngTop = rngScope.Cells(1, 1)

    With rngTop.Parent
        .Sort.SortFields.Clear
        For i = 0 To UBound(vntKeys, 1)
            .Sort.SortFields.Add Key:=rngTop.Offset(, vntKeys(i)) _
                    , SortOn:=xlSortOnValues, Order:=vntOrders(i) _
                    , DataOption:=xlSortNormal
        Next i
        With .Sort
            .SetRange rngScope
            .Header = xlNo
            .MatchCase = False
            .Orientation = lngOrientation
            .SortMethod = xlStroke
            .Apply
        End With
    End With

    Set rngTop = Nothing

 End Sub

 (Bun)


 ‚²‚ß‚ñA•K—v”‚ÌŒvŽZ‚ªŠÔˆá‚¦‚Ä‚¢‚Ü‚µ‚½
 šˆó‚Ì—l‚ÉC³‚µ‚ĉº‚³‚¢

            '݌ɂª•K—v”‚ð–ž‚½‚·–˜ŒJ‚è•Ô‚µ
 '           Do Until lngCount < 0
            Do Until lngCount <= 0 'šã‹L‚ðC³


 ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·I
 ƒRƒƒ“ƒg‚Ü‚Å’š”J‚É“ü‚ê‚Ä‚­‚¾‚³‚Á‚½‚Ì‚Å‚æ‚­‚í‚©‚è‚Ü‚µ‚½I

 ˆê‚‚¾‚¯‚¨•·‚«‚µ‚½‚¢‚Ì‚Å‚·‚ªAu“Š“ü•\v‚ª‚¢‚­‚‚©‚ ‚Á‚ÄAu“Š“ü•\ƒAvu“Š“ü•\ƒCv‚̂悤‚É
 u“Š“ü•\v‚ª“ª‚ɂ‚¢‚½ƒV[ƒg‚ª‚ ‚è‚Ü‚·B

 ‚±‚Ìê‡A‚»‚Ì“Š“ü•\‚²‚ƂɃ}ƒNƒ‚ðŽÀs‚·‚é‚É‚Í‚Ç‚¤‚µ‚½‚ç‚æ‚¢‚Å‚µ‚傤‚©H
 igƒAhgƒCh‚Ì•”•ª‚Í‚»‚Ì“s“x•Ï‚í‚è‚Ü‚·j

 iႾ‚é‚Üj

 >ˆê‚‚¾‚¯‚¨•·‚«‚µ‚½‚¢‚Ì‚Å‚·‚ªAu“Š“ü•\v‚ª‚¢‚­‚‚©‚ ‚Á‚ÄAu“Š“ü•\ƒAvu“Š“ü•\ƒCv‚̂悤‚É
 >u“Š“ü•\v‚ª“ª‚ɂ‚¢‚½ƒV[ƒg‚ª‚ ‚è‚Ü‚·B
 >
 >
 >‚±‚Ìê‡A‚»‚Ì“Š“ü•\‚²‚ƂɃ}ƒNƒ‚ðŽÀs‚·‚é‚É‚Í‚Ç‚¤‚µ‚½‚ç‚æ‚¢‚Å‚µ‚傤‚©H
 >igƒAhgƒCh‚Ì•”•ª‚Í‚»‚Ì“s“x•Ï‚í‚è‚Ü‚·j
 >

 ˆê”Ô’Pƒ‚È•û–@‚Ì1‚‚ÍA

    '“Š“ü•\‚ÌÝŒÉIDƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éisŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
    Set rngResult = Worksheets("“Š“ü•\").Range("A14")

‚ð

    '“Š“ü•\‚ÌÝŒÉIDƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éisŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
    Set rngResult = ActiveSheet.Range("A14")

 ‚Æ•ÏX‚µ‚Ü‚·
 ‚»‚µ‚ă}ƒNƒ‚ðŽÀs‚·‚éê‡Au“Š“ü•\ƒAv¬‚èAu“Š“ü•\ƒCv¬‚è‚ðActivei‚±‚̃V[ƒg‚ªŒ©‚¦‚Ä‚¢‚éó‘Ôj
 ‚É‚µ‚ÄAuSub Samplev‚ðŽÀs‚µ‚Ü‚·
 ‚»‚¤‚·‚ê‚ÎAŒ‹‰ÊActive‚É‚µ‚½ƒV[ƒg‚É”½‰f‚³‚ê‚Ü‚·

 •ÊˆÄ‚Æ‚µ‚Ä‚Í

    '“Š“ü•\‚ÌÝŒÉIDƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éisŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
    Set rngResult = Worksheets("“Š“ü•\").Range("A14")

 ‚ðuSub Samplev‚̈ø”‚Æ‚µ‚ÄŠO‚Éo‚µ‚Ü‚·
 ‹l‚Ü‚èA

  Public Sub Sample(wksResult As Worksheet)

 ‚Æ‚µ‚Ü‚·
 ŽŸ‚É

     '“Š“ü•\‚ÌÝŒÉIDƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éisŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
     Set rngResult = wksResult.Range("A14")

 ‚Æ‚µ‚Ü‚·A‚»‚µ‚ÄŸ‚ê‚ðŒÄ‚Ño‚·ƒvƒƒV[ƒWƒƒ‚ðì‚è‚Ü‚·
 —Ⴆ‚Îu“Š“ü•\ƒAv‚ÉŒ‹‰Ê‚ð‹‚ß‚é‚È‚ç

 Public Sub “Š“ü•\ƒA()

    Sample Worksheets("“Š“ü•\ƒA")

 End Sub

 ‚ÆŒ¾‚¤ƒvƒƒV[ƒWƒƒ‚ð“Š“ü•\•ªì‚èAŒ‹‰Ê‚ð‹‚ß‚½‚¢“Š“ü•\‚̃vƒƒV[ƒWƒƒ‚ðŽÀs‚µ‚Ü‚·

 ˆÈã

 PSF¡‰ñŽd—l‚Æ‚µ‚Ä–³‚©‚Á‚½‚Ì‚Å‚·‚ªAˆÈ‰º‚Ì—l‚É‚·‚ê‚Î݌ɕs‘«‚ªo‚éꇑ´‚Ì–‡”‚ðo‚·Ž–‚ào—ˆ‚Ü‚·

 (Bun)


 ˆÈ‰º‚ð‘‚«–Y‚ê‚Ü‚µ‚½

                    '•K—v”‚©‚ç݌ɔ‚ðŒ¸ŽZ
                    lngCount = lngCount - vntData(j, 6)
                Else
 '                   vntResult(k * 2 - 1) = "݌ɕs‘«"
                    vntResult(k * 2 - 1) = lngCount & "–‡•s‘«" 'š•ÏX
                    Exit Do
                End If
            Loop
        Else
  '          vntResult(k * 2 - 1) = "݌ɕs‘«"
            vntResult(k * 2 - 1) = vntSets & "–‡•s‘«" 'š•ÏX
        End If
        'Œ‹‰Ê‚ðo—Í
        rngResult.Offset(1, i).Resize(k * 2).Value _
                = WorksheetFunction.Transpose(vntResult)
        'š•s‘«‚Ìꇂ̈—
        If Not IsDate(vntResult(k * 2 - 1)) Then
            rngResult.Offset(k * 2 - 1, i).Font.Color = vbRed
        End If
        'o—Í‚ÌÅ‘ås”‚ð•Û‘¶
        If lngMax < k Then
            lngMax = k
        End If
    Next i

 (Bun)


 ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·I
 ’ljÁ‚̈—‚à•‚©‚è‚Ü‚µ‚½B

 ‚·‚Ý‚Ü‚¹‚ñA‚à‚¤ˆê‚ÂðŒ•ªŠò‚Ì•û–@‚ð‚¨‹³‚¦‚­‚¾‚³‚¢B

 ¤•i‚ðƒZƒbƒg‚·‚éÛ‚Éu"‘qŒÉA“Œ"‚Ì"’IB-1"‚©‚ço‚·v‚Æ‚¢‚¤ŽwŽ¦‚ª‚ ‚è‚Ü‚·B
 ƒ}ƒXƒ^[‚Ì’†‚Å‚Í

 @M@@N@@O@@P
 ‘qŒÉ@“@@’I@”Ô†
 @A@ “Œ@@B@@1

 ‚±‚̂悤‚É4—ñ‚É•ª‚©‚ê‚Ä‚¢‚é‚Ì‚ÅA‰E’[‚ÌAL—ñ‚ÉuM—ñ•N—ñ•O—ñ•P—ñv‚ÌŒ‹‡‚µ‚½ì‹Æ—ñ‚ðì‚èA“Š“ü•\‚ÌB7ƒZƒ‹‚É
 AL—ñ‚ÌðŒi‚Ç‚±‚©‚ço‚·‚©j‚ð‹L“ü‚µ‚悤‚ÆŽv‚¢‚Ü‚·
 iŽè“ü—͂ł̓~ƒX‚ªo‚é‚ÆŽv‚¤‚̂ŃŠƒXƒgƒ{ƒbƒNƒX‚©‰½‚©‚ð’u‚¢‚Äcj

 ˆê‚‚̓Š“ü•\‚Å‚ÍAL—ñ‚ÌðŒ‚Í‘S•”“¯‚¶‚Å‚·B

 ‚È‚Ì‚Å
 IF B7 = "“ü‰×ƒ}ƒXƒ^["AL—ñ

 ‚Æ‚¢‚¤‚悤‚ÈðŒ‚ð“ü‚ꂽ‚¢‚Ì‚Å‚·‚ªA‚ǂ̂悤‚È‹Lq‚ð‚·‚ê‚΂悢‚Å‚µ‚傤‚©c

 Œã‚©‚ç‚·‚Ý‚Ü‚¹‚ñcã‚©‚炳‚«‚Ù‚Ç‚±‚ÌðŒ‚ð“ü‚ê‚ë‚ÆŒ¾‚í‚ê‚Ü‚µ‚Äc

 ‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·<(__)>

 iႾ‚é‚Üj

 ‚¤[‚ñHHH
 Œ¾‚Á‚Ä‚¢‚éˆÓ–¡‚ª¡ˆê‚—‰ðo—ˆ‚È‚¢‚Ì‚Å‚·‚ªH

 ‚±‚¿‚ç‚̎󂯎æ‚è•û‚ÍA
 1Au“Š“ü•\v‚ÌB7ƒZƒ‹‚ɗႦ‚ÎuA“ŒB1v‚Æ“ü‚ê‚Ü‚·
 @‚±‚̈Ӗ¡‚ÍAu"‘qŒÉA“Œ"‚Ì"’IB-1"‚©‚ço‚·v‚ÆŒ¾‚¤oŒÉꊎwŽ¦‚Å‚·
 2A‚±‚Ì’l‚ÍA“ü‰×ƒ}ƒXƒ^[‚ÌM—ñAN—ñAO—ñAP—ñ‚É•ªŠ„‚µ‚Ä“o˜^‚µ‚Ä—L‚è‚Ü‚·
 3Au“Š“ü•\v쬎ži“ü‰×ƒ}ƒXƒ^[‚©‚çÝŒÉID‚ð’T‚·Žžj‚ÉA
 @u“Š“ü•\vB7ƒZƒ‹‚Ì’l‚ÆŠY“–uÝŒÉIDvs‚ÌM—ñAN—ñAO—ñAP—ñ‚Ì’l‚ªˆê’v‚µ‚½•¨‚¾‚¯‚ð
 @u“Š“ü•\v‚Ì15s–ÚˆÈ~‚É‹L“ü‚·‚é

 ‚ÆŒ¾‚¤Ž–‚Å‚µ‚傤‚©H

 ‹^–â
 ‚à‚µA݌ɂ͗L‚邪B7ƒZƒ‹‚Ì’l‚ƈê’v‚µ‚È‚¢ê‡‚Í‚Ç‚¤‚·‚é‚ÌH
 –{“–‚Í“ü‰×ƒ}ƒXƒ^[‚ÌÅI—ñ‚͉½ˆ‚Ü‚ÅÝ‚é‚ÌH
 iƒR[ƒhã‚Å®—ñ‚·‚é‚Ì‚Å–{“–‚ÌÅI—ñ‚ª‰ð‚ç‚È‚¢‚ÆAList‚Ì‘O”¼‚¾‚¯®—ñ‚³‚ê‚Ä‚ß‚¿‚á‚­‚¿‚á‚ɬ‚鎖‚à
 –³‚¢‚Æ‚ÍŒ¾‚¦‚È‚¢‚©‚àHj

 ®Ah‰E’[‚ÌAL—ñ‚ÉuM—ñ•N—ñ•O—ñ•P—ñv‚ÌŒ‹‡‚µ‚½ì‹Æ—ñ‚ðì‚èh‚Æ—L‚è‚Ü‚·‚ª
 ƒR[ƒhã‚Å•¶Žš—ñ‚̘AŒ‹‚Ío—ˆ‚Ü‚·‚Ì‚ÅAì‹Æ—ñ‚ðì‚é•K—v‚Í–³‚¢‚ÆŽv‚¢‚Ü‚·
 ‰ºŽè‚Éì‹Æ—ñ‚ðì‚è‚»‚±‚Ö”Ž®“™‚ð“ü‚ê‚ç‚ê‚é‚Æ”Ž®‚ªFX‚Ǝז‚‚ð‚·‚é‰Â”\«‚à—L‚è‚Ü‚·

 (Bun)


 à–¾‚ª‰ºŽè‚Å‚·‚Ý‚Ü‚¹‚ñc

 “ü‰×ƒ}ƒXƒ^[‚ÍAK—ñ‚Ü‚Å‚ ‚è‚Ü‚·B

 > u“Š“ü•\v쬎ži“ü‰×ƒ}ƒXƒ^[‚©‚çÝŒÉID‚ð’T‚·Žžj‚ÉA
 > u“Š“ü•\vB7ƒZƒ‹‚Ì’l‚ÆŠY“–uÝŒÉIDvs‚ÌM—ñAN—ñAO—ñAP—ñ‚Ì’l‚ªˆê’v‚µ‚½•¨‚¾‚¯‚ð
 > u“Š“ü•\v‚Ì15s–ÚˆÈ~‚É‹L“ü‚·‚é

 ‚Í‚¢A‚»‚¤‚Å‚·B

 >@‚à‚µA݌ɂ͗L‚邪B7ƒZƒ‹‚Ì’l‚ƈê’v‚µ‚È‚¢ê‡‚Í‚Ç‚¤‚·‚é‚ÌH

 ‘¼‚Ì‘qŒÉ“™‚É݌ɂª‚ ‚Á‚Ä‚àAŽwŽ¦‚µ‚½‘qŒÉ‚É݌ɂª‚È‚¯‚ê‚Îu݌ɕs‘«v‚É‚È‚è‚Ü‚·B
 ŒÚ‹q‚©‚çu‚±‚±‚Ì‘qŒÉ‚Ì‚±‚Ì’I‚Ì•ª‚ðŽg‚Á‚Ä‚­‚êv‚Æ‚¢‚¤Žw’肪‚ ‚è‚Ü‚·‚Ì‚Åc
 ‚±‚Ì4‚‚̑g‚݇‚킹‚ª‚¢‚­‚Â‚à‚ ‚èA¡Œã‚à‘‚¦‚é—\’肪‚ ‚é‚Ì‚ÅID‚̂悤‚È‚à‚Ì‚ªì‚ê‚È‚­‚Äc

 ì‹Æ—ñ‚ÌŒ‚Í—¹‰ð‚¢‚½‚µ‚Ü‚µ‚½B

 ‚ ‚Æ‚·‚Ý‚Ü‚¹‚ñA‘qŒÉ“™‚ÌêŠuM`P—ñv‚Æ‘‚¢‚Ä‚Ü‚µ‚½‚ªÅV‚̃}ƒXƒ^[‚Å
 J—ñEK—ñEL—ñEM—ñ‚É•Ï‚í‚Á‚Ä‚Ü‚µ‚½B

 ‚»‚ê‚Æ“ü‰×“ú‚ðAI—ñ‚É‚ ‚éu“ü‰×Žó•t”Ô†v‚Æ‚¢‚¤‚Æ‚±‚ë‚É•ÏX‚·‚é‚悤‚ÉŒ¾‚í‚ê‚Ü‚µ‚½B
 ‚±‚Ìu“ü‰×Žó•t”Ô†v‚Íã‚É‘‚¢‚½u“ü‰×“úv‚ðŒ³‚É쬂³‚ê‚Ä‚¢‚é”Ô†‚ÅAŽæ‚舵‚¢‚Í“ü‰×“ú‚Æ•Ï‚í‚ç‚È‚¢‚Ì‚Å‚·‚ªA
 AI—ñ‚É‚Í‘¼‚Ì—ñ‚R‚Â‚ðŒ‹‡‚·‚锎®‚ª“ü‚Á‚Ä‚¢‚Ü‚·B

 ‹ï‘Ì“I‚É‚ÍA

 @@@AA@@@@AB@@@AC@@@`@@@@AI
 1 “ü‰×“ú”Ô†@Ž}”Ô1@@Ž}”Ô2@@`@“ü‰×Žó•t”Ô†
 2  111208     0000@@@00@@@`@@111208000000
 3@111208@@ 0001@@@00@@@`@@111208000100
 4@111208@@ 0001@@@01@@@`@@111208000101

 ‚Æ‚È‚é‚悤‚ÉAAI—ñ‚É =$AA2&$AB2&$AC2 ‚Æ‚¢‚¤”Ž®‚ª“ü‚Á‚Ä‚¢‚Ü‚·
 (AI—ñ‚͕ʂ̃V[ƒg‚Å•Ê‚Ì’ •[‚ðì‚é‚Ì‚ÉŽg—p‚µ‚Ü‚·B)

 ‚±‚Ì”Ž®‚ªŽ×–‚‚ɂȂ邱‚Æ‚Í‚ ‚è‚Ü‚·‚©H

 ‰½‚©–{“–‚É‚à‚¤‚·‚Ý‚Ü‚¹‚ñ„ƒ

 iႾ‚é‚Üj

 >‚±‚Ì”Ž®‚ªŽ×–‚‚ɂȂ邱‚Æ‚Í‚ ‚è‚Ü‚·‚©H

 ‘¼‚àŠÜ‚ߌŸ“¢‚µ‚ÄŒ©‚Ü‚·
 ­‚µŽžŠÔ‚ð‰º‚³‚¢

 (Bun)


 >‚±‚Ì”Ž®‚ªŽ×–‚‚ɂȂ邱‚Æ‚Í‚ ‚è‚Ü‚·‚©H
 ˆê‰žA–â‘è‚Ío‚È‚¢—l‚Å‚·

 ¡‰ñAoŒÉꊂ̌‚àŠÜ‚ß’¼Úu“ü‰×ƒ}ƒXƒ^[v‚É®—ñ‚ðŠ|‚¯‘´ˆ‚©‚ç“Š“üŽwŽ¦‚ðŒvŽZ‚·‚é•û–@•ÏX‚µ‚Ü‚·
 oŒÉꊂ̌Aƒ}ƒXƒ^‚Ì•ÛŒìAƒf[ƒ^‚̃Rƒ“ƒpƒNƒg‰»‚̈×
 ì‹Æ—p‚̃V[ƒg‚ð—\‚ß쬂µA‘´ˆ‚É•K—v‚Ƭ‚éƒf[ƒ^‚ðƒtƒBƒ‹ƒ^ƒIƒvƒVƒ‡ƒ“iAdvancedFilterj‚ðŽg‚Á‚Ä
 ’Šo‚µŸ‚ê‚ð®—ñ‚µ‚ÄŽg—p‚µ‚Ü‚·

 悸A“Š“ü•\‚ÌB7‚ÉoŒÉꊂð“ü‚ê‚Ü‚·A‚±‚Ì‘Ž®‚͈ꉞAu‘qŒÉvˆê•¶ŽšAu“vˆê•¶ŽšA
 u’Ivˆê•¶ŽšA”Ô†Šô‚‚łà‚Æl‚¦uA“ŒB1v‚Æ‚µ‚ăR[ƒh‚ð‘‚«‚Ü‚·

 ŽŸ‚ÉAƒ}ƒNƒ‚Ì—L‚éBook‚ɃV[ƒg‚ð’ljÁ‚µ‚ăV[ƒg–¼‚ðuì‹Æ—pv‚Æ‚µ‚Ü‚·
 ‚»‚̃V[ƒg‚Ì1s–ڂɈȉº‚ÌŒ©o‚µ‚ðì‚è‚Ü‚·
 iAdvancedFilter‚ÍŒ©o‚µ‚É_ŒoŽ¿‚Ì—l‚È‚Ì‚Å“ü‰×ƒ}ƒXƒ^[‚©‚ç•K‚¸ƒRƒs[‚µ‚Äì‚Á‚ĉº‚³‚¢j

 uì‹Æ—pvƒV[ƒg‚Ì’Šo”͈͂Ƃµ‚Ä

 ‚`@@@‚a@@@@@@‚b@@@‚c@@@@‚d@@@@@@@‚e@@@@@@@‚f
 “ü‰×ID@“ü‰×Žó•t”Ô†@ÝŒÉID@“ü‰×ŽÀ”@Žg—pŠúŒÀi”Nj@Žg—pŠúŒÀiŒŽj@Žg—pŠúŒÀi“új

 ‚g@@‚h@‚i@‚j
 ‘qŒÉ@“@’I@”Ô†

 uì‹Æ—pv‚ÌðŒ”͈͂Ƃµ‚Ä

 ‚m@@@‚n@@‚o@‚p@‚q
 ÝŒÉID@‘qŒÉ@“@’I@”Ô†

 ‚Æ‚µ‚ĉº‚³‚¢AŸˆ‚ÉðŒ‚ð“ü‚ê‚Ä’Šo‚µ‚Ü‚·
 uì‹Æ—pvƒV[ƒg‚͌܌Žå¢‚¯‚ê‚Δñ•\Ž¦‚É‚µ‚ĉº‚³‚¢iƒeƒXƒg’†‚Í•\Ž¦‚µ‚Ä’u‚¢‚½•û‚ª‘P‚¢‚©‚àj

  ƒR[ƒh‚Í

 Option Explicit

 Public Sub Sample_2()

    Dim i As Long
    Dim j As Long
    Dim k As Long
    Dim lngRows As Long
    Dim lngColumns As Long
    Dim rngList As Range
    Dim rngResult As Range
    Dim rngWork As Range
    Dim vntData As Variant
    Dim vntSets As Variant
    Dim vntPlace As Variant
    Dim lngCount As Long
    Dim vntStockID As Variant
    Dim vntResult As Variant
    Dim lngMax As Long
    Dim strProm As String

    '“ü‰×ƒ}ƒXƒ^[List‚Ì擪ƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éi擪—ñ‚Ì—ñŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
    Set rngList = Worksheets("“ü‰×ƒ}ƒXƒ^[").Range("A1")

    '“Š“ü•\‚ÌÝŒÉIDƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éisŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
    Set rngResult = Worksheets("“Š“ü•\").Range("A14")

    'ì‹Æ—pƒV[ƒg‚Ì’Šo”͈͂Ì擪ƒZƒ‹ˆÊ’u(ƒ}ƒXƒ^‚©‚ç•K—vƒf[ƒ^‚ð’Šo)
    Set rngWork = Worksheets("ì‹Æ—p").Range("A1")

    '‰æ–ÊXV‚ð’âŽ~
    Application.ScreenUpdating = False

    '“Š“ü•\‚ÉA‚¢‚Ä
    With rngResult
        '—ñ”‚̎擾
        lngColumns = .Offset(, Columns.Count - .Column).End(xlToLeft).Column - .Column
        If lngColumns <= 0 Then
            strProm = .Parent.Name & "‚Ƀf[ƒ^‚ª—L‚è‚Ü‚¹‚ñ"
            GoTo Wayout
        End If
        'Set”‚ðŽæ“¾
        vntSets = .Parent.Range("B2").Value
        'oŒÉꊂðŽæ“¾
        vntPlace = .Parent.Range("B7").Value
        'ÝŒÉID‚ðŽæ“¾
        vntStockID = .Offset(, 1).Resize(, lngColumns).Value
        's”‚̎擾
        lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row
        If lngRows > 0 Then
            .Offset(1).Resize(lngRows).EntireRow.Delete
        End If
    End With

    '“ü‰×ƒ}ƒXƒ^[‚©‚ç•K—vƒf[ƒ^‚ðŽæ“¾
    If Not GetData(vntData, rngList, rngWork, vntStockID, vntPlace) Then
        strProm = "ƒf[ƒ^‚̎擾‚ªo—ˆ‚Ü‚¹‚ñAÝŒÉIDAoŒÉꊓ™‚ðŠm”F‚µ‚ĉº‚³‚¢"
        GoTo Wayout
    End If

    'ƒf[ƒ^s”‚ðŽæ“¾
    lngRows = UBound(vntData, 1)
    '“Š“ü•\‚ÌÝŒÉID‚ð‰¡‚ÉŒ©‚Äs‚Á‚Ä
    For i = 1 To lngColumns
        'o—ÍsˆÊ’u‚ð‰Šú‰»
        k = 0
        '“ü‰×ƒ}ƒXƒ^‚ÌÝŒÉID‚ðã‚©‚猩‚Äs‚Á‚Ä
        For j = 1 To lngRows
            'ÝŒÉID‚ª“™‚µ‚¢‚È‚ç
            If vntStockID(1, i) = vntData(j, 2) Then
                'For‚𔲂¯‚é
                Exit For
            End If
        Next j
        'o—Ís‚ðXV
        k = k + 1
        'o—Í—p”z—ñ‚ðŠm•Û
        ReDim vntResult(1 To k * 2)
        'ÝŒÉID‚ª“™‚µ‚¢‚È‚ç
        If j <= lngRows Then
            '•K—v”‚ð“]‹L
            lngCount = vntSets
            '“ü‰×Žó•t”Ô†‚ð“]‹L
            vntResult(k) = "'" & vntData(j, 1)
            'Žg—pŠúŒÀ‚ð“]‹L
            vntResult(k * 2) = GetDate(vntData(j, 4), vntData(j, 5), vntData(j, 6))
            '•K—v”‚©‚ç݌ɔ‚ðƒ}ƒCƒiƒX
            lngCount = lngCount - vntData(j, 3)
            '݌ɂª•K—v”‚ð–ž‚½‚·–˜ŒJ‚è•Ô‚µ
            Do Until lngCount <= 0
                '“ü‰×ƒ}ƒXƒ^‚ðŒ©‚és‚ðXV
                j = j + 1
                'o—Ís‚ðXV
                k = k + 1
                'o—Í—p”z—ñ‚ðŠg’£
                ReDim Preserve vntResult(1 To k * 2)
                'ÝŒÉID‚ª“™‚µ‚¢‚È‚ç
                If vntStockID(1, i) = vntData(j, 2) Then
                    '“ü‰×Žó•t”Ô†‚ð“]‹L
                    vntResult(k * 2 - 1) = "'" & vntData(j, 1)
                    'Žg—pŠúŒÀ‚ð“]‹L
                    vntResult(k * 2) = GetDate(vntData(j, 4), vntData(j, 5), vntData(j, 6))
                    '•K—v”‚©‚ç݌ɔ‚ðŒ¸ŽZ
                    lngCount = lngCount - vntData(j, 3)
                Else
                    vntResult(k * 2 - 1) = lngCount & "–‡•s‘«"
                    Exit Do
                End If
            Loop
        Else
            vntResult(k * 2 - 1) = vntSets & "–‡•s‘«"
        End If
        'Œ‹‰Ê‚ðo—Í
        rngResult.Offset(1, i).Resize(k * 2).Value _
                = WorksheetFunction.Transpose(vntResult)
        '•s‘«‚Ìꇂ̈—
        If InStr(1, vntResult(k * 2 - 1), "–‡•s‘«") Then
            rngResult.Offset(k * 2 - 1, i).Font.Color = vbRed
        End If
        'o—Í‚ÌÅ‘ås”‚ð•Û‘¶
        If lngMax < k Then
            lngMax = k
        End If
    Next i

    '“ü‰×“úAŽg—pŠúŒÀ‚ð‘‚«ž‚Þ
    ReDim vntResult(1 To 2, 1 To 1)
    vntResult(1, 1) = "“ü‰×“ú"
    vntResult(2, 1) = "Žg—pŠúŒÀ"
    For i = 0 To lngMax - 1
        rngResult.Offset(i * 2 + 1).Resize(2).Value = vntResult
    Next i

    strProm = "ˆ—‚ªŠ®—¹‚µ‚Ü‚µ‚½"

 Wayout:

    '‰æ–ÊXV‚ðÄŠJ
    Application.ScreenUpdating = True

    Set rngList = Nothing
    Set rngResult = Nothing
    Set rngWork = Nothing

    MsgBox strProm, vbInformation

 End Sub

 Private Function GetData(vntData As Variant, rngList As Range, _
                        rngWork As Range, vntStockID As Variant, _
                                    vntPlace As Variant) As Boolean

 '  “ü‰×ƒ}ƒXƒ^[‚©‚çAdvancedFilter‚ðŽg‚Á‚ăf[ƒ^‚ðŽæ“¾

    Dim i As Long
    Dim j As Long
    Dim vntCrit As Variant
    Dim rngCrit As Range
    Dim lngRows As Long

    'ì‹Æ—pƒV[ƒg‚ÌðŒ”͈͂Ì擪ƒZƒ‹ˆÊ’u(ƒ}ƒXƒ^‚©‚ç•K—vƒf[ƒ^‚ð’Šo)
    Set rngCrit = rngWork.Parent.Range("N1")

    'ÝŒÉID‚ð’ŠoðŒ‚Éo—Í
    ReDim vntCrit(1 To UBound(vntStockID, 2), 1 To 5)
    For i = 1 To UBound(vntStockID, 2)
        vntCrit(i, 1) = "=" & """=" & vntStockID(1, i) & """"
        vntCrit(i, 2) = "=" & """=" & Left(vntPlace, 1) & """"
        vntCrit(i, 3) = "=" & """=" & Mid(vntPlace, 2, 1) & """"
        vntCrit(i, 4) = "=" & """=" & Mid(vntPlace, 3, 1) & """"
        vntCrit(i, 5) = "=" & """=" & Mid(vntPlace, 4) & """"
    Next i
    rngCrit.Offset(1).Resize(UBound(vntStockID, 2), 5).Value = vntCrit

    '“ü‰×ƒ}ƒXƒ^[‚©‚ç•K—vƒf[ƒ^‚ð’Šo
    DoFilter rngList.CurrentRegion, _
                rngCrit.Resize(UBound(vntStockID, 2) + 1, 5), _
                rngWork.Resize(, 11)

    'ì‹Æ—pƒV[ƒg‚ÉA‚¢‚Ä
    With rngWork
        's”‚̎擾
        lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row
        If lngRows <= 0 Then
            GoTo Wayout
        End If
        'ÝŒÉID‡‚ÌŽg—pŠúŒÀi”NAŒŽA“új‡‚Ì“ü‰×“ú‡‚ÅList‚ð®—ñ
        'A—ñ‚©‚ç®—ñ‚·‚é—ñ‚Ì—ñOffset‚ðŽw’è,‘S‚ĸ‡‚Å
        DataSort .Offset(1).Resize(lngRows, 9), Array(2, 4, 5, 6, 1), _
                    Array(xlAscending, xlAscending, xlAscending, _
                    xlAscending, xlAscending)
        '‘S—ñƒf[ƒ^‚ð”z—ñ‚Ɏ擾
        vntData = .Offset(1, 1).Resize(lngRows + 1, 6).Value
    End With

    GetData = True

 Wayout:

    Set rngCrit = Nothing

 End Function

 Private Function GetDate(vntYear As Variant, vntMonth As Variant, _
                            vntDay As Variant) As Variant

    'Žg—pŠúŒÀi”N&ŒŽ&“új‚ª“ú•t‚Æ”F‚ß‚ç‚ê‚é‚È‚ç
    If IsDate(vntYear & "/" & vntMonth & "/" & vntDay) Then
        'ƒVƒŠƒAƒ‹’l‚É•ÏŠ·
        GetDate = DateSerial(vntYear, vntMonth, vntDay)
    Else
        '*‚ð•Ô‚·
        GetDate = "*"
    End If

 End Function

 Private Sub DoFilter(rngScope As Range, _
                    rngCriteria As Range, _
                    rngCopyTo As Range, _
                    Optional blnUnique As Boolean)

 '  AdvancedFilter‚ðŽÀs

    rngScope.AdvancedFilter _
            Action:=xlFilterCopy, _
            CriteriaRange:=rngCriteria, _
            CopyToRange:=rngCopyTo, _
            Unique:=blnUnique

 End Sub

 Private Sub DataSort(rngScope As Range, _
                    vntKeys As Variant, _
                    vntOrders As Variant, _
                    Optional lngOrientation As Long = xlTopToBottom)

    Dim i As Long
    Dim rngTop As Range

    Set rngTop = rngScope.Cells(1, 1)

    With rngTop.Parent
        .Sort.SortFields.Clear
        For i = 0 To UBound(vntKeys, 1)
            .Sort.SortFields.Add Key:=rngTop.Offset(, vntKeys(i)) _
                    , SortOn:=xlSortOnValues, Order:=vntOrders(i) _
                    , DataOption:=xlSortNormal
        Next i
        With .Sort
            .SetRange rngScope
            .Header = xlNo
            .MatchCase = False
            .Orientation = lngOrientation
            .SortMethod = xlStroke
            .Apply
        End With
    End With

    Set rngTop = Nothing

 End Sub

 (Bun)


 ‚¨Žè”‚ð‚¨‚©‚¯‚µ‚Ü‚·B
 ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

 ƒTƒ“ƒvƒ‹‚ðì‚Á‚ÄŽŽ‚µ‚½‚Æ‚±‚ëA“ü‰×Žó•t”Ô†‚È‚Ç‚Í“Š“ü•\‚É”½‰f‚³‚ꂽ‚Ì‚Å‚·‚ªA“ü‰×Žó•t”Ô†‚È‚Ç‚ª“ü‚ésˆÈ‰º
 i“Š“ü•\‚Ì15s–ڈȉºj‚Ì‘Ž®iŒrüA“h‚è‚‚Ԃµ‚È‚Çj‚âˆóü”͈͂ÌÝ’è‚È‚Ç‚ª‘S‚ăNƒŠƒA‚³‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·c

 ‚ ‚Æ‘qŒÉ‚È‚Ç‚Ì•”•ª‚ÍAŽÀÛ‚ÍuƒƒWƒXƒeƒBƒbƒNvu‚¨‹q—l‘‹Œû—pv‚È‚Ç‚Ì•¶Žš—ñ‚ª“ü‚è‚Ü‚·‚ªA‚±‚ê‚͕ʂɃ}ƒXƒ^[‚ðì‚Á‚Ä
 ‘qŒÉID‚̂悤‚È‚à‚Ì‚ð쬂µA‚»‚±‚©‚çˆø‚Á’£‚Á‚Ä‚«‚½•û‚ª‚æ‚¢‚Å‚µ‚傤‚©B
 ŽžV‚µ‚¢‚à‚Ì‚à’ljÁ‚³‚ê‚é‚Ì‚Å‚Ç‚±‚©‚ðŽQÆ‚µA“Š“ü•\‚ÌB7ƒZƒ‹‚É“ü—Í‚µ‚½•û‚ª“ü—̓~ƒX‚Å݌ɂª”½‰f‚³‚ê‚È‚¢A
 ‚È‚Ç‚ÌŒ»Û‚ª‰ñ”ð‚Å‚«‚é‚©‚ÆŽv‚¢‚Ü‚µ‚Äc
 i‚±‚±‚ÍŽ„‚à‚Ç‚¤‚·‚ê‚Γü—̓~ƒX‚È‚­‹L“ü‚Å‚«‚é‚©l‚¦‚Ä‚¢‚é‚Æ‚±‚ë‚Å‚·BŒ»Ý‚̃}ƒXƒ^[‚ª‘S‚ÄŽè“ü—Í‚Å
‘SŠp”¼Šp‚È‚Ç‚Ì”÷–­‚ȈႢ‚ª‘½‚¢‚Ì‚Åcj

 ‚±‚Ì•”•ª‚ÍŽ©•ª‚Å‚à‚à‚¤­‚µ•û–@‚ðl‚¦‚Ä‚Ý‚Ü‚·

 ‚Æ‚è‚ ‚¦‚¸‚à‚¤­‚µ“Š“ü•\‚̃ŒƒCƒAƒEƒg‚È‚Çl‚¦‚È‚ª‚玎‚µ‚Ä‚Ý‚Ü‚·B

 iႾ‚é‚Üj

 >ƒTƒ“ƒvƒ‹‚ðì‚Á‚ÄŽŽ‚µ‚½‚Æ‚±‚ëA“ü‰×Žó•t”Ô†‚È‚Ç‚Í“Š“ü•\‚É”½‰f‚³‚ꂽ‚Ì‚Å‚·‚ªA“ü‰×Žó•t”Ô†‚È‚Ç‚ª“ü‚ésˆÈ‰º
 >i“Š“ü•\‚Ì15s–ڈȉºj‚Ì‘Ž®iŒrüA“h‚è‚‚Ԃµ‚È‚Çj‚âˆóü”͈͂ÌÝ’è‚È‚Ç‚ª‘S‚ăNƒŠƒA‚³‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·c

 ƒSƒƒ“Ÿ‚ê‚̓R[ƒh‚Ì’†‚Å•s‘«‚Ìê‡FontÔ‚ÉÝ’è‚·‚鎞‚ª—L‚é‚Ì‚Å“Š“ü•\‚Ì15s–ڈȉº‚ðs휂µ‚Ä‚¢‚éˆ×‚Å‚·
 Ÿ‚ê‚ð‚â‚ß‚é‚͈̂ȉº‚ð휂·‚ê‚ÎŽ~‚Ü‚è‚Ü‚·

    '“Š“ü•\‚ÉA‚¢‚Ä
    With rngResult
    E
    E
    E
        's”‚̎擾
        lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row 'šíœ
        If lngRows > 0 Then 'šíœ
            .Offset(1).Resize(lngRows).EntireRow.Delete 'šíœ
        End If 'šíœ
    End With

 >‚ ‚Æ‘qŒÉ‚È‚Ç‚Ì•”•ª‚ÍAŽÀÛ‚ÍuƒƒWƒXƒeƒBƒbƒNvu‚¨‹q—l‘‹Œû—pv‚È‚Ç‚Ì•¶Žš—ñ‚ª“ü‚è‚Ü‚·‚ªA‚±‚ê‚͕ʂɃ}ƒXƒ^[‚ðì‚Á‚Ä
 >‘qŒÉID‚̂悤‚È‚à‚Ì‚ð쬂µA‚»‚±‚©‚çˆø‚Á’£‚Á‚Ä‚«‚½•û‚ª‚æ‚¢‚Å‚µ‚傤‚©B

 “ü‰×ƒ}ƒXƒ^[‚É‚Å‚·‚©Ao—ˆ‚ê‚΂»‚Ì•û‚ª‘P‚¢‚Å‚µ‚傤‚ªH
 uA“ŒB1v‚Æ‚µ‚½‚Ì‚ÍAŽÀÛ‚É”@‰½‚·‚é‚©‚ªŒˆ‚Ü‚Á‚Ä–³‚©‚Á‚½‚ÌŽæ‚臂¦‚¸‚±‚Ì—l‚É‚µ‚½–˜‚Å‚·‚ªH
 Ÿ‚ê‚ÍA—Ⴆ‚΃Jƒ“ƒ}‚âƒZƒ~ƒRƒƒ“‚âƒ_ƒuƒ‹ƒRƒƒ““™‚Å‹æØ‚Á‚ÄŸ‚ê‚ð‹æ؂蕶Žš‚Æ‚·‚ê‚Î
 ‘qŒÉA“A’IA”Ô†‚𕪊„o—ˆ‚Ü‚·‚Ì‚ÅႾ‚é‚Ü‚³‚ñ‚Ì•û‚ÅŒˆ‚ß‚Ä‚¢‚½‚¾‚¯‚ê‚΂»‚Ì—l‚É’¼‚¹‚Ü‚·
 ‘´‚Ìê‡Aˆê•¶Žš‚ÂÂo‚È‚­‚Ä‚à‘P‚¢‚Å‚·
 —Ⴆ‚ÎAuƒƒWƒXƒeƒBƒbƒN;“Œ;B;1v‚âuƒƒWƒXƒeƒBƒbƒN,“Œ,B,1v“™

 >i‚±‚±‚ÍŽ„‚à‚Ç‚¤‚·‚ê‚Γü—̓~ƒX‚È‚­‹L“ü‚Å‚«‚é‚©l‚¦‚Ä‚¢‚é‚Æ‚±‚ë‚Å‚·BŒ»Ý‚̃}ƒXƒ^[‚ª‘S‚ÄŽè“ü—Í‚Å
‘SŠp”¼Šp‚È‚Ç‚Ì”÷–­‚ȈႢ‚ª‘½‚¢‚Ì‚Åcj

 Up‚µ‚½ƒ}ƒNƒ‚Å‚Í‘qŒÉA“A’IA”Ô†‚ðƒtƒBƒ‹ƒ^ƒIƒvƒVƒ‡ƒ“‚Åi‚èž‚ñ‚Å‹‚é‚Ì‚Å‚·‚ªH
 ã‹L‚Ì—l‚É‘S”¼Šp¬Ý‚Ì—l‚Èó‘Ô‚Å‚Íi‚èž‚ß‚Ü‚¹‚ñ‚Ë
 ˆês‚ÂÂStrComp‚ÅŠm”F‚·‚é—l‚É‚µ‚Ü‚·‚©H

 (Bun)


 ŒãA‘‚«–Y‚ê‚Ü‚µ‚½‚ª
 ‘qŒÉA“A’IA”Ô†‚͈ê‚‚̃Zƒ‹‚ɘAŒ‹‚·‚é•K—v‚Í•K‚¸‚µ‚à—L‚è‚Ü‚¹‚ñ‚Ì‚Å
 Ÿ‚ꂪA•ÊX‚ɃZƒ‹‚É“ü‚Á‚Ä‚¢‚éó‘Ô‚Å‚à\‚¢‚Ü‚¹‚ñA‘´‚ê‚È‚è‚Ɏ擾‚µ‚Ü‚·‚Ì‚Å
 ‚½‚¾Aƒ}ƒNƒ‚ðì‚éã‚łǂ̂悤‚ÈŒ`‚Å’ñ‹Ÿ‚³‚ê‚é‚©‚ª–â‘è‚Å‚·‚Ì‚ÅA
 ‚±‚ê‚ðƒ}ƒNƒ‚É“n‚·•ûŽ®‚ð‘‚­Šm—§‚µ‚ĉº‚³‚¢
 ‘´‚ê‚É‚æ‚èA‘qŒÉ“™‚Ì•¶Žš—ñ‚É‘S”¼Šp‚ª¬Ý‚·‚é’ö“x‚È‚çu‚·‚év‚ÆŒ¾‚¦‚Î
 ‘´‚ꬂè‚̑Έ‚ào—ˆ‚é‚ÆŽv‚¢‚Ü‚·

 (Bun)


 ˆê‰žA‘qŒÉA“A’IA”Ô†‚̓tƒBƒ‹ƒ^ƒIƒvƒVƒ‡ƒ“‚Å‚Ìi‚èž‚Ý‚ð’ú‚ß
 ‘S”¼Šp‚Ì‹zŽû‚ðs‚¤ˆ×‚ÉAs‚ðã‚©‚猩‚Äs‚­Žž“_‚ÅStrCompŠÖ”‚Å”äŠr‚ðs‚¤—l‚É•ÏX‚µ‚Ü‚µ‚½
 ‚½‚¾A•s—vƒf[ƒ^‚Ì”rœAƒ}ƒXƒ^‚Ì•ÛŒì‚ׂ̈ɃtƒBƒ‹ƒ^ƒIƒvƒVƒ‡ƒ“Ž©‘Ì‚ÍŽg—p‚µ‚Ü‚·
 ˆö‚Á‚Äuì‹Æ—pvƒV[ƒg‚Í‘S‚­“¯‚¶•¨‚ðŽg—p‚µ‚Ü‚·‚Ì‚Å‘´‚Ì‚Ü‚Ü‚É‚µ‚ĉº‚³‚¢

 ‚Ü‚½Au“Š“ü•\v‚ÌB7‚Ì‘Ž®‚͈ê’UA—Ⴆ‚ÎuƒƒWƒXƒeƒBƒbƒN:“Œ:B:1v‚Ì—l‚É
 ‹æ؂蕶Žš‚Éu:vƒ_ƒuƒ‹ƒRƒƒ“‚ð‹²‚ñ‚¾˜AŒ‹‚É‚µ‚Ä’u‚«‚Ü‚·
 Ÿ‚ê‚ÍAu“Š“ü•\v‚ÌŽd—l‚ªŒˆ‚Ü‚Á‚½Žž“_‚Å•ÏX‚·‚ê‚΋X‚µ‚¢‚©‚ÆŽv‚¢‚Ü‚·
 ‚±‚ê‚ÅA‰^—pƒeƒXƒg’ö“x‚Ío—ˆ‚é‚Ì‚Å‚ÍŽv‚¢‚Ü‚·‚Ì‚ÅAƒeƒXƒg‚µ‚Ä•s“s‡‚ð“Z‚߂ĉº‚³‚¢

 ®Au“Š“ü•\v‚Ì15s–ڈȉº‚Ì휂̓Rƒƒ“ƒgƒAƒEƒg‚ÅŽ~‚ß‚Ä—L‚è‚Ü‚·

 Option Explicit

 Public Sub Sample_3()

    Dim i As Long
    Dim j As Long
    Dim k As Long
    Dim lngRows As Long
    Dim lngColumns As Long
    Dim rngList As Range
    Dim rngResult As Range
    Dim rngWork As Range
    Dim vntData As Variant
    Dim vntSets As Variant
    Dim vntPlace As Variant
    Dim lngCount As Long
    Dim vntStockID As Variant
    Dim vntResult As Variant
    Dim lngMax As Long
    Dim strProm As String

    '“ü‰×ƒ}ƒXƒ^[List‚Ì擪ƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éi擪—ñ‚Ì—ñŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
    Set rngList = Worksheets("“ü‰×ƒ}ƒXƒ^[").Range("A1")

    '“Š“ü•\‚ÌÝŒÉIDƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éisŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
    Set rngResult = Worksheets("“Š“ü•\").Range("A14")

    'ì‹Æ—pƒV[ƒg‚Ì’Šo”͈͂Ì擪ƒZƒ‹ˆÊ’u(ƒ}ƒXƒ^‚©‚ç•K—vƒf[ƒ^‚ð’Šo)
    Set rngWork = Worksheets("ì‹Æ—p").Range("A1")

    '‰æ–ÊXV‚ð’âŽ~
    Application.ScreenUpdating = False

    '“Š“ü•\‚ÉA‚¢‚Ä
    With rngResult
        '—ñ”‚̎擾
        lngColumns = .Offset(, Columns.Count - .Column).End(xlToLeft).Column - .Column
        If lngColumns <= 0 Then
            strProm = .Parent.Name & "‚Ƀf[ƒ^‚ª—L‚è‚Ü‚¹‚ñ"
            GoTo Wayout
        End If
        'Set”‚ðŽæ“¾
        vntSets = .Parent.Range("B2").Value
        If Val(vntSets) < 1 Then
            strProm = "ƒZƒbƒg”‚ªÝ’肳‚ê‚Ä‚¢‚Ü‚¹‚ñ"
            GoTo Wayout
        End If
        'oŒÉꊂðŽæ“¾
        vntData = .Parent.Range("B7").Value
        vntPlace = Split(vntData, ":", , vbTextCompare)
        If UBound(vntPlace, 1) < 3 Then
            strProm = "oŒÉꊂ̓ü—Í‚ª³‚µ‚­—L‚è‚Ü‚¹‚ñ"
            GoTo Wayout
        End If
        'ÝŒÉID‚ðŽæ“¾
        vntStockID = .Offset(, 1).Resize(, lngColumns).Value
        's”‚̎擾
 '       lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row 'šíœ
 '       If lngRows > 0 Then 'šíœ
 '           .Offset(1).Resize(lngRows).EntireRow.Delete 'šíœ
 '       End If 'šíœ
    End With

    '“ü‰×ƒ}ƒXƒ^[‚©‚ç•K—vƒf[ƒ^‚ðŽæ“¾
    If Not GetData(vntData, rngList, rngWork, vntStockID) Then
        strProm = "ƒf[ƒ^‚̎擾‚ªo—ˆ‚Ü‚¹‚ñAÝŒÉIDAoŒÉꊓ™‚ðŠm”F‚µ‚ĉº‚³‚¢"
        GoTo Wayout
    End If

    'ƒf[ƒ^s”‚ðŽæ“¾
    lngRows = UBound(vntData, 1)
    '“Š“ü•\‚ÌÝŒÉID‚ð‰¡‚ÉŒ©‚Äs‚Á‚Ä
    For i = 1 To lngColumns
        'o—ÍsˆÊ’u‚ð‰Šú‰»
        k = 0
        '“ü‰×ƒ}ƒXƒ^‚ÌÝŒÉID‚ðã‚©‚猩‚Äs‚Á‚Ä
        For j = 1 To lngRows
            'ÝŒÉID‚ª“™‚µ‚¢‚È‚ç
            If vntStockID(1, i) = vntData(j, 2) Then
                'oŒÉꊂ̃`ƒFƒbƒN‚ªTrue‚È‚ç
                If PlaceCheck(vntPlace, j, vntData) Then
                    'For‚𔲂¯‚é
                    Exit For
                End If
            End If
        Next j
        'o—Ís‚ðXV
        k = k + 1
        'o—Í—p”z—ñ‚ðŠm•Û
        ReDim vntResult(1 To k * 2)
        'ÝŒÉID‚ª“™‚µ‚¢‚È‚ç
        If j <= lngRows Then
            '•K—v”‚ð“]‹L
            lngCount = vntSets
            '“ü‰×Žó•t”Ô†‚ð“]‹L
            vntResult(k) = "'" & vntData(j, 1)
            'Žg—pŠúŒÀ‚ð“]‹L
            vntResult(k * 2) = GetDate(vntData(j, 4), vntData(j, 5), vntData(j, 6))
            '•K—v”‚©‚ç݌ɔ‚ðƒ}ƒCƒiƒX
            lngCount = lngCount - vntData(j, 3)
            '݌ɂª•K—v”‚ð–ž‚½‚·–˜ŒJ‚è•Ô‚µ
            Do Until lngCount <= 0
                '“ü‰×ƒ}ƒXƒ^‚ðŒ©‚és‚ðXV
                j = j + 1
                'ÝŒÉID‚ª“™‚µ‚¢‚È‚ç
                If vntStockID(1, i) = vntData(j, 2) Then
                    'oŒÉꊂ̃`ƒFƒbƒN‚ªTrue‚È‚ç
                    If PlaceCheck(vntPlace, j, vntData) Then
                        'o—Ís‚ðXV
                        k = k + 1
                        'o—Í—p”z—ñ‚ðŠg’£
                        ReDim Preserve vntResult(1 To k * 2)
                        '“ü‰×Žó•t”Ô†‚ð“]‹L
                        vntResult(k * 2 - 1) = "'" & vntData(j, 1)
                        'Žg—pŠúŒÀ‚ð“]‹L
                        vntResult(k * 2) = GetDate(vntData(j, 4), vntData(j, 5), vntData(j, 6))
                        '•K—v”‚©‚ç݌ɔ‚ðŒ¸ŽZ
                        lngCount = lngCount - vntData(j, 3)
                    End If
                Else
                    'o—Ís‚ðXV
                    k = k + 1
                    'o—Í—p”z—ñ‚ðŠg’£
                    ReDim Preserve vntResult(1 To k * 2)
                    vntResult(k * 2 - 1) = lngCount & "–‡•s‘«"
                    Exit Do
                End If
            Loop
        Else
            vntResult(k * 2 - 1) = vntSets & "–‡•s‘«"
        End If
        'Œ‹‰Ê‚ðo—Í
        rngResult.Offset(1, i).Resize(k * 2).Value _
                = WorksheetFunction.Transpose(vntResult)
        '•s‘«‚Ìꇂ̈—
        If InStr(1, vntResult(k * 2 - 1), "–‡•s‘«") Then
            rngResult.Offset(k * 2 - 1, i).Font.Color = vbRed
        End If
        'o—Í‚ÌÅ‘ås”‚ð•Û‘¶
        If lngMax < k Then
            lngMax = k
        End If
    Next i

    '“ü‰×“úAŽg—pŠúŒÀ‚ð‘‚«ž‚Þ
    ReDim vntResult(1 To 2, 1 To 1)
    vntResult(1, 1) = "“ü‰×“ú"
    vntResult(2, 1) = "Žg—pŠúŒÀ"
    For i = 0 To lngMax - 1
        rngResult.Offset(i * 2 + 1).Resize(2).Value = vntResult
    Next i

    strProm = "ˆ—‚ªŠ®—¹‚µ‚Ü‚µ‚½"

 Wayout:

    '‰æ–ÊXV‚ðÄŠJ
    Application.ScreenUpdating = True

    Set rngList = Nothing
    Set rngResult = Nothing
    Set rngWork = Nothing

    MsgBox strProm, vbInformation

 End Sub

 Private Function PlaceCheck(vntCheck As Variant, _
                        lngPos As Long, vntData As Variant) As Boolean

    Dim i As Long

    '‘qŒÉA“A’IA”Ô†‚ðƒ`ƒFƒbƒN
    For i = 0 To UBound(vntCheck, 1)
        If StrComp(vntCheck(i), vntData(lngPos, i + 7), vbTextCompare) <> 0 Then
            Exit For
        End If
    Next i

    '‘S‚Ĉê’v‚Ìê‡
    If i > UBound(vntCheck, 1) Then
        '–ß‚è’l‚Æ‚µ‚ÄTrue‚ð•Ô‚·
        PlaceCheck = True
    End If

 End Function

 Private Function GetData(vntData As Variant, rngList As Range, _
                        rngWork As Range, vntStockID As Variant) As Boolean

 '   “ü‰×ƒ}ƒXƒ^[‚©‚çAdvancedFilter‚ðŽg‚Á‚ăf[ƒ^‚ðŽæ“¾

    Dim i As Long
    Dim j As Long
    Dim vntCrit As Variant
    Dim rngCrit As Range
    Dim lngRows As Long

    'ì‹Æ—pƒV[ƒg‚ÌðŒ”͈͂Ì擪ƒZƒ‹ˆÊ’u(ƒ}ƒXƒ^‚©‚ç•K—vƒf[ƒ^‚ð’Šo)
    Set rngCrit = rngWork.Parent.Range("N1")

    'ÝŒÉID‚ð’ŠoðŒ‚Éo—Í
    ReDim vntCrit(1 To UBound(vntStockID, 2), 1 To 1)
    For i = 1 To UBound(vntStockID, 2)
        vntCrit(i, 1) = "=" & """=" & vntStockID(1, i) & """"
    Next i
    rngCrit.Offset(1).Resize(UBound(vntStockID, 2)).Value = vntCrit

    '“ü‰×ƒ}ƒXƒ^[‚©‚ç•K—vƒf[ƒ^‚ð’Šo
    DoFilter rngList.CurrentRegion, _
                rngCrit.Resize(UBound(vntStockID, 2) + 1), _
                rngWork.Resize(, 11)

    'ì‹Æ—pƒV[ƒg‚ÉA‚¢‚Ä
    With rngWork
        's”‚̎擾
        lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row
        If lngRows <= 0 Then
            GoTo Wayout
        End If
        'ÝŒÉID‡‚ÌŽg—pŠúŒÀi”NAŒŽA“új‡‚Ì“ü‰×“ú‡‚ÅList‚ð®—ñ
        'A—ñ‚©‚ç®—ñ‚·‚é—ñ‚Ì—ñOffset‚ðŽw’è,‘S‚ĸ‡‚Å
        DataSort .Offset(1).Resize(lngRows, 11), Array(2, 4, 5, 6, 1), _
                    Array(xlAscending, xlAscending, xlAscending, _
                    xlAscending, xlAscending)
        '‘S—ñƒf[ƒ^‚ð”z—ñ‚Ɏ擾
        vntData = .Offset(1, 1).Resize(lngRows + 1, 10).Value
    End With

    GetData = True

 Wayout:

    Set rngCrit = Nothing

 End Function

 Private Function GetDate(vntYear As Variant, vntMonth As Variant, _
                            vntDay As Variant) As Variant

    'Žg—pŠúŒÀi”N&ŒŽ&“új‚ª“ú•t‚Æ”F‚ß‚ç‚ê‚é‚È‚ç
    If IsDate(vntYear & "/" & vntMonth & "/" & vntDay) Then
        'ƒVƒŠƒAƒ‹’l‚É•ÏŠ·
        GetDate = DateSerial(vntYear, vntMonth, vntDay)
    Else
        '*‚ð•Ô‚·
        GetDate = "*"
    End If

 End Function

 Private Sub DoFilter(rngScope As Range, _
                    rngCriteria As Range, _
                    rngCopyTo As Range, _
                    Optional blnUnique As Boolean)

 '   AdvancedFilter‚ðŽÀs

    rngScope.AdvancedFilter _
            Action:=xlFilterCopy, _
            CriteriaRange:=rngCriteria, _
            CopyToRange:=rngCopyTo, _
            Unique:=blnUnique

 End Sub

 Private Sub DataSort(rngScope As Range, _
                    vntKeys As Variant, _
                    vntOrders As Variant, _
                    Optional lngOrientation As Long = xlTopToBottom)

    Dim i As Long
    Dim rngTop As Range

    Set rngTop = rngScope.Cells(1, 1)

    With rngTop.Parent
        .Sort.SortFields.Clear
        For i = 0 To UBound(vntKeys, 1)
            .Sort.SortFields.Add Key:=rngTop.Offset(, vntKeys(i)) _
                    , SortOn:=xlSortOnValues, Order:=vntOrders(i) _
                    , DataOption:=xlSortNormal
        Next i
        With .Sort
            .SetRange rngScope
            .Header = xlNo
            .MatchCase = False
            .Orientation = lngOrientation
            .SortMethod = xlStroke
            .Apply
        End With
    End With

    Set rngTop = Nothing

 End Sub

 (Bun)


 –{“–‚É‚¨Žè”‚ð‚¨‚©‚¯‚µ‚Ü‚·B

 >‘qŒÉA“A’IA”Ô†‚͈ê‚‚̃Zƒ‹‚ɘAŒ‹‚·‚é•K—v‚Í•K‚¸‚µ‚à—L‚è‚Ü‚¹‚ñ‚Ì‚Å
 —Ⴆ‚Îu“Š“ü•\v‚ÌB7AC7‚Æ•¡”ƒZƒ‹‚É“ü—Í‚µ‚Ä‚à‘åä•v‚Æ‚¢‚¤‚±‚Æ‚Å‚µ‚傤‚©H

 ‘qŒÉ`‚ÌŒ‚Å‚¢‚­‚‚©•ÏX‚Æ‚±‚¿‚ç‚Ål‚¦‚½‚±‚Æ‚ª‚ ‚è‚Ü‚·‚Ì‚Å‚Æ‚è‚ ‚¦‚¸‚Ü‚Æ‚ß‚Ü‚·B

 EŽQÆ‚·‚é‚Ì‚Íu‘qŒÉvu“v‚Ì2—ñ‚¾‚¯‚ÅOKi’I‚ƔԆ‚Í•s—vj
 Eƒ}ƒXƒ^[‚ª‘SŠp”¼Šp‚Ì‚Ù‚©‚Éu‚¨‹q—l‘Ήž—pvu‚¨‹q‚³‚ܑΉžv‚È‚Ç“¯‚¶“à—e‚Å‚Ü‚Á‚½‚­ˆá‚¤‘‚«•û‚ð‚µ‚Ä‚¢‚é‚à‚Ì‚ª‚ ‚é‚Ì‚ÅA
 •ÊƒV[ƒg‚Éu‘qŒÉE’Iƒ}ƒXƒ^[v‚ðì‚èA“ü—Í‹K‘¥‚Æ–¼‘O‚Ì’è‹`‚ð—˜—p‚µ‚ă}ƒXƒ^[E“Š“ü•\‚Æ‚àƒvƒ‹ƒ_ƒEƒ“ƒŠƒXƒg‚©‚ç‘I‘ð‚·‚é‚悤‚É‚µ‚悤‚ÆŽv‚¢‚Ü‚·B
 ‚»‚ê‚ÅA‚Å‚«‚ê‚ΓŠ“ü•\‚ÌB7‚Éu‘qŒÉvC7‚Éu“v‚Ì€–Ú‚ðA‚»‚ꂼ‚ê“ü—Í‹K‘¥‚Å“ü‚ê‚悤‚ÆŽv‚¢‚Ü‚·B

 ‚±‚ê‚ňê“xƒ}ƒXƒ^[‚ðƒƒ“ƒe‚µ‚Ä‚©‚狳‚¦‚Ä‚¢‚½‚¾‚¢‚½ƒR[ƒh‚ŃeƒXƒg‚µ‚Ä‚Ý‚Ü‚·B
 ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

 iႾ‚é‚Üj

 >>‘qŒÉA“A’IA”Ô†‚͈ê‚‚̃Zƒ‹‚ɘAŒ‹‚·‚é•K—v‚Í•K‚¸‚µ‚à—L‚è‚Ü‚¹‚ñ‚Ì‚Å
 >—Ⴆ‚Îu“Š“ü•\v‚ÌB7AC7‚Æ•¡”ƒZƒ‹‚É“ü—Í‚µ‚Ä‚à‘åä•v‚Æ‚¢‚¤‚±‚Æ‚Å‚µ‚傤‚©H

 ‘åä•v‚Å‚·A’A‚µUp‚µ‚½ƒ}ƒNƒ‚Å‚Í‚»‚Ì—l‚È“ü—͂ɑ΂µ‚ẴR[ƒh‚ɬ‚Á‚Ä‚¢‚é‚Ì‚Å
 ˆê•”ƒR[ƒh‚Ì•ÏX‚ª•K—v‚ɬ‚è‚Ü‚·

 >‘qŒÉ`‚ÌŒ‚Å‚¢‚­‚‚©•ÏX‚Æ‚±‚¿‚ç‚Ål‚¦‚½‚±‚Æ‚ª‚ ‚è‚Ü‚·‚Ì‚Å‚Æ‚è‚ ‚¦‚¸‚Ü‚Æ‚ß‚Ü‚·B
 >
 >
 >EŽQÆ‚·‚é‚Ì‚Íu‘qŒÉvu“v‚Ì2—ñ‚¾‚¯‚ÅOKi’I‚ƔԆ‚Í•s—vj
 >Eƒ}ƒXƒ^[‚ª‘SŠp”¼Šp‚Ì‚Ù‚©‚Éu‚¨‹q—l‘Ήž—pvu‚¨‹q‚³‚ܑΉžv‚È‚Ç“¯‚¶“à—e‚Å‚Ü‚Á‚½‚­ˆá‚¤‘‚«•û‚ð‚µ‚Ä‚¢‚é‚à‚Ì‚ª‚ ‚é‚Ì‚ÅA
 >•ÊƒV[ƒg‚Éu‘qŒÉE’Iƒ}ƒXƒ^[v‚ðì‚èA“ü—Í‹K‘¥‚Æ–¼‘O‚Ì’è‹`‚ð—˜—p‚µ‚ă}ƒXƒ^[E“Š“ü•\‚Æ‚àƒvƒ‹ƒ_ƒEƒ“ƒŠƒXƒg‚©‚ç‘I‘ð‚·‚é‚悤‚É‚µ‚悤‚ÆŽv‚¢‚Ü‚·B
 >‚»‚ê‚ÅA‚Å‚«‚ê‚ΓŠ“ü•\‚ÌB7‚Éu‘qŒÉvC7‚Éu“v‚Ì€–Ú‚ðA‚»‚ꂼ‚ê“ü—Í‹K‘¥‚Å“ü‚ê‚悤‚ÆŽv‚¢‚Ü‚·B

 >‚±‚ê‚ňê“xƒ}ƒXƒ^[‚ðƒƒ“ƒe‚µ‚Ä‚©‚狳‚¦‚Ä‚¢‚½‚¾‚¢‚½ƒR[ƒh‚ŃeƒXƒg‚µ‚Ä‚Ý‚Ü‚·B

 ‚Å‚ÍA‚»‚Ì—l‚ÈŽd—l‚ŃR[ƒh‚Ì•ÏX‚ð‚µ‚Ü‚·‚©H

 (Bun)


 BUN—l

 >‚»‚Ì—l‚ÈŽd—l‚ŃR[ƒh‚Ì•ÏX‚ð‚µ‚Ü‚·‚©H

 ‚Í‚¢A‚¨Šè‚¢‚µ‚Ü‚·<(__)>

 iႾ‚é‚Üj

 ƒ}ƒNƒ‚ÌŽd—l•ÏX‚ð‚µ‚Ü‚µ‚½
 u“Š“ü•\v‚ÌB7‚Éu‘qŒÉvAC7‚Éu“v‚ª“ü‚è‚Ü‚·

 ˆÈ‰º‚Ìšˆó‚ð•ÏXA’ljÁ‚µ‚ĉº‚³‚¢i‘O‚̃R[ƒh‚̓Rƒƒ“ƒgƒAƒEƒg‚µ‚ÄŽc‚µ‚Ä—L‚è‚Ü‚·j

 uSub Sample_3v‚̃vƒƒV[ƒWƒƒ‚Ì’†‚Ì

    '“Š“ü•\‚ÉA‚¢‚Ä
    With rngResult
        '—ñ”‚̎擾
        lngColumns = .Offset(, Columns.Count - .Column).End(xlToLeft).Column - .Column
        If lngColumns <= 0 Then
            strProm = .Parent.Name & "‚Ƀf[ƒ^‚ª—L‚è‚Ü‚¹‚ñ"
            GoTo Wayout
        End If
        'Set”‚ðŽæ“¾
        vntSets = .Parent.Range("B2").Value
        If Val(vntSets) < 1 Then
            strProm = "ƒZƒbƒg”‚ªÝ’肳‚ê‚Ä‚¢‚Ü‚¹‚ñ"
            GoTo Wayout
        End If
        'oŒÉꊂðŽæ“¾
 '       vntData = .Parent.Range("B7").Value
 '       vntPlace = Split(vntData, ":", , vbTextCompare)
 '       If UBound(vntPlace, 1) < 3 Then
 '           strProm = "oŒÉꊂ̓ü—Í‚ª³‚µ‚­—L‚è‚Ü‚¹‚ñ"
 '           GoTo Wayout
 '       End If
        vntPlace = .Parent.Range("B7:C7").Value 'š•ÏX
        'ÝŒÉID‚ðŽæ“¾
 '       vntStockID = .Offset(, 1).Resize(, lngColumns).Value
        'šu“Š“ü•\v‚ÌÝŒÉID‚ª1—ñ‚ÌꇂɑΈ
        vntStockID = .Offset(, 1).Resize(, lngColumns + 1).Value 'š•ÏX
        ReDim Preserve vntStockID(1 To 1, 1 To lngColumns) 'š’ljÁ
        's”‚̎擾
 '       lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row 'šíœ
 '       If lngRows > 0 Then 'šíœ
 '            .Offset(1).Resize(lngRows).EntireRow.Delete 'šíœ
 '        End If 'šíœ
    End With

 uFunction PlaceCheckv‚ÉA‚¢‚Ä‚Í

 Private Function PlaceCheck(vntCheck As Variant, _
                        lngPos As Long, vntData As Variant) As Boolean

    Dim i As Long

    '‘qŒÉA“A’IA”Ô†‚ðƒ`ƒFƒbƒN
 '   For i = 0 To UBound(vntCheck, 1)
    For i = 1 To UBound(vntCheck, 2) 'š•ÏX
 '       If StrComp(vntCheck(i), vntData(lngPos, i + 7), vbTextCompare) <> 0 Then
        If StrComp(vntCheck(1, i), vntData(lngPos, i - 1 + 7), vbTextCompare) <> 0 Then 'š•ÏX
            Exit For
        End If
    Next i

    '‘S‚Ĉê’v‚Ìê‡
 '   If i > UBound(vntCheck, 1) Then
    If i > UBound(vntCheck, 2) Then 'š•ÏX
        '–ß‚è’l‚Æ‚µ‚ÄTrue‚ð•Ô‚·
        PlaceCheck = True
    End If

 End Function

 ˆÈã‚Å‚·

 (Bun)


 ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
 ƒeƒXƒgƒf[ƒ^‚ÅŽŽ‚µ‚½‚Æ‚±‚ëŽv‚¢’Ê‚è‚ÌŒ‹‰Ê‚ªo‚Ü‚µ‚½B

 ‚·‚Ý‚Ü‚¹‚ñA‚à‚¤ˆê‚‚¾‚¯‚¨•·‚«‚µ‚½‚¢‚Ì‚Å‚·‚ªi–{“–‚É‚·‚Ý‚Ü‚¹‚ñj

 Ž¿–â‚Ìʼn‚É‘‚¢‚½“ü‰×ƒ}ƒXƒ^[‚̃ŒƒCƒAƒEƒg

 @@@A@@@B@@@C@@@@D@@@@E@@@@@F@@@@@G@@@@@@@H@@@@@@@I@@@
 1 “ü‰×ID@“ü‰×“ú@ÝŒÉID@@•i–¼@“ü‰×—\’è”@“ü‰×ŽÀ”@Žg—pŠúŒÀi”Nj@Žg—pŠúŒÀiŒŽj@Žg—pŠúŒÀi“új

 ‚±‚Ì•À‚Ñ‚ª•Ï‚í‚Á‚½‚èŠÔ‚ɕʂ̃f[ƒ^‚Ì—ñ‚ª‘}“ü‚³‚ꂽê‡A‚Ç‚Ì•”•ª‚ð•ÏX‚·‚ê‚΂悢‚Å‚µ‚傤‚©B

 ʼn‚ɃAƒbƒv‚µ‚Ä‚¢‚½‚¾‚¢‚½ƒR[ƒh‚Å‚Í offsetƒvƒƒpƒeƒB‚̈ø”‚ð‚¢‚¶‚Á‚½‚肵‚Ä‚Å‚«‚½‚Ì‚Å‚·‚ªA¡‰ñ‚Ì
 ƒ}ƒXƒ^[‚©‚çì‹Æ—pƒV[ƒg‚Ƀf[ƒ^‚ð“n‚·Û‚É‚Ç‚Ì•”•ª‚Ń}ƒXƒ^[‚Ì—ñ‚ðŽw’肵‚Ä‚¢‚é‚Ì‚©‚ª‚æ‚­•ª‚©‚è‚Ü‚¹‚ñc

 ‚·‚Ý‚Ü‚¹‚ñAʼn‚ÉŽ¿–₵‚½Žž‚ÉA•K—v‚ȃf[ƒ^‚Ì—ñ‚ªA`AD—ñi+AI—ñj‚܂Ńoƒ‰ƒoƒ‰‚ÉŽU‚ç‚΂Á‚Ä‚¢‚½‚Ì‚ÅA
 •K—v‚È—ñ‚¾‚¯‚ð‚Ü‚Æ‚ß‚½“à—e‚ð‹LÚ‚µ‚½‚ñ‚Å‚·c

 ŽÀÛ‚Í

 @@@@ã‚Ì—á@¨@ŽÀÛ‚Ì—ñ
 “ü‰×IDF@@A@@@@@A
 “ü‰×“úF@@B@@@@@I@@@@
 ÝŒÉIDF@@C@@@@@N
 •i–¼F@@@D@@@@@O
 “ü‰×—\’è”FE@@@@@P
 “ü‰×ŽÀ”F@F@@@@@Q
 Žg—pŠúŒÀ”NFG@@@@@AB
 Žg—pŠúŒÀŒŽFH@@@@@AC
 Žg—pŠúŒÀ“úFI@@@@@AD

 ‚Æ‚È‚Á‚Ä‚¢‚Ü‚·B
 •ÏX•”•ª‚¾‚¯‹³‚¦‚Ä‚¢‚½‚¾‚¯‚Ü‚µ‚½‚炱‚¿‚ç‚Åì‹Æ‚µ‚Ü‚·‚Ì‚ÅA‚Ç‚Ì•”•ª‚©‚¾‚¯‚¨‹³‚¦‚¢‚½‚¾‚¯‚Ü‚·‚Å‚µ‚傤‚©B
 ‘qŒÉE“E“ü‰×Žó•t”Ô†‚Ì—ñ‚Í•Ï‚í‚è‚Ü‚¹‚ñB

 Œ‹‰Ê“I‚É—]Œv‚ÈŽèŠÔ‚ð‚¨‚©‚¯‚·‚邱‚Æ‚É‚È‚Á‚Ä‚µ‚Ü‚¢A\‚µ–󂲂´‚¢‚Ü‚¹‚ñB

 ‚æ‚낵‚­‚¨Šè‚¢‚¢‚½‚µ‚Ü‚·B

 iႾ‚é‚Üj


 >‚±‚Ì•À‚Ñ‚ª•Ï‚í‚Á‚½‚èŠÔ‚ɕʂ̃f[ƒ^‚Ì—ñ‚ª‘}“ü‚³‚ꂽê‡A‚Ç‚Ì•”•ª‚ð•ÏX‚·‚ê‚΂悢‚Å‚µ‚傤‚©B

 >ʼn‚ɃAƒbƒv‚µ‚Ä‚¢‚½‚¾‚¢‚½ƒR[ƒh‚Å‚Í offsetƒvƒƒpƒeƒB‚̈ø”‚ð‚¢‚¶‚Á‚½‚肵‚Ä‚Å‚«‚½‚Ì‚Å‚·‚ªA¡‰ñ‚Ì
 >ƒ}ƒXƒ^[‚©‚çì‹Æ—pƒV[ƒg‚Ƀf[ƒ^‚ð“n‚·Û‚É‚Ç‚Ì•”•ª‚Ń}ƒXƒ^[‚Ì—ñ‚ðŽw’肵‚Ä‚¢‚é‚Ì‚©‚ª‚æ‚­•ª‚©‚è‚Ü‚¹‚ñc

 >‚·‚Ý‚Ü‚¹‚ñAʼn‚ÉŽ¿–₵‚½Žž‚ÉA•K—v‚ȃf[ƒ^‚Ì—ñ‚ªA`AD—ñi+AI—ñj‚܂Ńoƒ‰ƒoƒ‰‚ÉŽU‚ç‚΂Á‚Ä‚¢‚½‚Ì‚ÅA
 >•K—v‚È—ñ‚¾‚¯‚ð‚Ü‚Æ‚ß‚½“à—e‚ð‹LÚ‚µ‚½‚ñ‚Å‚·c

 ¡‰ñ‚Ìê‡AŒ´‘¥“I‚Ƀ}ƒNƒ‚Ì•ÏX‚Í•K—v—L‚è‚Ü‚¹‚ñ
 ‚»‚Ì—l‚ÈŽ–‚àŠÜ‚ßAuì‹Æ—pvƒV[ƒg‚ɃtƒBƒ‹ƒ^ƒIƒvƒVƒ‡ƒ“iAdvancedFilterj‚Ńf[ƒ^‚ð’Šo‚µ‚Ä‚¢‚Ü‚·
 ‚±‚Ìê‡A’ŠoŒ³‚Ìu“ü‰×ƒ}ƒXƒ^v‚Ì—ñŒ©o‚µ‚Æ’Šoæ‚Ìuì‹Æ—pv‚Ì—ñŒ©o‚µ‚ª“¯‚¶•¨‚ª’Šo‚³‚ê‚Ü‚·
 ˆö‚Á‚ÄAuì‹Æ—pv‚Ì’Šo”͈͂ÆðŒ”͈̗͂ñŒ©o‚µ‚ªu“ü‰×ƒ}ƒXƒ^v‚É–³‚¯‚ê‚΃Gƒ‰[‚ð‹N‚±‚µ‚Ü‚·‚ª
 —L‚ê‚ÎA‘´ˆ‚Ì—ñŒ©o‚µ‚Ì—ñ‚É’Šo‚³‚ê‚Ü‚·
 u“ü‰×ƒ}ƒXƒ^v‚Ì—ñ‚ª‘}“ü휂ŗñˆÊ’u‚ª•Ï‚í‚Á‚Ä‚àA—ñŒ©o‚µ‚³‚¦•ÏX‚ª–³‚¯‚ê‚Α´‚Ì‚Ü‚ÜŽg‚¦‚Ü‚·
 Ÿˆ‚ÅA ˆê”ԑ厖‚ÈŽ–‚Íuì‹Æ—pv‚Ì—ñŒ©o‚µ‚̇”Ô‚Æ—ñˆÊ’u‚ð•ÏX‚µ‚È‚¢Ž–‚Å‚·
 ‚Ü‚½AŽ„‚Ì•û‚ÅŽwŽ¦‚µ‚½uì‹Æ—pv‚Ì—ñŒ©o‚µ‚ªu“ü‰×ƒ}ƒXƒ^v‚ƈá‚Á‚Ä‚¢‚½ê‡Auì‹Æ—pv‚Ì—ñŒ©o‚µ‚ðu“ü‰×ƒ}ƒXƒ^v‚ɇ‚킹‚ĉº‚³‚¢
 ‚±‚Ìê‡AŽè“ü—Í‚Åuì‹Æ—pv‚Ì—ñŒ©o‚µ‚ð•ÏX‚·‚é‚Ì‚Å‚Í–³‚­A•K‚¸u“ü‰×ƒ}ƒXƒ^v‚Ì—ñŒ©o‚µ‚ðCopy‚µ‚ĉº‚³‚¢
 iƒtƒBƒ‹ƒ^ƒIƒvƒVƒ‡ƒ“‚Í_ŒoŽ¿‚È‚Ì‚ÅAlŠÔ‚ªŒ©‚Ĉꌩ“¯‚¶‚ÉŒ©‚¦‚Ä‚à
 Space‚ª“ü‚Á‚Ä‚¢‚½‚è‚Å‹C‚ª•t‚©‚È‚¢Ž–‚ª—L‚茋‰Ê“I‚É’Šoo—ˆ‚È‚¢ƒgƒ‰ƒuƒ‹‚ªŒ‹\—L‚è‚Ü‚·j

 ã‹L‚ªŽç‚ç‚êuì‹Æ—pv‚É’Šo‚ªo—ˆ‚Ä‚¢‚ê‚Αåä•v‚¾‚ÆŽv‚¢‚Ü‚·

 (Bun)


 ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
 ‚Å‚«‚Ü‚µ‚½I
 –{“–‚É•‚©‚è‚Ü‚µ‚½I

 iႾ‚é‚Üj

 1‚•·‚«‚½‚¢‚Ì‚Å‚·‚ªH
 ‚±‚̃}ƒNƒ‚ªs‚Á‚Ä‚¢‚鈗‚ÌŠT—v‚ª‰ð‚Á‚Ä‚¢‚é‚Ì‚©‚ª•·‚«‚½‚¢‚Ì‚Å‚·‚ªH
 ƒR[ƒfƒBƒ“ƒO‹Zp‚ÆŒ¾‚¤ˆÓ–¡‚Å‚Í–³‚­AŽè‡‚ÉA‚¢‚Ä‚Å‚·
 Ÿ‚ꂪ‰ð‚Á‚Ä‚È‚¢‚ÆA‚±‚̌ッ“ƒeƒiƒ“ƒX‚Å‚àA‰^—p‚Åà–¾‚·‚é‚É‚µ‚Ăࢂé‚Ì‚Å‚ÍH

 (Bun)


 ‚à‚¤Œ©‚Ä‚¢‚È‚¢‚©‚ÈH
 ‚²‚ß‚ñAŽv‚¢ž‚Ý‚ªŒƒ‚µ‚¢—l‚ŃR[ƒh‚Í‚à‚Á‚ÆŠÈ’P‚ÅÏ‚Ý‚Ü‚µ‚½
 ˆÈ‰º‚Ì—l‚ÉAu Sub Sample_3v‚Ìu'“Š“ü•\‚ÌÝŒÉID‚ð‰¡‚ÉŒ©‚Äs‚Á‚Äv`uNext iv–˜‚ð·‚µ‘Ö‚¦‚ĉº‚³‚¢

    '“Š“ü•\‚ÌÝŒÉID‚ð‰¡‚ÉŒ©‚Äs‚Á‚Ä
    For i = 1 To lngColumns
        '•K—v”‚ð“]‹L
        lngCount = vntSets
        'o—Í—p”z—ñ‚ð‰Šú‰»
        ReDim vntResult(1 To 1)
        '“ü‰×ƒ}ƒXƒ^‚ÌÝŒÉID‚ðã‚©‚猩‚Äs‚Á‚Ä
        j = 1
        'o—Ís”‚ð‰Šú‰»
        k = 0
        Do Until lngCount <= 0
            'ÝŒÉID‚ª“™‚µ‚¢‚È‚ç
            If vntStockID(1, i) = vntData(j, 2) Then
                'oŒÉꊂ̃`ƒFƒbƒN‚ªTrue‚È‚ç
                If PlaceCheck(vntPlace, j, vntData) Then
                    'o—Ís‚ðXV
                    k = k + 1
                    'o—Í—p”z—ñ‚ðŠg’£
                    ReDim Preserve vntResult(1 To k * 2)
                    '“ü‰×Žó•t”Ô†‚ð“]‹L
                    vntResult(k * 2 - 1) = "'" & vntData(j, 1)
                    'Žg—pŠúŒÀ‚ð“]‹L
                    vntResult(k * 2) = GetDate(vntData(j, 4), vntData(j, 5), vntData(j, 6))
                    '•K—v”‚©‚ç݌ɔ‚ðŒ¸ŽZ
                    lngCount = lngCount - vntData(j, 3)
                End If
            End If
            '“ü‰×ƒ}ƒXƒ^‚ðŒ©‚és‚ðXV
            j = j + 1
            If j > lngRows Then
                'o—Ís‚ðXV
                k = k + 1
                'o—Í—p”z—ñ‚ðŠg’£
                ReDim Preserve vntResult(1 To k * 2)
                vntResult(k * 2 - 1) = lngCount & "–‡•s‘«"
                Exit Do
            End If
        Loop
        'Œ‹‰Ê‚ðo—Í
        rngResult.Offset(1, i).Resize(UBound(vntResult)).Value _
                = WorksheetFunction.Transpose(vntResult)
        '•s‘«‚Ìꇂ̈—
        If InStr(1, vntResult(k * 2 - 1), "–‡•s‘«") Then
            rngResult.Offset(k * 2 - 1, i).Font.Color = vbRed
        End If
        'o—Í‚ÌÅ‘ås”‚ð•Û‘¶
        If lngMax < k Then
            lngMax = k
        End If
    Next i

 (Bun)


 BUN—l

 ‚·‚Ý‚Ü‚¹‚ñA“y“ú‹x‚Ý‚Ì‚½‚ß¡Œ©‚Ü‚µ‚½c

 Žè‡‚̓Rƒƒ“ƒg‚ðׂ©‚­‘‚¢‚Ä‚¢‚½‚¾‚¢‚Ä‚¢‚é‚̂ʼn½‚ð‚µ‚Ä‚¢‚é‚©‚Í‘å‘Ì•ª‚©‚è‚Ü‚·B
 u‰æ–ÊXV‚Ì’âŽ~vuÄŠJv‚Æ‚¢‚¤‚Ì‚ªÅ‰‚Í•ª‚©‚ç‚È‚©‚Á‚½‚Ì‚Å‚·‚ªGoogle‚ÅŒŸõ‚µ‚Ä‘½•ª—‰ð‚Å‚«‚½‚ÆŽv‚¢‚Ü‚·B

 ‚Æ‚±‚ë‚ÅA‘O‚É‘‚«‚Ü‚µ‚½u“Š“ü•\‚ª•¡”‘¶Ý‚·‚éê‡v‚̑Έ‚Í

 >    '“Š“ü•\‚ÌÝŒÉIDƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éisŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
 >    Set rngResult = Worksheets("“Š“ü•\").Range("A14")
 >‚ð 
 >   '“Š“ü•\‚ÌÝŒÉIDƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éisŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
 >   Set rngResult = ActiveSheet.Range("A14")

 ‚±‚Ì•û–@‚Å–â‘è‚È‚¢‚Å‚µ‚傤‚©B

 ‚ ‚Æ‚à‚¤‚P“_Aã‚©‚çu‚Ps–ڂɃ^ƒCƒgƒ‹si2011”N12ŒŽ“ü‰×ƒ}ƒXƒ^[‚Æ‚¢‚¤‚悤‚Èj‚ð“ü‚ꂽ‚¢v‚ÆŒ¾‚í‚ꂽ‚Ì‚Å
     '“ü‰×ƒ}ƒXƒ^[List‚Ì擪ƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éi擪—ñ‚Ì—ñŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
    Set rngList = Worksheets("ƒ}ƒXƒ^[").Range("A2")
 ‚Æ—ñŒ©o‚µ‚̃Zƒ‹ˆÊ’u‚ðA1¨A2‚É‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªuƒtƒB[ƒ‹ƒh–¼‚ª–³‚¢‚©–³Œø‚ȃtƒB[ƒ‹ƒh‚Å‚·v‚̃Gƒ‰[‚É‚È‚è‚Ü‚·B
 ‘å•‚È•ÏX‚ª•K—v‚Å‚ ‚ê‚΂±‚ê‚Í’f‚è‚Ü‚·‚ªA‚Ç‚±‚©‘¼‚É•ÏX‚·‚ׂ«‚Æ‚±‚낪‚ ‚é‚Ì‚Å‚µ‚傤‚©H

 ‚»‚ê‚ÆA‚±‚̌㑽•ªƒ}ƒXƒ^[‚©‚çŽg—p‚µ‚½•ª‚ð·‚µˆø‚­ˆ—‚ð‚·‚é‚悤‚É—v‹‚³‚ê‚é‚ÆŽv‚¤‚Ì‚Å‚·‚ªA
 ‚»‚ÌÛAlngCount ‚Ì’l‚ðŽQÆ‚·‚é‚悤‚ÈŒ`‚Å‘åä•v‚Å‚µ‚傤‚©B
 i‚±‚êˆÈã‚Ì‚¨Šè‚¢‚Í‚Å‚«‚È‚¢‚ÆŽv‚¤‚Ì‚ÅÝŒÉXVˆ—‚͉½‚Æ‚©Ž©—Í‚Ål‚¦‚悤‚ÆŽv‚Á‚Ä‚¢‚Ü‚·j

 ‰½“x‚à\‚µ–󂲂´‚¢‚Ü‚¹‚ñ„ƒ

 iႾ‚é‚Üj

 >Žè‡‚̓Rƒƒ“ƒg‚ðׂ©‚­‘‚¢‚Ä‚¢‚½‚¾‚¢‚Ä‚¢‚é‚̂ʼn½‚ð‚µ‚Ä‚¢‚é‚©‚Í‘å‘Ì•ª‚©‚è‚Ü‚·B

 ‘´‚ê‚È‚ç‹X‚µ‚¢‚Ì‚Å‚·‚ª
 ‚±‚̃}ƒNƒ‚ÍlŠÔ‚ªŽ†‚Ɖ”•Miƒ}ƒXƒ^ƒV[ƒg‚Æ“Š“ü•\j‚ÅŽè‚Ås‚¤•û–@‚ð‘´‚Ì‚Ü‚ÜExcelã‚Ås‚Á‚Ä
 ‚¢‚镨‚È‚Ì‚ÅAƒCƒ[ƒW‚µ‚â‚·‚¢‚©‚ÆŽv‚¢‚Ü‚·

 >‚Æ‚±‚ë‚ÅA‘O‚É‘‚«‚Ü‚µ‚½u“Š“ü•\‚ª•¡”‘¶Ý‚·‚éê‡v‚̑Έ‚Í
 >‚±‚Ì•û–@‚Å–â‘è‚È‚¢‚Å‚µ‚傤‚©B

 –â‘è–³‚¢‚ÆŽv‚¢‚Ü‚·

 >‚ ‚Æ‚à‚¤‚P“_Aã‚©‚çu‚Ps–ڂɃ^ƒCƒgƒ‹si2011”N12ŒŽ“ü‰×ƒ}ƒXƒ^[‚Æ‚¢‚¤‚悤‚Èj‚ð“ü‚ꂽ‚¢v‚ÆŒ¾‚í‚ꂽ‚Ì‚Å
  >   '“ü‰×ƒ}ƒXƒ^[List‚Ì擪ƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éi擪—ñ‚Ì—ñŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
  >  Set rngList = Worksheets("ƒ}ƒXƒ^[").Range("A2")
 >‚Æ—ñŒ©o‚µ‚̃Zƒ‹ˆÊ’u‚ðA1¨A2‚É‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªuƒtƒB[ƒ‹ƒh–¼‚ª–³‚¢‚©–³Œø‚ȃtƒB[ƒ‹ƒh‚Å‚·v‚̃Gƒ‰[‚É‚È‚è‚Ü‚·B
 >‘å•‚È•ÏX‚ª•K—v‚Å‚ ‚ê‚΂±‚ê‚Í’f‚è‚Ü‚·‚ªA‚Ç‚±‚©‘¼‚É•ÏX‚·‚ׂ«‚Æ‚±‚낪‚ ‚é‚Ì‚Å‚µ‚傤‚©H

 Ÿ‚ê‚ÍAuì‹Æ—pv‚É’Šo‚·‚鎞AƒtƒBƒ‹ƒ^ƒIƒvƒVƒ‡ƒ“iAdvancedFilterj‚̃ŠƒXƒg”͈͂ð“ü‰×ƒ}ƒXƒ^‚ÌA1‚Ì
 CurrentRegion‚ÅŽæ‚Á‚Ä‚¢‚é‚Ì‚ÅACurrentRegion‚ÌꇃZƒ‹”͈͂ª˜A‘±‚µ‚Ä‚¢‚é‚Æ‘´ˆ‚Ü‚ÅList‚Æ‚µ‚Ď󂯎æ‚è‚Ü‚·
 ˆö‚Á‚ÄAƒ^ƒCƒgƒ‹‚ð“ü‚ꂽ1s–Ú‚É—ñŒ©o‚µ‚ª—L‚镨‚µ‚Ü‚·‚Ì‚ÅrngList‚ðRange("A2")‚É‚µ‚Ä‚à
 Excel‘¤‚ÍRange("A1")‚Éݒ肵‚Ä‚¢‚é‚Ì‚Æ“¯‚¶‚Æ‘¨‚¦‚Ä‚¢‚éˆ×AuƒtƒB[ƒ‹ƒh–¼‚ª–³‚¢‚©–³Œø‚ȃtƒB[ƒ‹ƒh‚Å‚·v‚̃Gƒ‰[‚ªo‚Ü‚·
 Ÿ‚ê‚ð‰ñ”ð‚·‚é‚É‚ÍA1s–ڂɃ^ƒCƒgƒ‹‚ð“ü‚êA1sŠJ‚¯‚Äi2s–Ú‚Í‘S‚ċ󔒂̃Zƒ‹”͈ÍjList‚ª3s–ڂƬ‚é—l‚É‚µ

    '“ü‰×ƒ}ƒXƒ^[List‚Ì擪ƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éi擪—ñ‚Ì—ñŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
    Set rngList = Worksheets("ƒ}ƒXƒ^[").Range("A3")

 ‚ðA3‚ÉŽw’è‚·‚ê‚Αåä•v‚¾‚ÆŽv‚¢‚Ü‚·

 >‚»‚ê‚ÆA‚±‚̌㑽•ªƒ}ƒXƒ^[‚©‚çŽg—p‚µ‚½•ª‚ð·‚µˆø‚­ˆ—‚ð‚·‚é‚悤‚É—v‹‚³‚ê‚é‚ÆŽv‚¤‚Ì‚Å‚·‚ªA
 >‚»‚ÌÛAlngCount ‚Ì’l‚ðŽQÆ‚·‚é‚悤‚ÈŒ`‚Å‘åä•v‚Å‚µ‚傤‚©B
 >i‚±‚êˆÈã‚Ì‚¨Šè‚¢‚Í‚Å‚«‚È‚¢‚ÆŽv‚¤‚Ì‚ÅÝŒÉXVˆ—‚͉½‚Æ‚©Ž©—Í‚Ål‚¦‚悤‚ÆŽv‚Á‚Ä‚¢‚Ü‚·j

 ‘´‚Ìê‡AŒ»Ý‚̃}ƒNƒ‚Å‚Í”z—ñ‚É‘g‚Ý“ü‚ê‚Ä‚Í‚¢‚Ü‚¹‚ñ‚ªiuì‹Æ—pv‚Å‚Í’Šo‚µ‚Ä‚¢‚Ü‚·j
 Žg—p‚µ‚½ƒŒƒR[ƒh‚Ìu“ü‰×IDv‚ð—Š‚è‚ÉŒ¸Žc‚ðs‚¤—l‚Å‚·
 Œ»Ýƒ}ƒNƒ‚Ås‚¤‚Ì‚ªˆê”ԊԈႢ‚ª–³‚¢‚Ì‚Å‚·‚ªAŒ‹\ƒƒ“ƒhƒNƒTƒC‚©‚àH
 ˆö‚Á‚ÄA•Ê‚̃}ƒNƒì‚Á‚½•û‚ªŠy‚©‚ÈH
 i‘´‚ÌŽžŽg‚Á‚½uì‹Æ—pv‚Ì’Šos‚ð•Ê‚ȃV[ƒg‚É•Û‘¶‚µ‚Ä‚¨‚¯‚Ίy‚¾‚ÆŽv‚¢‚Ü‚·j

 (Bun)


 >‚»‚ê‚ÆA‚±‚̌㑽•ªƒ}ƒXƒ^[‚©‚çŽg—p‚µ‚½•ª‚ð·‚µˆø‚­ˆ—‚ð‚·‚é‚悤‚É—v‹‚³‚ê‚é‚ÆŽv‚¤‚Ì‚Å‚·‚ªA

 Ÿ‚ê‚ÌŒ‚ÅAUp‚µ‚½ŒãŽv‚¢‚‚¢‚½‚Ì‚Å‚·‚ªH

 u“Š“ü•\v‚Ì‹Lq‚ÌÝ‚é”͈͂̉E‘¤‚͋󂢂ċ‚é‚Ì‚Å‚µ‚傤‚©H
 ‚à‚µ‹ó‚¢‚Ä‚¢‚é‚È‚çA‚Ç‚Ì—ñˆÈ~‚©’m‚肽‚¢‚Ì‚Å‚·‚ªH
 ‘´ˆ‚ÖAŽg‚Á‚½ƒŒƒR[ƒh‚ðu“ü‰×IDv‚ðŠÜ‚ßo—Í‚µ‚Ä‚µ‚Ü‚¦‚ΑP‚¢‚Ì‚Å‚ÍH
 u“ü‰×IDv‚ªƒ}ƒXƒ^‚É‚¨‚¢‚ă†ƒj[ƒN‚ÅList‚ÍA‚±‚Ì€–Ú‚ðKey‚Æ‚µ‚ĸ‡®—ñ‚³‚ê‚Ä‚¢‚é‚È‚ç
 Œã‚©‚çAƒ}ƒXƒ^‚ÌŒ¸Žc‚ªo—ˆ‚é‚ÆŽv‚¢‚Ü‚·‚æ

 (Bun)


 ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
 Œ©o‚µ‚ÌŒA—¹‰ð‚¢‚½‚µ‚Ü‚µ‚½B

 ݌Ɉ—‚̓}ƒNƒ‚ð•Ê‚Éì‚Á‚½•û‚ª‚æ‚¢‚Ì‚Å‚·‚ËB

 >u“Š“ü•\v‚Ì‹Lq‚ÌÝ‚é”͈͂̉E‘¤‚͋󂢂ċ‚é‚Ì‚Å‚µ‚傤‚©H
 ‚Í‚¢AO—ñˆÈ~‚ªˆóü”͈͊O‚ŋ󂢂Ă¢‚Ü‚·B
 Žg‚Á‚½ƒŒƒR[ƒh‚Æ‚Íuì‹Æ—pv‚É’Šo‚³‚ꂽ“à—e‚̂悤‚È‚à‚Ì‚Å‚µ‚傤‚©B

 ã‚̒ljÁƒŒƒX‚ð‚¢‚½‚¾‚­‘O‚Él‚¦‚Ä‚¢‚½ƒR[ƒh«

 If u“Š“ü•\‚Ì“ü‰×Žó•t”Ô†v = uì‹Æ—p‚Ì“ü‰×Žó•t”Ô†v Then

 @@If u1s–Ú‚Ì݌ɔv- uƒZƒbƒg”v >= 0 Then
 @@@@݌ɔ = u1s–Ú‚Ì݌ɔv- uƒZƒbƒg”v
 @@Else
 @@@@u“Š“ü•\‚ÌŽŸ‚Ìs‚Ì“ü‰×Žó•t”Ô†v = uì‹Æ—p‚ÌŽŸ‚Ìs‚Ì“ü‰×Žó•t”Ô†v Then
 @@@@݌ɔ = u2s–Ú‚Ì݌ɔv- iu1s–Ú‚Ì݌ɔv- uƒZƒbƒg”vj

 F@@@@F@@@@F

 ‚±‚ñ‚ÈŠ´‚¶‚Å‚µ‚傤‚©B
 “ª‚ł͉½‚Æ‚È‚­ŒvŽZ•û–@‚Í•ª‚©‚Á‚Ä‚¢‚é‚Ì‚Å‚·‚ª‚Ü‚¾‚¤‚Ü‚­ƒR[ƒh‚É•\‚¹‚È‚­‚Äc
 ‚¿‚å‚Á‚Æ®—‚µ‚È‚ª‚çl‚¦‚Ä‚Ý‚Ü‚·B
 ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

 iႾ‚é‚Üj

 1‚•·‚«‚½‚¢Ž–‚ª—L‚è‚Ü‚·AŒ³‚Ìu“ü‰×ƒ}ƒXƒ^v‚̃ŒƒR[ƒh‚ð“Á’è‚·‚éˆ×‚ÌKey‚Æ‚µ‚Ä
 Œ³‚Ìu“ü‰×ƒ}ƒXƒ^v‚ª¸‡®—ñ‚³‚ê‚Ä‚¢‚éˆêˆÓiƒ†ƒj[ƒNj‚Ì€–Ú‚ª’m‚肽‚¢‚Ì‚Å‚·‚ªH
 u“ü‰×IDv‚Ì€–Ú‚Å‚·‚©u“ü‰×Žó•t”Ô†v‚Å‚·‚©H
 Ÿ‚ê‚É‚æ‚èƒ}ƒNƒ‚ª•Ï‚í‚Á‚Ä‚«‚Ü‚·iˆêˆÓ‚Ÿ‡®—ñ‚³‚ê‚Ä‚¢‚éKey‚È‚çAKey‚Ì’Tõ‚𑬂­‚·‚鎖‚ªo—ˆ‚Ü‚·j

 Ž„‚ªŽv‚¢A‚¢‚½A¡‰ñ‚̎臂͈ȉº‚Ì—l‚©‚ÆŽv‚¢‚Ü‚·H

 1Au“Š“ü•\v‚ð쬂·‚éƒ}ƒNƒ‚Ì’†‚ÅAu“Š“ü•\v‚ÌO1‚ðŠî€‚Æ‚µ
 @i—ñŒ©o‚µ‚ðO1:P1‚Æ‚µAƒf[ƒ^‚ðO2ˆÈ‰º‚Æ‚µ‚Ü‚·j
 @O—ñ‚Éu“ü‰×IDvŽá‚µ‚­‚Íu“ü‰×Žó•t”Ô†v‚ð‹LÚ‚µAP—ñ‚ÉŽg—p”—Ê‚ð‹LÚ‚µ‚Ü‚·
 @Ÿ‚ê‚ÍAu“Š“ü•\v‚»‚Ì•¨‚ªƒ}ƒXƒ^‚̈êˆÓ‚Ÿ‡®—ñ‚³‚ê‚Ä‚¢‚éKey‚Æ–¾Šm‚ÈŽg—p”—Ê‚ðŽ‚Á‚Ä‚¢‚È‚¢ˆ×‚É
 @u“Š“ü•\v쬎ž‚ÉŸ‚ê‚ð‹L˜^‚µ‚Ä’u‚±‚¤‚ÆŒ¾‚¤Ž–‚Å‚·
 2Au“Š“ü•\v‚ÅŽg—p‚³‚ꂽ”—Ê‚ðu“ü‰×ƒ}ƒXƒ^v‚©‚猸ŽZ‚³‚¹‚éƒ}ƒNƒ‚ð쬂µ‚Ü‚·
 @Ÿ‚ê‚̈Ӗ¡‚ÍAu“Š“ü•\vŒvŽZŽž‚É݌ɕs‘«“™‚ŃZƒbƒg”“™‚ð•ÏX‚µ‚ÄÄŒvŽZ‚·‚éꇂðl—¶‚µ‚Ä
 @i쬎ž‚É݌Ɉø“–‚Ń}ƒXƒ^‚©‚猸ŽZ‚ðs‚¤‚Æ݌ɂª‚ß‚¿‚á‚­‚¿‚á‚ɬ‚éj
 @•Êƒ}ƒNƒ‚É‚·‚ê‚ÎAu“Š“ü•\v‚ªŠm’肵‚½Œã‚É–¾Ž¦“I‚É݌Ɉø“–i݌ɂ̌¸ŽZj‚ªs‚¦‚Ü‚·
 3A‚±‚̃}ƒNƒ‚ðŽÀs‚·‚é‚ÆAu“Š“ü•\vO`P—ñ‚ðã‚©‚猩‚Äs‚Á‚ÄO—ñ‚Ìu“ü‰×IDvŽá‚µ‚­‚Íu“ü‰×Žó•t”Ô†v‚ð
 @u“ü‰×ƒ}ƒXƒ^v‚Ìu“ü‰×IDvŽá‚µ‚­‚Íu“ü‰×Žó•t”Ô†v‚©‚ç’Tõ‚µ‚Ü‚·A
 @’Tõ•û–@‚̓[ƒNƒV[ƒgŠÖ”‚ÌMatchŠÖ”‚Ì“ñ•ª’Tõ‚©Ž©‘O‚Ì“ñ•ª’Tõ‚ðŽg‚¢‚Ü‚·
 @i‚±‚ÌŽžA’Tõ‚³‚ê‚鑤‚ÌKey‚ª¸‡®—ñ‚³‚ê‚Ä‚¢‚é•K—v‚ª‚ ‚éj
 @Œ©‚‚©‚ê‚ÎA‚»‚̃ŒƒR[ƒh‚Ìu“ü‰×ŽÀ”v‚©‚çP—ñ‚ÌŽg—p”‚ðŒ¸ŽZ‚µ‚Ü‚·
 @Ÿ‚ê‚ðAu“Š“ü•\v‚ÌO`P—ñ‚ÌŌ㖘ŒJ‚è•Ô‚µ‚Ü‚·
 ˆÈã

 >ã‚̒ljÁƒŒƒX‚ð‚¢‚½‚¾‚­‘O‚Él‚¦‚Ä‚¢‚½ƒR[ƒh«
 >
 >
 >If u“Š“ü•\‚Ì“ü‰×Žó•t”Ô†v = uì‹Æ—p‚Ì“ü‰×Žó•t”Ô†v Then
 >
 >
 >@@If u1s–Ú‚Ì݌ɔv- uƒZƒbƒg”v >= 0 Then
 >@@@@݌ɔ = u1s–Ú‚Ì݌ɔv- uƒZƒbƒg”v
 >@@Else
 >@@@@u“Š“ü•\‚ÌŽŸ‚Ìs‚Ì“ü‰×Žó•t”Ô†v = uì‹Æ—p‚ÌŽŸ‚Ìs‚Ì“ü‰×Žó•t”Ô†v Then
 >@@@@݌ɔ = u2s–Ú‚Ì݌ɔv- iu1s–Ú‚Ì݌ɔv- uƒZƒbƒg”vj
 >
 >
 >F@@@@F@@@@F
 >
 >
 >‚±‚ñ‚ÈŠ´‚¶‚Å‚µ‚傤‚©B

 ‚ÉA‚¢‚Ä‚ÍA‰½ˆ‚É‘‚­ƒR[ƒh‚©‰ð‚è‚Ü‚¹‚ñ‚ªH
 悸Au“Š“ü•\‚Ì“ü‰×Žó•t”Ô†v‚ÆÝ‚è‚Ü‚·‚ªAŒ»ó‚Ìu“Š“ü•\v‚ł͉½ˆ‚É‚àu“ü‰×Žó•t”Ô†v”Ô†‚Ì‹LÚ‚ª—L‚è‚Ü‚¹‚ñ
 ‚Ü‚½Au݌ɔ = u1s–Ú‚Ì݌ɔv- uƒZƒbƒg”vv‚ÆÝ‚è‚Ü‚·‚ªAuì‹Æ—pv‚ÌList‚Íu“ü‰×ƒ}ƒXƒ^v‚É
 ’¼ÚƒŠƒ“ƒN‚µ‚Ä‚¢‚È‚¢‚Ì‚ÅAuì‹Æ—pv‚ÌList‚ð‘‚«Š·‚¦‚Ä‚àu“ü‰×ƒ}ƒXƒ^v‚É”½‰f‚µ‚Ü‚¹‚ñ
 ˆö‚Á‚ÄAu“ü‰×ƒ}ƒXƒ^v‚©‚ç’¼Ú’Tõ‚µ‚È‚¯‚ê‚ά‚è‚Ü‚¹‚ñA
 u“ü‰×Žó•t”Ô†v‚ªu“ü‰×ƒ}ƒXƒ^v‚̈êˆÓ‚Ÿ‡®—ñ‚³‚ê‚Ä‚¢‚éKey‚Å–³‚¯‚ê‚ÎAu“ü‰×ƒ}ƒXƒ^v‚Ìu“ü‰×Žó•t”Ô†v‚ðã‚©‚燔ԂɌ©‚Äs‚­’€ŽŸ’Tõ‚Ƭ‚èA”ñí‚ÉŽžŠÔ‚ªŠ|‚©‚è‚Ü‚·
 ‚à‚µA•Êƒ}ƒNƒ‚Æ‚µ‚Äã‹L‚̃R[ƒh‚ðì‚é‚Æ‚µ‚½ê‡‚̃R[ƒh‚à‚Ç‚«‚ð‘‚­‚ƈȉº‚Ì—l‚ɬ‚è‚Ü‚·

 For i=2 to u“Š“ü•\O`P—ñ‚ÌÅIsv
     For j = 3 to u“ü‰×ƒ}ƒXƒ^‚ÌÅIsv
         If u“ü‰×ƒ}ƒXƒ^‚Ì“ü‰×Žó•t”Ô†v = u“Š“ü•\O—ñ‚Ì“ü‰×Žó•t”Ô†v Then
             u“ü‰×ƒ}ƒXƒ^‚Ì“ü‰×ŽÀ”v = u“ü‰×ƒ}ƒXƒ^‚Ì“ü‰×ŽÀ”v - u“Š“ü•\P—ñ‚ÌŽg—p”v
              Exit For
         End If
     Next j
 Next i

 ‚Ƭ‚è‚Ü‚·

 (Bun)


 > Œ³‚Ìu“ü‰×ƒ}ƒXƒ^v‚ª¸‡®—ñ‚³‚ê‚Ä‚¢‚éˆêˆÓiƒ†ƒj[ƒNj‚Ì€–Ú‚ª’m‚肽‚¢‚Ì‚Å‚·‚ªH
 >u“ü‰×IDv‚Ì€–Ú‚Å‚·‚©u“ü‰×Žó•t”Ô†v‚Å‚·‚©H

 u“ü‰×IDv‚ªƒ†ƒj[ƒN‚©‚¸‡‚Å®—ñ‚³‚ê‚Ä‚¢‚Ü‚·B
 “ü‰×Žó•t”Ô†‚àƒ†ƒj[ƒN‚Å‚·‚ªˆê”Ô‚ÌŒ³‚É‚È‚Á‚Ä‚¢‚é‚Ì‚Í“ü‰×ID‚Ì•û‚Å‚·B

 >‰½ˆ‚É‘‚­ƒR[ƒh‚©‰ð‚è‚Ü‚¹‚ñ‚ªH
 ‚·‚Ý‚Ü‚¹‚ñA•Ê‚̃‚ƒWƒ…[ƒ‹‚É‘‚¢‚ăRƒ}ƒ“ƒhƒ{ƒ^ƒ“‚ÅŽÀs‚Æ‚¢‚¤Š´Šo‚Å‚µ‚½B
 “Š“ü•\‚Ì“ü‰×Žó•t”Ô†‚̓}ƒNƒŽÀsŒã‚É15s–ÚE17s–Ú`‚Éo‚Ä‚­‚é‚Ì‚Å‚»‚ê‚ðŽQÆ‚µ‚悤‚©‚ÆŽv‚Á‚Ä‚¢‚Ü‚µ‚½B

 •ªŠ¨ˆá‚¢‚µ‚Ä‚½‚ñ‚Å‚·‚ËAŽ„c

 “Š“ü•\‚ÌOEP—ñ‚Ƀf[ƒ^‚ð‘‚«‚¾‚µ‚Ä‚¢‚­•û‚Å‚â‚肽‚¢‚ÆŽv‚¢‚Ü‚·B

 iႾ‚é‚Üj

 Ž„‚Ì•û‚ÍAXVƒ}ƒNƒ‚Ì쬂Æu“Š“ü•\v쬃}ƒNƒ‚Ì•ÏX‚Ío—ˆ‚Ü‚µ‚½
 ‚µ‚©‚µAUp‚·‚鎖‚ÍŠÈ’P‚Å‚·‚ªH
 Ⴞ‚é‚Ü‚³‚ñ‚Ì•û‚àA¡‰ñ‚ÌXVƒ}ƒNƒ‚Ì쬂Æu“Š“ü•\v쬃}ƒNƒ‚Ì•ÏX‚ÉA‚¢‚Äl‚¦Œ©‚ĉº‚³‚¢
 Š®‘S‚ȃR[ƒh‚Å–³‚­‚Ä‚àŒ‹\‚Å‚·‚Ì‚ÅAl‚¦•û‚®‚ç‚¢‚Í‘‚¯‚é‚Å‚µ‚傤‚©‚çiƒR[ƒh–³‚­‚Ä‚àŒ‹\‚Å‚·j
 ‘´‚ꂪo‚Ä—ˆ‚½‚çAŽ„‚Ì•û‚àUp‚µ‚Ü‚·
 ‘´‚Ì•û‚ªƒ}ƒNƒ‚ð—‰ðo—ˆ‚é‚ÆŽv‚¢‚Ü‚·‚Ì‚Å

 (Bun)


 Bun—l
 —¹‰ð‚¢‚½‚µ‚Ü‚µ‚½B
 Šæ’£‚Á‚ăR[ƒh‘‚¢‚Ä‚Ý‚Ü‚·B

 ‚·‚Ý‚Ü‚¹‚ñA¡ƒeƒXƒg‚µ‚Ä‚¢‚Ä‹C‚ª‚‚¢‚½‚Ì‚Å‚·‚ªA—Ⴆ‚Îuƒpƒ“ƒtAv‚Æ‚¢‚¤¤•i‚ÅŽg—pŠúŒÀ‚ª“ü‚Á‚Ä‚¢‚é‚à‚Ì‚Æ
 “ü‚Á‚Ä‚¢‚È‚¢‚à‚Ì‚ª¬Ý‚·‚éê‡A—Dæ“I‚ÉŽg—pŠúŒÀ‚ª“ü‚Á‚Ä‚¢‚é‚à‚Ì‚ª“Š“ü•\‚ÉŽg‚í‚ê‚Ü‚·B

 “ü‰×“ú@@Žg—pŠúŒÀ
  11/1@@@@**@@
  11/2@@@@**
  11/15@@@12/2/20@@©‚±‚ꂪ—Dæ“I‚ÉŽg‚í‚ê‚é
  11/20@@@12/3/15

 “ü‰×“ú‚ÆŽg—pŠúŒÀ‚Æ—¼•û‚ðŒ©‚é‚͓̂‚¢‚Å‚µ‚傤‚©c

 iႾ‚é‚Üj

 •Ï‚Å‚·‚ËH
 ƒR[ƒh“I‚É‚ÍAÝŒÉID¸‡‚ÌŽg—pŠúŒÀi”NAŒŽA“új¸‡‚Ì“ü‰×“ú¸‡‚ÅList‚ð®—ñ‚µ‚Ä‚¢‚Ü‚·‚Ì‚Å
 Žg—pŠúŒÀ‚Ì”NAŒŽA“ú‚ª”’l‚Æ‚µ‚Ä“ü‚Á‚Ä‚¢‚ê‚Î

 “ü‰×“ú@@Žg—pŠúŒÀ
  11/15@@@12/2/20@@©‚±‚ꂪ—Dæ“I‚ÉŽg‚í‚ê‚é
  11/20@@@12/3/15
  11/1@@@@**@@
  11/2@@@@**

 ‚±‚¤Œ¾‚¤®—ñó‘ԂƬ‚è‚Ü‚·‚Ì‚ÅŽg—pŠúŒÀ‚ÌÝ‚é‚à‚ªŽg‚í‚ê‚锤‚Å‚·‚©H
 Ž„‚Ì•û‚̃eƒXƒgƒf[ƒ^‚Å‚àã‹L‚Ìó‘Ԃɬ‚è‚Ü‚·

 ‚µ‚©‚µAŽg—pŠúŒÀ‚Ì”NAŒŽA“ú‚ª•¶Žš—ñ‚Æ‚µ‚Ä“ü‚Á‚Ä‚¢‚éꇂÍ

 “ü‰×“ú@@Žg—pŠúŒÀ
  11/1@@@@**@@@@©‚±‚ꂪ—Dæ“I‚ÉŽg‚í‚ê‚é
  11/2@@@@**
  11/15@@@12/2/20
  11/20@@@12/3/15

 Ⴞ‚é‚Ü‚³‚ñ‚ÌŒ¾‚í‚ê‚é®—ñó‘ԂƬ‚éˆ×AŽg—pŠúŒÀ‚Ì–³‚¢•¨‚ªæ‚ÉŽg‚í‚ê‚鎖‚Ƭ‚è‚Ü‚·
 Žg—pŠúŒÀ‚Ì”NAŒŽA“ú‚ª•¶Žš—ñ‚©‚ðŠm”F‚µ‚ÄŒ©‚ĉº‚³‚¢

 ‚à‚µA‚Æ‚µ‚Ä“ü‚Á‚Ä‚¢‚é‚Ì‚È‚çˆÈ‰º‚ð•ÏX‚µ‚ÄŒ©‚ĉº‚³‚¢
 Ÿ‚ê‚É‚·‚é‚ÆAu®—ñŽž‚É”’l‚ÆŒ©‚È‚¹‚镨‚Í‘S‚Ä”’l‚Æ‚µ‚Ä®—ñ‚·‚é‚Ƭ‚è‚Ü‚·v‚Ì‚Å
 Ž„‚ÌŒ¾‚¤¸‡‚ɬ‚é‚ÆŽv‚¢‚Ü‚·

 •ÏX‰ÓŠ‚ÍAuPrivate Sub DataSortv’†‚Ì

     With rngTop.Parent
        .Sort.SortFields.Clear
        For i = 0 To UBound(vntKeys, 1)
 '           .Sort.SortFields.Add Key:=rngTop.Offset(, vntKeys(i)) _
 '                   , SortOn:=xlSortOnValues, Order:=vntOrders(i) _
 '                   , DataOption:=xlSortNormal
            .Sort.SortFields.Add Key:=rngTop.Offset(, vntKeys(i)) _
                    , SortOn:=xlSortOnValues, Order:=vntOrders(i) _
                    , DataOption:=xlSortTextAsNumbers 'š•ÏX
        Next i

 ‚Ƭ‚èADataOptionƒvƒƒpƒeƒB‚ðxlSortNormal‚©‚çxlSortTextAsNumbers‚É•ÏX‚µ‚Ü‚·

 (Bun)


 ‚ñIAႾ‚é‚Ü‚³‚ñ‚ÌŒ¾‚Á‚Ä‚¢‚éˆÓ–¡‚ðŽæ‚èˆá‚¦‚Ä‚¢‚é‚Ì‚©‚ÈH

 Ž„‚Æ‚µ‚Ä‚ÍAŽg—pŠúŒÀ‚Ì—L‚镨‚Ì•û‚ªŽg—pŠúŒÀ‚Ì–³‚¢•¨‚æ‚èæ‚ÉÁ”ï‚·‚é‚Ì‚ª‡“–‚Æl‚¦‚Ü‚·‚ªH
 ”½‘΂Ȃ̂ł·‚©H

 (Bun)


 ‚·‚Ý‚Ü‚¹‚ñAŽg—pŠúŒÀ‚Ìà–¾‚ª•s‘«‚µ‚Ä‚¢‚Ü‚µ‚½B
 Œ»ÝŽg—pŠúŒÀ‚Í3—ñ‚ɂ킽‚Á‚Ä‚¢‚Ü‚·‚ª‘S‚Ä”’l‚Å“ü—Í‚³‚ê‚Ä‚¢‚Ü‚·B
 i“ü‰×Žó•t”Ô†‚Í•¶Žš—ñj

 ‚±‚̃}ƒXƒ^[‚Í‘½”‚Ìl‚ª“ü—Í‚µ‚Ä‚¢‚邽‚ßA“¯‚¶¤•i‚Å‚àŽg—pŠúŒÀ‚ª•¡”‚ ‚é‚à‚Ì‚ª“¯Žž‚É“ü‚Á‚Ä‚«‚½ê‡A¡‚Ü‚Å

 EŽg—pŠúŒÀ‚ð‚±‚Ü‚ß‚É•ª‚¯‚Äi“¯‚¶¤•i‚ð•¡”s‚ɂ킽‚Á‚Äj“ü—Í‚·‚él
 EŽg—pŠúŒÀ‚ð‚Ü‚Æ‚ß‚Äi¤•i‚ð1s‚É‚Ü‚Æ‚ß‚Äju**/**/**v‚̂悤‚É“ü—Í‚·‚él

 ‚Æ‚¢‚¤‚悤‚ÉA“ü—Í‹K‘¥‚ª“ˆê‚³‚ê‚Ä‚¢‚È‚©‚Á‚½‚ñ‚Å‚·B
 ¡Œã‚ÍŽg—pŠúŒÀ‚ð‚±‚Ü‚ß‚É“ü‚ê‚é•ûŒü‚Å“ˆê‚µ‚悤‚Æ‚È‚Á‚Ä‚¢‚é‚Ì‚Å‚·‚ªA‚±‚ê‚܂ł̃}ƒXƒ^[‚ªã‹L‚̂悤‚É‚È‚Á‚Ä‚¢‚Ü‚·‚Ì‚ÅAo‰×‚ÌðŒ‚Å‚Í

 u“ü‰×“ú‚à‚µ‚­‚ÍŽg—pŠúŒÀ‚Ì‚Ç‚¿‚ç‚©‚ª‘‚¢•û‚©‚燂Év

 ‚Æ‚¢‚¤Š´‚¶‚É‚È‚è‚Ü‚·B

 ‚È‚Ì‚Å

 “ü‰×“ú@@Žg—pŠúŒÀ@Žg‚í‚ê‚釔Ô
  11/1@@@@**@@@@‡@©‚±‚ꂪ—Dæ“I‚ÉŽg‚í‚ê‚é
  11/2@@@@**@@@@‡A
  11/15@@@12/2/20@@‡C
  11/20@@@12/3/15@@‡D
  11/21@@@12/1/31@@‡B

 ‚±‚̂悤‚É‚µ‚½‚¢‚Ì‚Å‚·B

 Œ¾—t‚ª‘«‚肸‚ÉŒë‰ð‚𵂫‚Ü‚µ‚Ä\‚µ–󂲂´‚¢‚Ü‚¹‚ñc

 iႾ‚é‚Üj

 ’©‚©‚炸‚Á‚Æl‚¦‚Ä‚Ü‚¸‚Í“Š“ü•\‚ÌOEP—ñ‚Éì‹Æ—ñ‚ð‘‚«‚¾‚·Žd‘g‚Ý‚ðl‚¦‚Ä‚¢‚½‚Ì‚Å‚·‚ªA

 Sub Sample_3 ‚ɉº‹L‚ð’ljÁ

    Dim cnt As Long@@@@@©’ljÁ
    Dim sagyoGrp As Variant@©’ljÁ

    “Š“ü•\‚Éì‹Æ—ñiOEP—ñj‚ðì¬isŒ©o‚µ‚̃Zƒ‹ˆÊ’uj@©’ljÁ
    Set sagyoGrp = ActiveSheet.Range("O1")@@@@@@@@©’ljÁ

            'ÝŒÉID‚ª“™‚µ‚¢‚È‚ç
            If vntStockID(1, i) = vntData(j, 2) Then
                'oŒÉꊂ̃`ƒFƒbƒN‚ªTrue‚È‚ç
                If PlaceCheck(vntPlace, j, vntData) Then
                    'o—Ís‚ðXV
                    k = k + 1
                    'o—Í—p”z—ñ‚ðŠg’£
                    ReDim Preserve vntResult(1 To k * 2)
                        “ü‰×ID‚ð“]‹L@@@@@@@@@@@©’ljÁ
                        sagyoGrp(cnt,1) = vntData(j, 0)@ ©’ljÁ
                        Žg—p”—Ê‚ð“]‹L@@@@@@@@@@©’ljÁ
                        sagyoGrp(cnt,2) = vntData(j, 3)@ ©’ljÁ
                    '“ü‰×Žó•t”Ô†‚ð“]‹L
                    vntResult(k * 2 - 1) = "'" & vntData(j, 1)
                    'Žg—pŠúŒÀ‚ð“]‹L
                    vntResult(k * 2) = GetDate(vntData(j, 4), vntData(j, 5), vntData(j, 6))
                    '•K—v”‚©‚ç݌ɔ‚ðŒ¸ŽZ
                    lngCount = lngCount - vntData(j, 3)
                End If
            End If

 ‚Æ‚è‚ ‚¦‚¸‚±‚̂悤‚ÈŠ´‚¶‚©‚ÆŽv‚¢‚Ü‚µ‚½‚ª“–‘R‚Ì”@‚­ƒGƒ‰[iƒCƒ“ƒfƒbƒNƒX‚ª—LŒø”͈͂ɂ ‚è‚Ü‚¹‚ñj‚ªo‚Ü‚·B

 •Ï”cnt‚ÌŽg‚¢•û‚ª‚¨‚©‚µ‚¢‚悤‚È‹C‚ª‚·‚é‚Ì‚Å‚·‚ª•Ï”‚ð‚ǂ̂悤‚ɃJƒEƒ“ƒg‚·‚ê‚΂悢‚Ì‚©‚ª•ª‚©‚炸c

 O—ñ=vntData(j, 0) i“ü‰×IDj
 P—ñ=vntData(j, 3) iŽg—p”—Êj

 ‚Æ‚¢‚¤l‚¦•û‚à‚¨‚©‚µ‚¢‚Å‚µ‚傤‚©c

 iႾ‚é‚Üj

 1A“]‹L‚·‚éƒR[ƒh‘‚­ˆÊ’u‚ÍŠT‚Ë‘P‚¢‚ÆŽv‚¢‚Ü‚·
 @ˆê‰žA‰½ˆ‚ʼn½‚ðs‚Á‚Ä‚¢‚é‚©—‰ð‚µ‚Ä‚¢‚é—l‚ÅŠæ’£‚Á‚Ä‚Ü‚·‚Ë
 2A•Ï”cnt‚ÌŽg‚¢•û‚ÉA‚¢‚ÄA”z—ñ“à‚ÌsˆÊ’u‚ð•\‚µ‚Ä‚¢‚é‚ÆŽv‚¢‚Ü‚·‚ª
 @•Ï”sagyoGrp‚ª”z—ñ‚Æ‚µ‚ÄŠm•Û‚³‚ê‚Ä‚¢‚È‚¢‚̂ŃGƒ‰[‚ɬ‚é‚ÆŽv‚¢‚Ü‚·
 @“K“–‚Ȉʒu‚ÅuReDim Preserve sagyoGrp(1 To 2, 1 To cnt)v“™‚Æ”z—ñ‚ÌŠm•Û‚ðs‚¢‚Ü‚·
 @®ã‹L‚ÌuPreservev‚Í”z—ñ‚Ì’†g‚ðŽc‚µ‚Ä”z—ñ‚Ì—v‘f‚ðŠg’£‚·‚鎖‚ð•\‚µ‚Ä‚¢‚Ü‚·
 @‚Ü‚½AŠg’£‚ÍÅŒã‚ÌŽŸŒ³(cnt)‚̈ʒu‚µ‚©‘ウ‚ç‚ê‚Ü‚¹‚ñ
 @‚Å‚·‚©‚çA¡‰ñ‚Ìê‡Ao—Í‚·‚éu“ü‰×IDv‚Ì”‚ªŒˆ’肳‚ê‚Ä‚¢‚Ü‚¹‚ñ‚Ì‚ÅA”z—ñ‚ðŠg’£‚µ‚È‚ª‚ç
 @”z—ñ‚Ì1s–Ú‚Éu“ü‰×IDv‚ð“]‹LA2s–Ú‚ÉuŽg—p”v‚ð“]‹L‚µÅŒão—Í‚·‚鎞‚És—ñ‚ð“ü‚ê‘Ö‚¦‚Äo—Í‚µ‚Ü‚·
 3AuO—ñ=vntData(j, 0) i“ü‰×IDjv‚ÉA‚¢‚Ä‚ÍAŠm”F‚̈×uì‹Æ—pv‚Éu“ü‰×IDv‚ð’Šo‚µ‚Ä‚¢‚Ü‚·‚ª
 @ƒf[ƒ^‚ðŽ‚Á‚Ä—ˆ‚é”z—ñ‚É‚Í‘g“ü‚ê‚Ä‚Í‚¢‚Ü‚¹‚ñ‚Ì‚ÅvntData(j, 0)‚ÍÝ‚è‚Ü‚¹‚ñAˆö‚Á‚ăGƒ‰[‚Ƭ‚è‚Ü‚·
 @¡‰ñ‚ÌC³‚Å‚ÍAˆø”‚ð’ljÁ‚µ‚Ä•Ê‚Ì”z—ñ‚Æ‚µ‚Ď擾‚µ‚Ä‚¢‚Ü‚·

 ¡‰ñ‚̒ljÁ•ÏX‚Å‚±‚Ì•Ï”–¼‚ðŽg‚Á‚Ä‚¢‚Ü‚·‚Ì‚ÅŠm”F‚µ‚ĉº‚³‚¢
 ‚Ü‚½AŽg—p‡‚ÌŒ‚Å‚·‚ªA®—ñ‚·‚é‘O‚É•¶Žš—ñ‚É•ÏŠ·‚µ‚Ä®—ñ‚ðs‚¤—l‚É‚µ‰ðŒˆo—ˆ‚é‚ÆŽv‚¢‚Ü‚·

 u“Š“ü•\v쬃}ƒNƒ‚Ì•ÏX‚ÉA‚¢‚Ä‘S•¶‚ðÚ‚¹‚é–ó‚É‚Ís‚©‚È‚¢‚Ì‚ÅV‹K‚̃}ƒNƒˆÈŠO‚Í
 •ÏX’ljÁ•”‚Ì‚ÝÚ‚¹‚Ü‚·(šˆó)
 ‘OŒãŠÖŒW‚ð‘P‚­Œ©‚ĒljÁ•ÏX‚µ‚ĉº‚³‚¢iŽg—p‡‚ÌŒ‚à‘g‚Ý“ü‚ê‚ÄÝ‚è‚Ü‚·j

 ¡‚Ü‚Å‚ÌuPublic Sub Sample_3()v‚ðSubƒ‹[ƒeƒBƒ“ƒvƒƒV[ƒWƒƒ‚©‚çˆø”‚ðŽ‚Á‚½FunctionƒvƒƒV[ƒWƒƒ‚É•ÏX‚µ‚Ü‚·

 uPublic Sub Sample_3()v‚ðuPrivate Function DrawUp(wksShip As Worksheet) As Booleanv‚É•ÏX
 uEnd Subv‚ðuEnd Functionv‚É•ÏXiŽ©“®“I‚És‚í‚ê‚é‚©‚àHj
 •ÏX‚µ‚½uPrivate Function DrawUp(wksShip As Worksheet) As Booleanv‚Ì’†g‚̒ljÁ•ÏX•”išˆój

    Dim vntStockID As Variant
    Dim vntResult As Variant
    Dim lngMax As Long
    Dim rngSearch As Range                                                  'š’ljÁ
    Dim vntSearch As Variant                                                'š’ljÁ
    Dim strForm As String                                                   'š’ljÁ
    Dim blnLack As Boolean                                                  'š’ljÁ
    Dim cnt As Long                                                         'š’ljÁ
    Dim sagyoGrp() As Variant                                               'š’ljÁ
    Dim strProm As String

    'ì‹Æ—pƒV[ƒg‚Ì’Šo”͈͂Ì擪ƒZƒ‹ˆÊ’u(ƒ}ƒXƒ^‚©‚ç•K—vƒf[ƒ^‚ð’Šo)
    Set rngWork = Worksheets("ì‹Æ—p").Range("A1")

    'šu“Š“ü•\v‚É‘‚«ž‚Þu“ü‰×ƒ}ƒXƒ^v‚Ì’TõKey‚ÌŠî€æ“ªƒZƒ‹ˆÊ’u
    Set rngSearch = rngResult.Parent.Range("O1")                             'š’ljÁ

    '‰æ–ÊXV‚ð’âŽ~
    Application.ScreenUpdating = False

    With rngSearch                                                           'š’ljÁ
        'u“ü‰×ƒ}ƒXƒ^vXVƒf[ƒ^‚Ìs”‚̎擾
        lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row            'š’ljÁ
        'XVƒf[ƒ^‚ÌÁ‹Ž
        If lngRows > 0 Then 'š’ljÁ
            If MsgBox("‘O‰ñ‚ÌXV‚ªs‚í‚ê‚Ä‚¢‚Ü‚¹‚ñA‚±‚Ì‚Ü‚ÜŽÀs‚µ‚Ü‚·‚©H", _
                    vbInformation + vbYesNo + vbDefaultButton2) = vbYes Then 'š’ljÁ
                .Offset(1).Resize(lngRows, 2).ClearContents                  'š’ljÁ
            Else                                                             'š’ljÁ
                '¦ƒf[ƒ^XV‚ªs‚í‚ê‚Ä‚¢‚È‚¢ê‡A–ß‚è’l‚ðTrue‚É
                DrawUp = True                                                'š’ljÁ
                strProm = "ƒ}ƒXƒ^‚̃f[ƒ^XV‚ðs‚Á‚ĉº‚³‚¢"                 'š’ljÁ
                GoTo Wayout                                                  'š’ljÁ
            End If                                                           'š’ljÁ
        End If                                                               'š’ljÁ
    End With                                                                 'š’ljÁ

    '“Š“ü•\‚ÉA‚¢‚Ä
    With rngResult

    '“ü‰×ƒ}ƒXƒ^[‚©‚ç•K—vƒf[ƒ^‚ðŽæ“¾
 '   If Not GetData(vntData, rngList, rngWork, vntStockID) Then
    If Not GetData(vntData, rngList, rngWork, vntStockID, vntSearch) Then 'š•ÏX
        strProm = "ƒf[ƒ^‚̎擾‚ªo—ˆ‚Ü‚¹‚ñAÝŒÉIDAoŒÉꊓ™‚ðŠm”F‚µ‚ĉº‚³‚¢"
        GoTo Wayout
    End If
    'ƒZƒ‹‘Ž®‚ðŽæ“¾
    strForm = rngWork.Offset(1).NumberFormat                                 'š’ljÁ

                    '“ü‰×Žó•t”Ô†‚ð“]‹L
                    vntResult(k * 2 - 1) = "'" & vntData(j, 1)
                    'Žg—pŠúŒÀ‚ð“]‹L
                    vntResult(k * 2) = GetDate(vntData(j, 4), vntData(j, 5), vntData(j, 6))
                    'šXV—pƒf[ƒ^‚Ì“]‹LˆÊ’u‚ðXV
                    cnt = cnt + 1                                                   'š’ljÁ
                    'šXV—pƒf[ƒ^‚ðŠi”[‚·‚é”z—ñ‚ðŠg’£
                    ReDim Preserve sagyoGrp(1 To 2, 1 To cnt)
                    'šXV—pƒf[ƒ^”z—ñ‚Éu“ü‰×IDv‚ð“]‹L
                    sagyoGrp(1, cnt) = vntSearch(j, 1)
                    If lngCount - vntData(j, 3) >= 0 Then                           'š’ljÁ
                        'š•K—v”‚æ‚è݌ɂª­‚È‚¢‚©“¯‚¶ê‡
                        sagyoGrp(2, cnt) = vntData(j, 3)                            'š’ljÁ
                    Else                                                            'š’ljÁ
                        'š•K—v”‚æ‚è݌ɂª‘½‚¢ê‡
                        sagyoGrp(2, cnt) = lngCount
                    End If                                                          'š’ljÁ
                    '•K—v”‚©‚ç݌ɔ‚ðŒ¸ŽZ
                    lngCount = lngCount - vntData(j, 3)
                End If

        'Œ‹‰Ê‚ðo—Í
        rngResult.Offset(1, i).Resize(UBound(vntResult)).Value _
                = WorksheetFunction.Transpose(vntResult)
        '•s‘«‚Ìꇂ̈—
        If InStr(1, vntResult(k * 2 - 1), "–‡•s‘«") Then
            rngResult.Offset(k * 2 - 1, i).Font.Color = vbRed
            blnLack = True                                                          'š’ljÁ
        End If
        'o—Í‚ÌÅ‘ås”‚ð•Û‘¶
        If lngMax < k Then

    '“ü‰×“úAŽg—pŠúŒÀ‚ð‘‚«ž‚Þ
    ReDim vntResult(1 To 2, 1 To 1)
    vntResult(1, 1) = "“ü‰×“ú"
    vntResult(2, 1) = "Žg—pŠúŒÀ"
    For i = 0 To lngMax - 1
        rngResult.Offset(i * 2 + 1).Resize(2).Value = vntResult
    Next i

    With rngSearch.Offset(1)                                                        'š’ljÁ
        'š1—ñ–ڂ̃Zƒ‹‘Ž®‚ð’Šo‚³‚ꂽ—ñ“¯‚¶‚ÉÝ’è
        .Resize(cnt).NumberFormat = strForm                                         'š’ljÁ
        'šO`P—ño—Í(”z—ñ‚Ìs—ñ‚ð“ü‚ê‘Ö‚¦‚Ä)
        .Resize(cnt, 2).Value = WorksheetFunction.Transpose(sagyoGrp)               'š’ljÁ
    End With                                                                        'š’ljÁ

    '݌ɕs‘«‚ª¶‚¶‚Ä‚¢‚é‚È‚ç
    If blnLack Then                                                                 'š’ljÁ
    strProm = "݌ɕs‘«‚ªo‚Ä‚¢‚Ü‚·‚Ì‚ÅXVƒf[ƒ^Á‹Ž‚³‚ê‚Ü‚µ‚½"                    'š’ljÁ
        rngSearch.Offset(1).Resize(cnt, 2).ClearContents                            'š’ljÁ
    Else                                                                            'š’ljÁ
        strProm = "ˆ—‚ªŠ®—¹‚µ‚Ü‚µ‚½"
        '¦ƒf[ƒ^XV‚ªs‚í‚ê‚Ä‚¢‚È‚¢ê‡A–ß‚è’l‚ðTrue‚É
        DrawUp = True                                                               'š’ljÁ
    End If                                                                          'š’ljÁ

 Wayout:

    Set rngResult = Nothing
    Set rngWork = Nothing
    Set rngSearch = Nothing                                                           'š’ljÁ

 ˆÈã

 ŽŸ‚ÉAˆÈ‰º‚̃vƒƒV[ƒWƒƒ‚Ɉø”’ljÁ

 Private Function GetData(vntData As Variant, rngList As Range, _
                        rngWork As Range, vntStockID As Variant) As Boolean

 ‚ð

 Private Function GetData(vntData As Variant, rngList As Range, _
                        rngWork As Range, vntStockID As Variant, vntSearch As Variant) As Boolean  'š•ÏX

 ‚ÆuvntSearch As Variantv‚ÆŒ¾‚¤ˆø”‚ð’ljÁ‚µ‚Ü‚·
 ‚±‚̈ø”‚ªuì‹Æ—pv‚©‚çu“ü‰×IDv‚ðŽæ“¾‚µ‚Ä—ˆ‚Ü‚·

 ‚»‚Ì’†‚Ìšˆó‚ð•ÏX’ljÁ

    'ì‹Æ—pƒV[ƒg‚ÉA‚¢‚Ä
    With rngWork
        's”‚̎擾
        lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row
        If lngRows <= 0 Then
            GoTo Wayout
        End If
        'šŽg—pŠúŒÀi”NAŒŽA“új‚𕶎š—ñ‚É•ÏX
        vntDate = .Offset(1, 4).Resize(lngRows, 3).Value                        'š’ljÁ
        For i = 1 To lngRows                                                    'š’ljÁ
            For j = 1 To 3                                                      'š’ljÁ
                If IsNumeric(vntDate(i, j)) Then                                'š’ljÁ
                    vntDate(i, j) = Right("00" & vntDate(i, j), 2)              'š’ljÁ
                End If                                                          'š’ljÁ
            Next j                                                              'š’ljÁ
        Next i                                                                  'š’ljÁ
        'šƒZƒ‹‘Ž®‚𕶎š—ñ‚É•ÏX
        .Offset(1, 4).Resize(lngRows, 3).NumberFormat = "@"                     'š’ljÁ
        'š•¶Žš—ñ‚É‚µ‚½Žg—pŠúŒÀi”NAŒŽA“új‚ðƒV[ƒgo—Í
        .Offset(1, 4).Resize(lngRows, 3).Value = vntDate                        'š’ljÁ
        'ÝŒÉID‡‚ÌŽg—pŠúŒÀi”NAŒŽA“új‡‚Ì“ü‰×“ú‡‚ÅList‚ð®—ñ
        'A—ñ‚©‚ç®—ñ‚·‚é—ñ‚Ì—ñOffset‚ðŽw’è,‘S‚ĸ‡‚Å
        DataSort .Offset(1).Resize(lngRows, 11), Array(2, 4, 5, 6, 1), _
                    Array(xlAscending, xlAscending, xlAscending, _
                    xlAscending, xlAscending)
        '‘S—ñƒf[ƒ^‚ð”z—ñ‚Ɏ擾
        vntData = .Offset(1, 1).Resize(lngRows + 1, 10).Value
        'š”z—ñ‚Éu“ü‰×IDv‚ðŽæ“¾
        vntSearch = .Offset(1).Resize(lngRows + 1).Value                        'š’ljÁ
    End With

 ˆÈã

 ˆÈ‰ºAV‹Kƒ}ƒNƒ
 ŽŸ‚ÉuPrivate Function DrawUp(wksShip As Worksheet) As Booleanv‚ðŒÄ‚Ño‚·ƒvƒƒV[ƒWƒƒ‚ð’ljÁ
 “¯‚¶•W€ƒ‚ƒWƒ…[ƒ‹‚É‹Lq

 Public Sub Main()

 '  u“Š“ü•\v쬃}ƒNƒ

    Dim wksObject As Worksheet

    'ì•\‚·‚éu“Š“ü•\vƒV[ƒg‚ðÝ’è
    Set wksObject = ActiveSheet

    'u“Š“ü•\v‚ð쬂µ‚ă}ƒXƒ^XV‚ªs‚í‚ê‚Ä‚¢‚È‚¢ê‡
    If DrawUp(wksObject) Then
        'XVƒ}ƒNƒ‚ðŒÄ‚Ño‚·
        DataUpDate wksObject
    End If

    Set wksObject = Nothing

 End Sub

 ˆÈã
 ŽŸ‚ÉAƒ}ƒXƒ^XVƒ}ƒNƒ‚ðì¬
 “¯‚¶•W€ƒ‚ƒWƒ…[ƒ‹‚É‹Lq

 Public Sub MasterUpDate()

 '  ƒ}ƒXƒ^XVƒ}ƒNƒ

    DataUpDate ActiveSheet

 End Sub

 Private Sub DataUpDate(wksShip As Worksheet)

    'u“ü‰×ƒ}ƒXƒ^v‚Ì’TõKey‚Ƭ‚é—ñiŠî€ƒZƒ‹‚©‚ç‚Ì—ñOffset:A—ñj
    Const clngKey As Long = 0
    'u“ü‰×ƒ}ƒXƒ^v‚ÌXV‚·‚é—ñiŠî€ƒZƒ‹‚©‚ç‚Ì—ñOffset:Q—ñj
    Const clngItem As Long = 16

    Dim i As Long
    Dim lngFound As Long
    Dim lngRows As Long
    Dim rngList As Range
    Dim rngResult As Range
    Dim vntData As Variant
    Dim vntValue As Variant
    Dim strProm As String

    'List‚Ì擪ƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éi擪—ñ‚Ì—ñŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
    Set rngList = wksShip.Range("O1")

    'Œ‹‰Êo—Í‚Ì擪ƒZƒ‹ˆÊ’u‚ðŠî€‚Æ‚·‚éi擪—ñ‚Ì—ñŒ©o‚µ‚̃Zƒ‹ˆÊ’uj
    Set rngResult = Worksheets("“ü‰×ƒ}ƒXƒ^[").Range("A3")

    With rngList
        's”‚̎擾
        lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row
        If lngRows <= 0 Then
            strProm = .Parent.Name & " ‚ÍXVÏ‚Ý‚Å‚·"
            GoTo Wayout
        End If
        'O`P—ñƒf[ƒ^‚ð”z—ñ‚Ɏ擾
        vntData = .Offset(1).Resize(lngRows, 2).Value
    End With

    '“ü‰×ƒ}ƒXƒ^‚ÌXVŠm”F
    If MsgBox("“ü‰×ƒ}ƒXƒ^‚ÌXV‚ðs‚¢‚Ü‚·AXV‚ðs‚¤‚ÆŒ³‚É‚Í–ß‚¹‚Ü‚¹‚ñ", _
            vbInformation + vbOKCancel + vbDefaultButton2) = vbCancel Then
        strProm = "ƒ}ƒXƒ^XV‚ðs‚킸‚ÉI—¹‚µ‚Ü‚µ‚½"
        GoTo Wayout
    End If

    '‰æ–ÊXV‚ð’âŽ~
    Application.ScreenUpdating = False

    With rngResult
        's”‚̎擾
        lngRows = .Offset(Rows.Count - .Row, clngKey).End(xlUp).Row - .Row
        If lngRows <= 0 Then
            strProm = .Parent.Name & "@‚Ƀf[ƒ^s‚ª—L‚è‚Ü‚¹‚ñ"
            GoTo Wayout
        End If
        '”O‚̈×Au“ü‰×ƒ}ƒXƒ^v‚ðA—ñ‚ðKey‚Æ‚µ‚ĸ‡®—ñ
        DataSort Intersect(.CurrentRegion, .CurrentRegion.Offset(1)), Array(0), Array(xlAscending)
    End With

    'O—ñ‚ÉA‚¢‚ÄÅIs‚Ü‚ÅŒJ‚è•Ô‚µ
    For i = 1 To UBound(vntData, 1)
        '¦u“ü‰×ƒ}ƒXƒ^v‚ÌA—ñ‚Éu“Š“ü•\v‚ÌO—ñ‚ª—L‚é‚©’Tõ(A—ñ‚ª•¶Žš—ñ‚Ìê‡j
        lngFound = RowSearch(vntData(i, 1), rngResult.Offset(1, clngKey).Resize(lngRows))
        '¦u“ü‰×ƒ}ƒXƒ^v‚ÌA—ñ‚Éu“Š“ü•\v‚ÌO—ñ‚ª—L‚é‚©’Tõ(A—ñ‚ª”’l‚Ìê‡j
 '       lngFound = RowSearch(CLng(vntData(i, 1)), rngResult.Offset(1, clngKey).Resize(lngRows))
        '’Tõ‚ªŽ¸”s‚µ‚½ê‡AlngFound‚É0‚ª‹A‚é
        If lngFound > 0 Then
            'ƒf[ƒ^‚ðXV
            vntValue = rngResult.Offset(lngFound, clngItem).Value
            rngResult.Offset(lngFound, clngItem).Value = vntValue - vntData(i, 2)
        End If
    Next i

    'XVƒf[ƒ^‚ðÁ‹Ž
    With rngList
        .Offset(1).Resize(UBound(vntData, 1), 2).ClearContents
    End With

    With rngResult
        .Parent.Parent.Activate
        .Parent.Activate
        .Activate
    End With

    strProm = "ƒ}ƒXƒ^XVˆ—‚ªŠ®—¹‚µ‚Ü‚µ‚½"

 Wayout:

    '‰æ–ÊXV‚ðÄŠJ
    Application.ScreenUpdating = True

    Set rngList = Nothing
    Set rngResult = Nothing

    MsgBox strProm, vbInformation

 End Sub

 Private Function RowSearch(vntKey As Variant, _
                        rngScope As Range, _
                        Optional lngOver As Long) As Long

    Dim vntFind As Variant

    'Match‚É‚æ‚é“ñ•ª’Tõ
    vntFind = Application.Match(vntKey, rngScope, 1)
    '‚à‚µAƒGƒ‰[‚Å–³‚¢‚È‚ç
    If Not IsError(vntFind) Then
        '‚à‚µAKey’l‚Æ’TõˆÊ’u‚Ì’l‚ª“™‚µ‚¢‚È‚ç
        If vntKey = rngScope(vntFind).Value Then
            '–ß‚è’l‚Æ‚µ‚ÄAsˆÊ’u‚ð‘ã“ü
            RowSearch = vntFind
        End If
        'Key’l‚ð’´‚¦‚éŬ’l‚Ì‚ ‚és
        lngOver = vntFind + 1
    Else
        lngOver = 1
    End If

 End Function

 ˆÈã

 ‘´X‚ÌŽÀs‚ÍAuSub Mainv‚ÆuSub MasterUpDatev‚Ås‚¢‚Ü‚·
 ®Au“ü‰×ƒ}ƒXƒ^v‚ÌA—ñi“ü‰×IDj‚ª•¶Žš—ñ‚ÌꇂƔ’l‚ÌꇂÅuSub DataUpDatev‚Ì’†‚Ì

         '¦u“ü‰×ƒ}ƒXƒ^v‚ÌA—ñ‚Éu“Š“ü•\v‚ÌO—ñ‚ª—L‚é‚©’Tõ(A—ñ‚ª•¶Žš—ñ‚Ìê‡j
        lngFound = RowSearch(vntData(i, 1), rngResult.Offset(1, clngKey).Resize(lngRows))

        '¦u“ü‰×ƒ}ƒXƒ^v‚ÌA—ñ‚Éu“Š“ü•\v‚ÌO—ñ‚ª—L‚é‚©’Tõ(A—ñ‚ª”’l‚Ìê‡j
        lngFound = RowSearch(CLng(vntData(i, 1)), rngResult.Offset(1, clngKey).Resize(lngRows))

 ‚ªˆá‚¤‚Ì‚Å‹C‚ð•t‚¯‚ĉº‚³‚¢

 ®A‘S•”‚̒ljÁ•ÏX‚ªI‚í‚Á‚½‚çAVBE‚ÌuƒfƒoƒbƒOv¨uVBAProject‚̃Rƒ“ƒpƒCƒ‹v‚ðs‚¢
 ƒGƒ‰[‚ªo‚½‚çA‚à‚¤ˆê“xŠm”F‚µC³A
 Ä“xuVBAProject‚̃Rƒ“ƒpƒCƒ‹v‚ðs‚¢ƒGƒ‰[‚ªo‚È‚­‚È‚é‚Ü‚ÅŸ‚ê‚ðŒJ‚è•Ô‚µ‚ĉº‚³‚¢
 ŽŸ‚ÉAƒeƒXƒg‚ÉÛ‚µƒ}ƒXƒ^“™‚̃oƒbƒNƒAƒbƒv‚ð•K‚¸Žæ‚Á‚Ä‚©‚çƒeƒXƒg‚µ‚ĉº‚³‚¢

 (Bun)


 ‘‚«–Y‚ê‚Ü‚µ‚½
 uPrivate Sub DataSortv’†‚Ì‚Å
 uDataOption:=xlSortTextAsNumbers 'š•ÏXv‚Æ‚µ‚ĉº‚³‚¢‚ÆŒ¾‚¢‚Ü‚µ‚½‚ª
 uDataOption:=xlSortNormalv‚É–ß‚µ‚Ä’u‚¢‚ĉº‚³‚¢
 –ß‚³‚È‚¢‚ÆAŒ‹‰Ê‚͈ȑO‚Æ•Ï‚í‚ç‚È‚­¬‚è‚Ü‚·

 (Bun)


 ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

 ƒR[ƒh‚ð’ljÁ•ÏX‚µ‚ăRƒ“ƒpƒCƒ‹‚ðs‚Á‚Ä‚Ý‚Ü‚µ‚½‚ªA

  DrawUp = True  

 ‚Ì‚Æ‚±‚ë‘S‚Ä‚Åu”z—ñ‚É‚ÍŠ„‚è“–‚Ä‚ç‚ê‚Ü‚¹‚ñv‚Æ‚¢‚¤ƒGƒ‰[‚ªo‚Ü‚·B
 ŒŸõ‚µ‚Ä‚Ý‚½‚Æ‚±‚ëA—Ⴆ‚Î
 @@Dim test() As String
 ‚Æ‚·‚ׂ«‚Æ‚±‚ë‚ð
 @@Dim test(10) As String
 ‚̂悤‚É‚µ‚Ä‚¢‚éꇂÉo‚éA‚Æ‚¢‚¤‚±‚Æ‚ª‘‚¢‚Ä‚ ‚Á‚½‚Ì‚ÅA
 DrawUp(wksShip As Worksheet) As Boolean()
 ‚±‚ê‚ð
 Private Function DrawUp() As Boolean()
    Dim wksShip As Worksheet
 ‚±‚̂悤‚É•ªŠ„‚µ‚Ä‚Ý‚Ü‚µ‚½‚ª‚â‚Í‚èu”z—ñ‚É‚Í`v‚̃Gƒ‰[‚É‚È‚è‚Ü‚·B
 Boolean ‚Ì•”•ª‚ð•Ï‚¦‚Ä‚à“¯‚¶ƒGƒ‰[‚Å‚µ‚½B

 ‚Æ‚è‚ ‚¦‚¸
 DrawUp = True 
 ‚ð‘S‚ăRƒƒ“ƒgƒuƒƒbƒN‚É‚µ‚ÄÄ“xƒRƒ“ƒpƒCƒ‹‚Å
 Private Function GetData(vntData As Variant, rngList As Range, _
                        rngWork As Range, vntStockID As Variant, vntSearch As Variant) As Boolean 

 ‚ÅuvntDatev‚ª’è‹`‚³‚ê‚Ä‚¢‚È‚¢‚̃Gƒ‰[‚ªo‚½‚Ì‚Å
    Dim vntDate As Variant
 ‚ð’ljÁ‚µ‚Ü‚µ‚½B

 ‚·‚é‚Æ¡“x‚Í
 Public Sub Main()
 @@If DrawUp(wksObject) Then
 ‚±‚ê‚ÌuDrawUpv‚ÅuŒ^‚ªˆê’v‚µ‚Ü‚¹‚ñv‚̃Rƒ“ƒpƒCƒ‹ƒGƒ‰[‚ªo‚Ü‚·B
 ‚±‚±‚ð‚Æ‚è‚ ‚¦‚¸ Dim DrawUp As Variant@‚Æ‚µ‚Ä‚Ý‚Ü‚µ‚½B

 ‚»‚±‚ÅuVBAProject‚̃Rƒ“ƒpƒCƒ‹v‚ªƒOƒŒ[ƒAƒEƒg‚É‚È‚Á‚½‚Ì‚ÅŽÀs‚µ‚Ä‚Ý‚½‚Æ‚±‚ëiDrawUp = True ‚̓Rƒƒ“ƒgƒuƒƒbƒN‚Ì‚Ü‚Üj
 ‚â‚Í‚è@If DrawUp(wksObject) Then@‚ÅuŒ^‚ªˆê’v‚µ‚Ü‚¹‚ñv‚̃Gƒ‰[‚É‚È‚è‚Ü‚·B

 ‚±‚±‚ÌIFƒXƒe[ƒgƒƒ“ƒg‚Å‚Ç‚¤‚µ‚Ä‚àŽ~‚Ü‚é‚Ì‚Åæ‚Éi‚ß‚Ü‚¹‚ñc

 DrawUp ‚Ì2‚‚̃Gƒ‰[‚ɂ‚¢‚ăqƒ“ƒg‚Å‚¢‚¢‚Ì‚Å‚¨‹³‚¦‚­‚¾‚³‚¢c

 iႾ‚é‚Üj


1A
 >ƒR[ƒh‚ð’ljÁ•ÏX‚µ‚ăRƒ“ƒpƒCƒ‹‚ðs‚Á‚Ä‚Ý‚Ü‚µ‚½‚ªA
 >
 >
 > DrawUp = True  
 >
 >
 >‚Ì‚Æ‚±‚ë‘S‚Ä‚Åu”z—ñ‚É‚ÍŠ„‚è“–‚Ä‚ç‚ê‚Ü‚¹‚ñv‚Æ‚¢‚¤ƒGƒ‰[‚ªo‚Ü‚·B

 ‚±‚ÌuDrawUpv‚ĉ½‚©‰ð‚è‚Ü‚·‚©H

 uPublic Sub Sample_3()v‚ðuPrivate Function DrawUp(wksShip As Worksheet) As Booleanv‚É•ÏX

 ‚µ‚ÄÝ‚è‚Ü‚·
 ‚±‚±‚Å‚µ‚½‚¢Ž–‚ÍAuPublic Sub Sample_3()v‚ÆŒ¾‚¤ƒOƒ[ƒoƒ‹i‚ǂ̃‚ƒWƒ…[ƒ‹‚©‚ç‚àŽQƉ”\j‚Å
 ˆø”‚ðŽ‚½‚È‚¢SubƒvƒƒV[ƒWƒƒ‚ðuPrivate Function DrawUp(wksShip As Worksheet) As Booleanv‚ÆŒ¾‚¤
 ƒ‚ƒWƒ…[ƒ‹ƒŒƒxƒ‹iŸ‚ꂪ‘‚©‚ê‚Ä‚¢‚郂ƒWƒ…[ƒ‹‚©‚炾‚¯ŽQƉ”\j‚ňø”‚ðŽ‚Á‚½FunctionƒvƒƒV[ƒWƒƒ‚É
 ƒvƒƒV[ƒWƒƒ–¼‚ð•ÏX‚µ‚ĉº‚³‚¢‚ÆŒ¾‚¤Ž–‚Å‚·
 FunctionƒvƒƒV[ƒWƒƒ‚Í–ß‚è’l‚ÆŒ¾‚¤•¨‚ðŒÄ‚Ño‚µŒ³‚É•Ô‚µ‚Ü‚·A—Ⴆ‚΃[ƒNƒV[ƒgŠÖ”‚ÌSUMŠÖ”‚Æ“¯‚¶‚Å‚·
 ‚±‚Ìê‡A=SUM(B1:D1)‚Æ‘‚©‚ê‚Ü‚·‚ªŠ‡ŒÊ‚Ì’†‚ÌB1:D1‚ªˆø”‚Å‚±‚Ì”Ž®‚ª‘‚©‚ê‚Ä‚¢‚éƒZƒ‹‚É‹A‚Á‚Ä‚­‚é
 B1+C+D1‚ÌŒ‹‰Ê‚ª–ß‚è’l‚Ƭ‚è‚Ü‚·
 ‹l‚Ü‚èAuPrivate Function DrawUp(wksShip As Worksheet) As Booleanv‚ÍADrawUpŠÖ”‚͈ø”‚É
 ƒ[ƒNƒV[ƒgŒ^‚Ì•Ï”wksShip‚ðŽ‚¿ABooleanŒ^‚Ì–ß‚è’l‚ð•Ô‚µ‚Ü‚·
 ˆø”wksShip‚Ƀ[ƒNƒV[ƒgŽ‚½‚¹Ÿ‚ê‚ðŒÄ‚Ño‚·‚Æ“à•”‚Å‚ÍAFX‚Ȉ—‚ðs‚¢Œ‹‰Ê‚Æ‚µ‚ÄŠÖ”–¼DrawUp‚É
 TrueŽá‚µ‚­‚ÍFalse‚ð–ß‚è’l‚Æ‚µ‚Ä•Ô‚µ‚Ü‚·
 ‚±‚Ì–ß‚è’l‚ð•Ô‚·‘€ì‚ªuDrawUp = Truev‚Å‚·
 Ÿˆ‚ÅAu”z—ñ‚É‚ÍŠ„‚è“–‚Ä‚ç‚ê‚Ü‚¹‚ñv‚Æo‚Ä‚­‚é‚Ì‚ÍAFunction‚Ì’è‹`‚Å–ß‚è’l‚ÌŒ^‚ðŽw’肵‚Ä‚¢‚é
 u) As Booleanv‚ªˆá‚Á‚Ä‚¢‚é‚Ì‚ªŒ´ˆö‚¾‚ÆŽv‚¢‚Ü‚·

 >DrawUp(wksShip As Worksheet) As Boolean()
 >‚±‚ê‚ð

 ‚Æ‘‚¢‚Ä—L‚è‚Ü‚·‚ªˆø”‚ÌŒ^Žw’èu) As Booleanv‚ÌŒã‚ë‚Éu()v‚ª—L‚è‚Ü‚·‚ªŸ‚ê‚ð•t‚¯‚é‚Æ
 –ß‚è’l‚ªBooleanŒ^‚Ì”z—ñ‚Ƭ‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·Aˆö‚Á‚Ä–ß‚è’l‚É”z—ñ‚ðŽw’肵‚È‚­‚Ä‚Í‚È‚ç‚È‚¢‚Ì‚É
 ‚½‚¾‚̃Šƒeƒ‰ƒ‹’蔂µ‚½ˆ×u”z—ñ‚É‚ÍŠ„‚è“–‚Ä‚ç‚ê‚Ü‚¹‚ñv‚Æo‚Ä‚¢‚é‚Ì‚Å‚µ‚傤
 ‚±‚Ìu) As Boolean()v‚ÌŒã‚ë‚Ìu()v‚Í•K—vÝ‚è‚Ü‚¹‚ñA‘‚«•Ï‚¦‚ÌŽwŽ¦‚É‚Í“ü‚Á‚Ä‚¢‚Ü‚¹‚ñ‚ªH
 Œã‚ë‚Ìu()v휂µA‘‚«Š·‚¦‚ÌŽwŽ¦’Ê‚è‚É‚µ‚ĉº‚³‚¢A

 2A
 >Private Function GetData(vntData As Variant, rngList As Range, _
 >                       rngWork As Range, vntStockID As Variant, vntSearch As Variant) As Boolean 
 >
 >‚ÅuvntDatev‚ª’è‹`‚³‚ê‚Ä‚¢‚È‚¢‚̃Gƒ‰[‚ªo‚½‚Ì‚Å
 >   Dim vntDate As Variant
 >‚ð’ljÁ‚µ‚Ü‚µ‚½B

 ƒSƒƒ“Ÿ‚ê‚ÍŽ„‚̃~ƒX‚Å‚·AŒ¾‚¢–ó‚ðŒ¾‚í‚µ‚Ä‚¢‚½‚¾‚¯‚ê‚ÎA®—ñ‡‚ÌŒ‚ÌC³‚ÅuDim vntDate As Variantv ‚̈ês‚ð“ü‚ꂽ‚Ì‚Å‚·‚ªAŸ‚ê‚ð’ljÁŽwŽ¦‚É“ü‚ê–Y‚ê‚Ü‚µ‚½
 ‹Â‚¹‚ÌŽæ‚èuFunction GetDatav‚̕ϔ錾•”‚ɒljÁ‚µ‚Ä’¸‚¯‚ê‚ÎŒ‹\‚Å‚·

 3A
 >‚·‚é‚Æ¡“x‚Í
 >Public Sub Main()
 >@@If DrawUp(wksObject) Then
 >‚±‚ê‚ÌuDrawUpv‚ÅuŒ^‚ªˆê’v‚µ‚Ü‚¹‚ñv‚̃Rƒ“ƒpƒCƒ‹ƒGƒ‰[‚ªo‚Ü‚·B
 >‚±‚±‚ð‚Æ‚è‚ ‚¦‚¸ Dim DrawUp As Variant@‚Æ‚µ‚Ä‚Ý‚Ü‚µ‚½B

 Ÿ‚ê‚àu1Av‚É‹Nˆö‚µ‚Ü‚·ADrawUp‚Ì–ß‚è’l‚ª‚½‚¾‚ÌBoolean’liTrueAFalse‚ÌŽ–j‚¾‚©‚炱‚Ì—l‚È‘‚«•û‚ð‚·‚é‚Ì‚É
 >DrawUp(wksShip As Worksheet) As Boolean()
 ‚Ƭ‚Á‚Ä‚¢‚é‚Ì‚ÅAƒRƒ“ƒpƒCƒ‰—l‚Íu”z—ñ‚ª–ß‚Á‚Ä—ˆ‚é‚̂ɉ½‚Å‚±‚ñ‚È‘‚«•û‚µ‚Ä‚é‚Ì‚æv‚Á‚Ä“{‚Á‚ăCƒ‰ƒVƒƒƒ‹‚Ì‚Å‚·

 “e‚ÉŠpAuPrivate Function DrawUp(wksShip As Worksheet) As Booleanv‚Æ‚µ‚ÄA
 uDim vntDate As Variant@ ‚ð’ljÁ‚µ‚Ü‚µ‚½BvˆÈŠO‚ÌŽwŽ¦ŠO‚Ì•ÏX‚ð–ß‚µ‚ĉº‚³‚¢

 (Bun)


 ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·•‚·‚Ý‚Ü‚¹‚ñ‚Å‚µ‚½B

 ƒvƒƒV[ƒWƒƒ‚Ì擪‚ðƒRƒs[•ƒy[ƒXƒg‚·‚鎞‚É—]Œv‚È•”•ª‚ð휂¹‚¸‚É“\‚è‚‚¯‚Ä‚¢‚½‚悤‚Å‚·c

 ‹³‚¦‚Ä‚¢‚½‚¾‚¢‚½ŽwŽ¦‚Å‘‚«Š·‚¦‚½‚Æ‚±‚ë“Š“ü•\ì¬Eƒ}ƒXƒ^XV‚Æ‚à‚¤‚Ü‚­s‚«‚Ü‚µ‚½B

 ‚¢‚­‚‚©‚̃f[ƒ^‚ÅŽŽ‚µ‚½‚Ì‚Å‚·‚ªA

 ¤•iA
 1s–Ú‚ÌÝŒÉF2000
 2s–Ú‚ÌÝŒÉF5000
 ƒZƒbƒg”F3000

 ‚Æ‚¢‚¤Žž‚ÉAƒ}ƒXƒ^[‚Ì1s–Ú‚Ì݌ɂ̔’l‚ªu0v‚ɂȂ鎞‚Æu-2000v‚ƂȂ鎞‚ª‚ ‚é‚Ì‚Å‚·‚ªA‚Ç‚¤‚¢‚¤ðŒ‚Å‚È‚Á‚Ä‚¢‚é‚Ì‚©
 ”»•Ê‚ª‚Ü‚¾‚‚«‚Ü‚¹‚ñB
 æ“ú‘‚«‚Ü‚µ‚½‚悤‚Ƀ}ƒXƒ^[‚ð“ü—Í‹K‘¥‚ª“ˆê‚³‚ê‚Ä‚¢‚È‚©‚Á‚½‚Ì‚Å‚Ç‚±‚©‚ª•¶Žš—ñ‚¾‚Á‚½‚è”’l‚¾‚Á‚½‚肵‚Ä‚¢‚é‚Ì‚©‚àc
 ˆø‚«‘±‚«ƒeƒXƒg‚µ‚È‚ª‚ç‰^—p‚ÉŽ‚Á‚Ä‚¢‚«‚Ü‚·B

 –{“–‚É‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½I

 iႾ‚é‚Üj

 >‚¢‚­‚‚©‚̃f[ƒ^‚ÅŽŽ‚µ‚½‚Ì‚Å‚·‚ªA
 >
 >¤•iA
 >1s–Ú‚ÌÝŒÉF2000
 >2s–Ú‚ÌÝŒÉF5000
 >ƒZƒbƒg”F3000
 >
 >‚Æ‚¢‚¤Žž‚ÉAƒ}ƒXƒ^[‚Ì1s–Ú‚Ì݌ɂ̔’l‚ªu0v‚ɂȂ鎞‚Æu-2000v‚ƂȂ鎞‚ª‚ ‚é‚Ì‚Å‚·‚ªA‚Ç‚¤‚¢‚¤ðŒ‚Å‚È‚Á‚Ä‚¢‚é‚Ì‚©
 >”»•Ê‚ª‚Ü‚¾‚‚«‚Ü‚¹‚ñB
 >æ“ú‘‚«‚Ü‚µ‚½‚悤‚Ƀ}ƒXƒ^[‚ð“ü—Í‹K‘¥‚ª“ˆê‚³‚ê‚Ä‚¢‚È‚©‚Á‚½‚Ì‚Å‚Ç‚±‚©‚ª•¶Žš—ñ‚¾‚Á‚½‚è”’l‚¾‚Á‚½‚肵‚Ä‚¢‚é‚Ì‚©‚àc

 ŠÈ’P‚ȃeƒXƒg‚ð‚µ‚ÄŒ©‚Ü‚µ‚½‚ªã‹L‚Ƭ‚鎖—á‚ÍŠm”F‚³‚ê‚Ü‚¹‚ñ‚Å‚µ‚½‚ªH
 1‚ÂAl—¶‚µ‚Ä‚¢‚È‚©‚Á‚½Ž–‚É‹C‚ª•t‚«‚Ü‚µ‚½
 Ÿ‚ê‚ÍAƒ}ƒXƒ^ƒƒ“ƒeƒiƒ“ƒX‚̬‚³‚ê‚Ä‚¢‚È‚¢“™‚ÅA݌ɔ0‚âƒ}ƒCƒiƒX݌ɂª—L‚Á‚½ê‡‚ÉA‚¢‚Ä‚Å‚·
 ‚à‚µ‚©‚·‚é‚ÆŸ‚ê‚ÉŠÖŒW‚µ‚Ä‚¢‚é‚©‚à‰ð‚è‚Ü‚¹‚ñ
 ­‚µ—Ž‚¿’…‚¢‚Ä‚©‚ç‚É‚µ‚悤‚ÆŽv‚Á‚Ä‚¢‚½‚Ì‚Å‚·‚ªH
 ã‹L‚Ì—l‚ÈŽ–—Ⴊo‚Ä—ˆ‚Ä‚¢‚é‚Ì‚ÅA‚±‚Ì‘Îô‚ð‚µ‚Ü‚·
 ‘Îô•û–@‚Í2ˆÄÝ‚è‚Ü‚·
 1AŒ»Ý‚ÌuFunction DrawUpv‚Ì’†‚Ì݌Ɉø“–‚ÌLoop‚ÉA
     If vntData(j, 3) > 0 Then
 @‚Æ“ü‚ê‚ÄAÝŒÉ0Žá‚µ‚­‚̓}ƒCƒiƒX݌ɂ𖳎‹‚·‚é•û–@
 @‚±‚Ìê‡A’ljÁ‚Í2s‚ÅÏ‚Ý‚Ü‚·‚ªˆ—‚ª’x‚­¬‚é‰Â”\«‚ª—L‚è‚Ü‚·
 2AC³‚Í‘½‚­¬‚è‚Ü‚·‚ªuì‹Æ—pv‚É’Šo‚·‚鎞“_‚Å’ŠoðŒ‚ÉÝŒÉ0‚ð’´‚¦‚镨‚ÆðŒ‚ð‘‚₵‚Ä
 @‚»‚ÌŽž“_‚Å݌ɂª0ˆÈ‰º‚Ì•¨‚ðœŠO‚·‚é•û–@‚Å‚·
 @‚±‚Ìê‡AuFunction DrawUpv‚Ì’†‚Ì݌Ɉø“–‚ÌLoop‚ÅŒ©‚és‚ª­‚È‚­¬‚é‚̂ň—‚ª‘¬‚­¬‚è‚Ü‚·

 ‘´ˆ‚Å‘æ2ˆÄ•û‚ð‚¨Š©‚ß‚µ‚Ü‚·
 ‚±‚Ìꇂ̕ÏX“_‚ÍA
 1Auì‹Æ—pvƒV[ƒg‚ɃtƒB[ƒ‹ƒh‚ð’ljÁ‚µ‚Ü‚·AꊂÍAO1ƒZƒ‹‚Å‚·
 @D1‚ÉÝ‚éu“ü‰×ŽÀ”v‚ðO1ƒZƒ‹‚ÉCopy‚µ‚ĉº‚³‚¢
 2AƒR[ƒh‚ð•ÏX‚µ‚Ü‚·•ÏX‚·‚é‚Ì‚ÍuFunction GetDatav‚ɬ‚è‚Ü‚·
 @ˆê‰žAuFunction GetDatav‚Ì‘S•¶‚ðÚ‚¹‚Ü‚·‚Ì‚Å·‚µ‘Ö‚¦‚ĉº‚³‚¢
 @‘O‰ñ‚Ì•ÏX•”•ª‚àŠÜ‚ñ‚Å‚¢‚Ü‚·

 Private Function GetData(vntData As Variant, rngList As Range, _
                        rngWork As Range, vntStockID As Variant, _
                        vntSearch As Variant) As Boolean  'š•ÏX

 '  “ü‰×ƒ}ƒXƒ^[‚©‚çAdvancedFilter‚ðŽg‚Á‚ăf[ƒ^‚ðŽæ“¾

    Dim i As Long
    Dim j As Long
    Dim vntCrit As Variant
    Dim rngCrit As Range
    Dim lngRows As Long
    Dim vntDate As Variant 'š’ljÁ

    'ì‹Æ—pƒV[ƒg‚ÌðŒ”͈͂Ì擪ƒZƒ‹ˆÊ’u(ƒ}ƒXƒ^‚©‚ç•K—vƒf[ƒ^‚ð’Šo)
    Set rngCrit = rngWork.Parent.Range("N1")

    'ÝŒÉID‚ð’ŠoðŒ‚Éo—Í šÝŒÉ”‚ª0‚Ìꇂ̈—’ljÁ
 '   ReDim vntCrit(1 To UBound(vntStockID, 2), 1 To 1)
    ReDim vntCrit(1 To UBound(vntStockID, 2), 1 To 2)                           'š•ÏX
    For i = 1 To UBound(vntStockID, 2)
        vntCrit(i, 1) = "=" & """=" & vntStockID(1, i) & """"
        vntCrit(i, 2) = "=" & """>0"""                                          'š’ljÁ
    Next i
 '   rngCrit.Offset(1).Resize(UBound(vntStockID, 2)).Value = vntCrit
    rngCrit.Offset(1).Resize(UBound(vntStockID, 2), 2).Value = vntCrit          'š•ÏX

    '“ü‰×ƒ}ƒXƒ^[‚©‚ç•K—vƒf[ƒ^‚ð’Šo
 '   DoFilter rngList.CurrentRegion, _
 '               rngCrit.Resize(UBound(vntStockID, 2) + 1), _
 '               rngWork.Resize(, 11)
    DoFilter rngList.CurrentRegion, _
                rngCrit.Resize(UBound(vntStockID, 2) + 1, 2), _
                rngWork.Resize(, 11)                                            'š•ÏX

    'ì‹Æ—pƒV[ƒg‚ÉA‚¢‚Ä
    With rngWork
        's”‚̎擾
        lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row
        If lngRows <= 0 Then
            GoTo Wayout
        End If
        'šŽg—pŠúŒÀi”NAŒŽA“új‚𕶎š—ñ‚É•ÏX
        vntDate = .Offset(1, 4).Resize(lngRows, 3).Value                        'š’ljÁ
        For i = 1 To lngRows                                                    'š’ljÁ
            For j = 1 To 3                                                      'š’ljÁ
                If IsNumeric(vntDate(i, j)) Then                                'š’ljÁ
                    vntDate(i, j) = Right("00" & vntDate(i, j), 2)              'š’ljÁ
                End If                                                          'š’ljÁ
            Next j                                                              'š’ljÁ
        Next i                                                                  'š’ljÁ
        'šƒZƒ‹‘Ž®‚𕶎š—ñ‚É•ÏX
        .Offset(1, 4).Resize(lngRows, 3).NumberFormat = "@"                     'š’ljÁ
        'š•¶Žš—ñ‚É‚µ‚½Žg—pŠúŒÀi”NAŒŽA“új‚ðƒV[ƒgo—Í
        .Offset(1, 4).Resize(lngRows, 3).Value = vntDate                        'š’ljÁ
        'ÝŒÉID‡‚ÌŽg—pŠúŒÀi”NAŒŽA“új‡‚Ì“ü‰×“ú‡‚ÅList‚ð®—ñ
        'A—ñ‚©‚ç®—ñ‚·‚é—ñ‚Ì—ñOffset‚ðŽw’è,‘S‚ĸ‡‚Å
        DataSort .Offset(1).Resize(lngRows, 11), Array(2, 4, 5, 6, 1), _
                    Array(xlAscending, xlAscending, xlAscending, _
                    xlAscending, xlAscending)
        '‘S—ñƒf[ƒ^‚ð”z—ñ‚Ɏ擾
        vntData = .Offset(1, 1).Resize(lngRows + 1, 10).Value
        'š”z—ñ‚Éu“ü‰×IDv‚ðŽæ“¾
        vntSearch = .Offset(1).Resize(lngRows + 1).Value                        'š’ljÁ
    End With

    GetData = True

 Wayout:

    Set rngCrit = Nothing

 End Function

 ˆÈã

 ®A–{“–‚ÍoŒÉêŠ‚à’ŠoðŒ‚ɉÁ‚¦‚Ä’Šo‚Åi‚èž‚ß‚ê‚΂à‚Á‚Æ‘¬‚­¬‚é‚Ì‚Å‚·‚ªH
 ‘´‚ê‚ÍAƒ}ƒXƒ^‚̃ƒ“ƒeƒiƒX‚ªI‚í‚Á‚½‚çAႾ‚é‚Ü‚³‚ñ‚ªl‚¦‚ÄŒ©‚ĉº‚³‚¢

 (Bun)


 ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
 ¡‚Ì‚Æ‚±‚뇒²‚É‚¢‚Á‚Ä‚Ü‚·B
 –{“–‚É‚¨Žè”‚ð‚¨‚©‚¯‚µ‚Ü‚µ‚½B

 iႾ‚é‚Üj

 ˆê‰ž“®‚¢‚Ä—Ç‚©‚Á‚½‚Å‚·‚Ë
 ‚½‚¾AŒ‹‰Ê‚Ìó‘ÔA‰^—pã‚Ì•s“s‡Aƒf[ƒ^‚ÌXVó‘Ô“™‚ð—Ç‚­Šm”F‚µ‚Ä
 –{”Ԃ̉^—p‚É‹Ÿ‚µ‚ĉº‚³‚¢‚Ë

 (Bun)

ƒRƒƒ“ƒg•ÔMF

[ ˆê——(ÅVXV‡) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.