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

[ �‰‚߂Ă̕û‚Ö | ˆê——(�Å�V�X�V�‡) | ‘S•¶ŒŸ�õ | ‰ß‹Žƒ�ƒO ]

�@

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

 Excel2007‚Å‚·�B

 ‚ ‚é�H•i�w“üŽÒŒü‚¯ƒ_ƒ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”N�j�@Ž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�ÝŒÉID�FAAA01‚ð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 ‹Æ–±No�F�›�›
 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

 1�s–Ú‚©‚ç14�s–ڂ܂ł͎è“ü—͂ł·�B
 ‰½‚ª‚µ‚½‚¢‚©‚Æ‚¢‚¤‚Æ�A14�s–Ú‚Ì�u�ÝŒÉID�v‚ð“ü—Í‚µ‚½Žž�A15�s–Ú�E16�s–Ú‚Ì�u“ü‰×“ú�v�uŽg—pŠúŒÀ�v‚ªƒ}ƒXƒ^�[‚©‚玩“®“I‚É�o‚邿‚¤‚É‚µ‚½‚¢‚̂ł·�B
 Žg—pŠúŒÀ‚ª“ü‚Á‚Ä‚¢‚é‚à‚͎̂g—pŠúŒÀ‚̌¢‚à‚Ì‚ð’Š�o�A“ü‚Á‚Ä‚¢‚È‚¢‚à‚͓̂ü‰×“ú‚̌¢‚à‚Ì‚ð’Š�o�A
 ‚à‚µƒZƒbƒg�”‚É•K—v‚È�”‚ªF—ñ‚Ì�u“ü‰×ŽÀ�”�v‚Å‘«‚è‚È‚­‚È‚Á‚½�ê�‡�A“¯‚¶�ÝŒÉID‚ÅŽŸ‚ÉŽg—pŠúŒÀ‚Ü‚½‚Í“ü‰×“ú‚ªŒÃ‚¢‚à‚Ì‚©‚çŽg‚¤�A‚Æ‚¢‚¤Š´‚¶‚Å‚·�B
 �i‚»‚Ì�ê�‡‚Í17�s–ÚˆÈ�~‚ÉŽŸ‚Ì�¤•i‚Ì“ü‰×“ú‚ÆŽg—pŠúŒÀ‚ð’ljÁ�j
 Žg—pŠúŒÀ‚Ì‚ ‚é‚à‚̂ƂȂ¢‚à‚̂Ń}ƒXƒ^�[‚𕪂¯‚Ä‚à‚¢‚¢‚Ƃ̂±‚Ƃł·

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

 ŠÖ�”‚¶‚á–³—�‚»‚¤‚Ȃ̂ł±‚±‚⑼‚̃TƒCƒg‚ðŽQ�l‚ÉVBA‚Ì�l‚¦•û‚¾‚¯‚ð�‘‚¢‚Ă݂܂µ‚½�B
 Žg—pŠúŒÀ‚Ì‚ ‚é‚à‚̂ƂȂ¢‚à‚̂Ƀ}ƒXƒ^�[‚ð‚킯‚½‚Æ‚µ‚Ä�AŽg—pŠúŒÀ‚Ì‚ ‚é‚à‚Ì‚©‚ç‚Ì’Š�o‚Ì�ê�‡
 ƒ}ƒXƒ^�[‚ÌJ—ñ‚É�uŽg—pŠúŒÀ”NŒŽ“ú�v�iG�`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

 ‹L�q‚ÌŽd•û‚ª•ª‚©‚ç‚È‚­‚Ä‚ ‚¿‚±‚¿•ςł·‚ª‚±‚ñ‚È�l‚¦•û‚ł͂â‚Á‚ς肨‚©‚µ‚¢‚Å‚·‚©�H

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

 �i�Ⴞ‚é‚Ü�j

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

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

 >1�s–Ú‚©‚ç14�s–ڂ܂ł͎è“ü—͂ł·�B
 ‘S‚Ä“ü—Í‚µ‚Ä‚©‚ç�Aƒ}ƒNƒ�‚ðŽÀ�s‚µ‚ĉº‚³‚¢

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

 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ƒ‹ˆÊ’u�j
    Set rngList = Worksheets("“ü‰×ƒ}ƒXƒ^�[").Range("A1")

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

    '‰æ–Ê�X�V‚ð’âŽ~
    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”N�AŒŽ�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‚ð�X�V
        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‚ð�X�V
                j = j + 1
                '�o—Í�s‚ð�X�V
                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:

    '‰æ–Ê�X�V‚ð�ÄŠ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

 ˆê‚‚¾‚¯‚¨•·‚«‚µ‚½‚¢‚̂ł·‚ª�A�u“Š“ü•\�v‚ª‚¢‚­‚‚©‚ ‚Á‚Ä�A�u“Š“ü•\ƒA�v�u“Š“ü•\ƒC�v‚̂悤‚É
 �u“Š“ü•\�v‚ª“ª‚ɂ‚¢‚½ƒV�[ƒg‚ª‚ ‚è‚Ü‚·�B

 ‚±‚Ì�ê�‡�A‚»‚Ì“Š“ü•\‚²‚ƂɃ}ƒNƒ�‚ðŽÀ�s‚·‚é‚ɂ͂ǂ¤‚µ‚½‚ç‚æ‚¢‚Å‚µ‚傤‚©�H
 �i�gƒA�h�gƒC�h‚Ì•”•ª‚Í‚»‚Ì“s“x•Ï‚í‚è‚Ü‚·�j

 �i�Ⴞ‚é‚Ü�j

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

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

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

‚ð

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

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

 •ʈĂƂµ‚Ä‚Í

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

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

  Public Sub Sample(wksResult As Worksheet)

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

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

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

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

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

 End Sub

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

 ˆÈ�ã

 PS�F�¡‰ñŽ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‚¢‚Ä�c�j

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

 ‚Ȃ̂Å
 IF B7 = "“ü‰×ƒ}ƒXƒ^�["AL—ñ

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

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

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

 �i�Ⴞ‚é‚Ü�j

 ‚¤�[‚ñ�H�H�H
 Œ¾‚Á‚Ä‚¢‚éˆÓ–¡‚ª�¡ˆê‚—�‰ð�o—ˆ‚È‚¢‚̂ł·‚ª�H

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

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

 ‹^–â
 ‚à‚µ�A�݌ɂ͗L‚邪B7ƒZƒ‹‚Ì’l‚ƈê’v‚µ‚È‚¢�ê�‡‚͂ǂ¤‚·‚é‚Ì�H
 –{“–‚Í“ü‰×ƒ}ƒXƒ^�[‚Ì�Å�I—ñ‚͉½�ˆ‚Ü‚Å�Ý‚é‚Ì�H
 �iƒR�[ƒh�ã‚Å�®—ñ‚·‚é‚̂Ŗ{“–‚Ì�Å�I—ñ‚ª‰ð‚ç‚È‚¢‚Æ�AList‚Ì‘O”¼‚¾‚¯�®—ñ‚³‚ê‚Ă߂¿‚á‚­‚¿‚á‚É�¬‚鎖‚à
 –³‚¢‚Ƃ͌¾‚¦‚È‚¢‚©‚à�H�j

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

 (Bun)


 �à–¾‚ª‰ºŽè‚Å‚·‚݂܂¹‚ñ�c

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

 > �u“Š“ü•\�v�ì�¬Žž�i“ü‰×ƒ}ƒXƒ^�[‚©‚ç�ÝŒÉID‚ð’T‚·Žž�j‚É�A
 > �u“Š“ü•\�vB7ƒZƒ‹‚Ì’l‚ÆŠY“–�u�ÝŒÉID�v�s‚ÌM—ñ�AN—ñ�AO—ñ�AP—ñ‚Ì’l‚ªˆê’v‚µ‚½•¨‚¾‚¯‚ð
 > �u“Š“ü•\�v‚Ì15�s–ÚˆÈ�~‚É‹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‚Å‚·

 �¡‰ñ�A�oŒÉ�ê�Š‚ÌŒ�‚àŠÜ‚ß’¼�Ú�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ƒ‡ƒ“�iAdvancedFilter�j‚ðŽg‚Á‚Ä
 ’Š�o‚µ�Ÿ‚ê‚ð�®—ñ‚µ‚ÄŽg—p‚µ‚Ü‚·

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

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

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

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

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

 �u�ì‹Æ—p�v‚Ì�ðŒ�”͈͂Ƃµ‚Ä

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

 ‚Æ‚µ‚ĉº‚³‚¢�A�Ÿ�ˆ‚É�ðŒ�‚ð“ü‚ê‚Ä’Š�o‚µ‚Ü‚·
 �u�ì‹Æ—p�vƒ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ƒ‹ˆÊ’u�j
    Set rngList = Worksheets("“ü‰×ƒ}ƒXƒ^�[").Range("A1")

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

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

    '‰æ–Ê�X�V‚ð’âŽ~
    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�ÝŒÉID�A�oŒÉ�ê�Š“™‚ðŠ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‚ð�X�V
        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‚ð�X�V
                j = j + 1
                '�o—Í�s‚ð�X�V
                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:

    '‰æ–Ê�X�V‚ð�ÄŠ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”N�AŒŽ�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“Š“ü•\‚Ì15�s–ڈȉº�j‚Ì�‘Ž®�iŒr�ü�A“h‚è‚‚Ԃµ‚È‚Ç�j‚âˆó�ü”͈͂Ì�Ý’è‚Ȃǂª‘S‚ăNƒŠƒA‚³‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·�c

 ‚ ‚Æ‘qŒÉ‚Ȃǂ̕”•ª‚Í�AŽÀ�Û‚Í�uƒ�ƒWƒXƒeƒBƒbƒN�v�u‚¨‹q—l‘‹Œû—p�v‚Ȃǂ̕¶Žš—ñ‚ª“ü‚è‚Ü‚·‚ª�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‚Ȃǂ̔÷–­‚ȈႢ‚ª‘½‚¢‚Ì‚Å�c�j

 ‚±‚Ì•”•ª‚ÍŽ©•ª‚Å‚à‚à‚¤�­‚µ•û–@‚ð�l‚¦‚Ă݂܂·

 ‚Ƃ肠‚¦‚¸‚à‚¤�­‚µ“Š“ü•\‚̃ŒƒCƒAƒEƒg‚È‚Ç�l‚¦‚È‚ª‚玎‚µ‚Ă݂܂·�B

 �i�Ⴞ‚é‚Ü�j

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

 ƒSƒ�ƒ“�Ÿ‚ê‚̓R�[ƒh‚Ì’†‚Å•s‘«‚Ì�ê�‡Font�Ô‚É�Ý’è‚·‚鎞‚ª—L‚é‚Ì‚Å“Š“ü•\‚Ì15�s–ڈȉº‚ð�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ƒN�v�u‚¨‹q—l‘‹Œû—p�v‚Ȃǂ̕¶Žš—ñ‚ª“ü‚è‚Ü‚·‚ª�A‚±‚ê‚͕ʂɃ}ƒXƒ^�[‚ð�ì‚Á‚Ä
 >‘qŒÉID‚̂悤‚È‚à‚Ì‚ð�ì�¬‚µ�A‚»‚±‚©‚çˆø‚Á’£‚Á‚Ä‚«‚½•û‚ª‚æ‚¢‚Å‚µ‚傤‚©�B

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

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

 Up‚µ‚½ƒ}ƒNƒ�‚ł͑qŒÉ�A“��A’I�A”Ô�†‚ðƒ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’I�A”Ô�†‚͈ê‚‚̃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’I�A”Ô�†‚̓tƒBƒ‹ƒ^ƒIƒvƒVƒ‡ƒ“‚Å‚Ì�i‚è�ž‚Ý‚ð’ú‚ß
 ‘S”¼Šp‚Ì‹zŽû‚ð�s‚¤ˆ×‚É�A�s‚ð�ã‚©‚猩‚Ä�s‚­Žž“_‚ÅStrCompŠÖ�”‚Å”äŠr‚ð�s‚¤—l‚É•Ï�X‚µ‚Ü‚µ‚½
 ‚½‚¾�A•s—vƒf�[ƒ^‚Ì”r�œ�Aƒ}ƒXƒ^‚̕یì‚ׂ̈ɃtƒBƒ‹ƒ^ƒIƒvƒVƒ‡ƒ“Ž©‘͎̂g—p‚µ‚Ü‚·
 ˆö‚Á‚Ä�u�ì‹Æ—p�vƒV�[ƒg‚Í‘S‚­“¯‚¶•¨‚ðŽg—p‚µ‚Ü‚·‚̂ő´‚̂܂܂ɂµ‚ĉº‚³‚¢

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

 �®�A�u“Š“ü•\�v‚Ì15�s–ڈȉº‚Ì�í�œ‚̓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ƒ‹ˆÊ’u�j
    Set rngList = Worksheets("“ü‰×ƒ}ƒXƒ^�[").Range("A1")

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

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

    '‰æ–Ê�X�V‚ð’âŽ~
    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�ÝŒÉID�A�oŒÉ�ê�Š“™‚ðŠ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‚ð�X�V
        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‚ð�X�V
                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‚ð�X�V
                        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‚ð�X�V
                    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:

    '‰æ–Ê�X�V‚ð�ÄŠ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’I�A”Ô�†‚ðƒ`ƒ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”N�AŒŽ�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’I�A”Ô�†‚͈ê‚‚̃Zƒ‹‚ɘAŒ‹‚·‚é•K—v‚Í•K‚¸‚µ‚à—L‚è‚Ü‚¹‚ñ‚Ì‚Å
 —Ⴆ‚Î�u“Š“ü•\�v‚ÌB7�AC7‚Æ•¡�”ƒZƒ‹‚É“ü—Í‚µ‚Ä‚à‘å�ä•v‚Æ‚¢‚¤‚±‚Ƃłµ‚傤‚©�H

 ‘qŒÉ�`‚ÌŒ�‚Å‚¢‚­‚‚©•Ï�X‚Æ‚±‚¿‚ç‚Å�l‚¦‚½‚±‚Æ‚ª‚ ‚è‚Ü‚·‚̂łƂ肠‚¦‚¸‚܂Ƃ߂܂·�B

 �EŽQ�Æ‚·‚é‚Ì‚Í�u‘qŒÉ�v�u“��v‚Ì2—ñ‚¾‚¯‚ÅOK�i’I‚Æ”Ô�†‚Í•s—v�j
 �Eƒ}ƒXƒ^�[‚ª‘SŠp”¼Šp‚̂ق©‚É�u‚¨‹q—l‘Ήž—p�v�u‚¨‹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’I�A”Ô�†‚͈ê‚‚̃Zƒ‹‚ɘAŒ‹‚·‚é•K—v‚Í•K‚¸‚µ‚à—L‚è‚Ü‚¹‚ñ‚Ì‚Å
 >—Ⴆ‚Î�u“Š“ü•\�v‚ÌB7�AC7‚Æ•¡�”ƒZƒ‹‚É“ü—Í‚µ‚Ä‚à‘å�ä•v‚Æ‚¢‚¤‚±‚Ƃłµ‚傤‚©�H

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

 >‘qŒÉ�`‚ÌŒ�‚Å‚¢‚­‚‚©•Ï�X‚Æ‚±‚¿‚ç‚Å�l‚¦‚½‚±‚Æ‚ª‚ ‚è‚Ü‚·‚̂łƂ肠‚¦‚¸‚܂Ƃ߂܂·�B
 >
 >
 >�EŽQ�Æ‚·‚é‚Ì‚Í�u‘qŒÉ�v�u“��v‚Ì2—ñ‚¾‚¯‚ÅOK�i’I‚Æ”Ô�†‚Í•s—v�j
 >�Eƒ}ƒXƒ^�[‚ª‘SŠp”¼Šp‚̂ق©‚É�u‚¨‹q—l‘Ήž—p�v�u‚¨‹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ŒÉ�v�AC7‚É�u“��v‚ª“ü‚è‚Ü‚·

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

 �uSub Sample_3�v‚̃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 PlaceCheck�v‚É�A‚¢‚Ä‚Í

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

    Dim i As Long

    '‘qŒÉ�A“��A’I�A”Ô�†‚ðƒ`ƒ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

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

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

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

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

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

 ŽÀ�Û‚Í

 �@�@�@�@�ã‚Ì—á�@�¨�@ŽÀ�Û‚Ì—ñ
 “ü‰×ID�F�@�@A�@�@�@�@�@A
 “ü‰×“ú�F�@�@B�@�@�@�@�@I�@�@�@�@
 �ÝŒÉID�F�@�@C�@�@�@�@�@N
 •i–¼�F�@�@�@D�@�@�@�@�@O
 “ü‰×—\’è�”�FE�@�@�@�@�@P
 “ü‰×ŽÀ�”�F�@F�@�@�@�@�@Q
 Žg—pŠúŒÀ”N�FG�@�@�@�@�@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

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

 >‚·‚݂܂¹‚ñ�A�Å�‰‚ÉŽ¿–₵‚½Žž‚É�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‚ÈŽ–‚àŠÜ‚ß�A�u�ì‹Æ—p�vƒV�[ƒg‚ɃtƒBƒ‹ƒ^ƒIƒvƒVƒ‡ƒ“�iAdvancedFilter�j‚Ńf�[ƒ^‚ð’Š�o‚µ‚Ä‚¢‚Ü‚·
 ‚±‚Ì�ê�‡�A’Š�oŒ³‚Ì�u“ü‰×ƒ}ƒXƒ^�v‚Ì—ñŒ©�o‚µ‚Æ’Š�o�æ‚Ì�u�ì‹Æ—p�v‚Ì—ñŒ©�o‚µ‚ª“¯‚¶•¨‚ª’Š�o‚³‚ê‚Ü‚·
 ˆö‚Á‚Ä�A�u�ì‹Æ—p�v‚Ì’Š�o”͈͂Æ�ðŒ�”͈̗͂ñŒ©�o‚µ‚ª�u“ü‰×ƒ}ƒXƒ^�v‚É–³‚¯‚ê‚΃Gƒ‰�[‚ð‹N‚±‚µ‚Ü‚·‚ª
 —L‚ê‚Î�A‘´�ˆ‚Ì—ñŒ©�o‚µ‚Ì—ñ‚É’Š�o‚³‚ê‚Ü‚·
 �u“ü‰×ƒ}ƒXƒ^�v‚Ì—ñ‚ª‘}“ü�í�œ‚Å—ñˆÊ’u‚ª•Ï‚í‚Á‚Ä‚à�A—ñŒ©�o‚µ‚³‚¦•Ï�X‚ª–³‚¯‚ê‚Α´‚̂܂܎g‚¦‚Ü‚·
 �Ÿ�ˆ‚Å�A ˆê”ԑ厖‚ÈŽ–‚Í�u�ì‹Æ—p�v‚Ì—ñŒ©�o‚µ‚Ì�‡”Ô‚Æ—ñˆÊ’u‚ð•Ï�X‚µ‚È‚¢Ž–‚Å‚·
 ‚Ü‚½�AŽ„‚Ì•û‚ÅŽwަ‚µ‚½�u�ì‹Æ—p�v‚Ì—ñŒ©�o‚µ‚ª�u“ü‰×ƒ}ƒXƒ^�v‚ƈá‚Á‚Ä‚¢‚½�ê�‡�A�u�ì‹Æ—p�v‚Ì—ñŒ©�o‚µ‚ð�u“ü‰×ƒ}ƒXƒ^�v‚É�‡‚킹‚ĉº‚³‚¢
 ‚±‚Ì�ê�‡�AŽè“ü—Í‚Å�u�ì‹Æ—p�v‚Ì—ñŒ©�o‚µ‚ð•Ï�X‚·‚é‚̂ł͖³‚­�A•K‚¸�u“ü‰×ƒ}ƒXƒ^�v‚Ì—ñŒ©�o‚µ‚ðCopy‚µ‚ĉº‚³‚¢
 �iƒtƒBƒ‹ƒ^ƒIƒvƒVƒ‡ƒ“‚Í�_ŒoŽ¿‚Ȃ̂Å�A�lŠÔ‚ªŒ©‚Ĉꌩ“¯‚¶‚ÉŒ©‚¦‚Ä‚à
 Space‚ª“ü‚Á‚Ä‚¢‚½‚è‚Å‹C‚ª•t‚©‚È‚¢Ž–‚ª—L‚茋‰Ê“I‚É’Š�o�o—ˆ‚È‚¢ƒgƒ‰ƒuƒ‹‚ªŒ‹�\—L‚è‚Ü‚·�j

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

 (Bun)


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

 �i�Ⴞ‚é‚Ü�j

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

 (Bun)


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

    '“Š“ü•\‚Ì�ÝŒÉ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‚ð�X�V
                    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‚ð�X�V
            j = j + 1
            If j > lngRows Then
                '�o—Í�s‚ð�X�V
                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‰æ–Ê�X�V‚Ì’âŽ~�v�u�ÄŠJ�v‚Æ‚¢‚¤‚Ì‚ª�Å�‰‚Í•ª‚©‚ç‚È‚©‚Á‚½‚̂ł·‚ªGoogle‚ÅŒŸ�õ‚µ‚Ä‘½•ª—�‰ð‚Å‚«‚½‚ÆŽv‚¢‚Ü‚·�B

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

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

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

 ‚ ‚Æ‚à‚¤‚P“_�A�ã‚©‚ç�u‚P�s–ڂɃ^ƒCƒgƒ‹�s�i2011”N12ŒŽ“ü‰×ƒ}ƒXƒ^�[‚Æ‚¢‚¤‚悤‚È�j‚ð“ü‚ꂽ‚¢�v‚ÆŒ¾‚í‚ꂽ‚Ì‚Å
     '“ü‰×ƒ}ƒXƒ^�[List‚Ì�擪ƒZƒ‹ˆÊ’u‚ðŠî�€‚Æ‚·‚é�i�擪—ñ‚Ì—ñŒ©�o‚µ‚̃Zƒ‹ˆÊ’u�j
    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‚¤‚Ì‚Å�ÝŒÉ�X�V�ˆ—�‚͉½‚Æ‚©Ž©—Í‚Å�l‚¦‚悤‚ÆŽv‚Á‚Ä‚¢‚Ü‚·�j

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

 �i�Ⴞ‚é‚Ü�j

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

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

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

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

 >‚ ‚Æ‚à‚¤‚P“_�A�ã‚©‚ç�u‚P�s–ڂɃ^ƒCƒgƒ‹�s�i2011”N12ŒŽ“ü‰×ƒ}ƒXƒ^�[‚Æ‚¢‚¤‚悤‚È�j‚ð“ü‚ꂽ‚¢�v‚ÆŒ¾‚í‚ꂽ‚Ì‚Å
  >   '“ü‰×ƒ}ƒXƒ^�[List‚Ì�擪ƒZƒ‹ˆÊ’u‚ðŠî�€‚Æ‚·‚é�i�擪—ñ‚Ì—ñŒ©�o‚µ‚̃Zƒ‹ˆÊ’u�j
  >  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�u�ì‹Æ—p�v‚É’Š�o‚·‚鎞�AƒtƒBƒ‹ƒ^ƒIƒvƒVƒ‡ƒ“�iAdvancedFilter�j‚ÌƒŠƒXƒg”͈͂ð“ü‰×ƒ}ƒXƒ^‚ÌA1‚Ì
 CurrentRegion‚ÅŽæ‚Á‚Ä‚¢‚é‚Ì‚Å�ACurrentRegion‚Ì�ê�‡ƒZƒ‹”͈͂ª˜A‘±‚µ‚Ä‚¢‚邯‘´�ˆ‚Ü‚ÅList‚Æ‚µ‚Ď󂯎æ‚è‚Ü‚·
 ˆö‚Á‚Ä�Aƒ^ƒCƒgƒ‹‚ð“ü‚ꂽ1�s–Ú‚É—ñŒ©�o‚µ‚ª—L‚镨‚µ‚Ü‚·‚Ì‚ÅrngList‚ðRange("A2")‚É‚µ‚Ä‚à
 Excel‘¤‚ÍRange("A1")‚É�ݒ肵‚Ä‚¢‚é‚̂Ɠ¯‚¶‚Æ‘¨‚¦‚Ä‚¢‚éˆ×�A�uƒtƒB�[ƒ‹ƒh–¼‚ª–³‚¢‚©–³Œø‚ȃtƒB�[ƒ‹ƒh‚Å‚·�v‚̃Gƒ‰�[‚ª�o‚Ü‚·
 �Ÿ‚ê‚ð‰ñ”ð‚·‚é‚É‚Í�A1�s–ڂɃ^ƒCƒgƒ‹‚ð“ü‚ê�A1�sŠJ‚¯‚Ä�i2�s–Ú‚Í‘S‚ċ󔒂̃Zƒ‹”͈Í�jList‚ª3�s–Ú‚Æ�¬‚é—l‚É‚µ

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

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

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

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

 (Bun)


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

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

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

 (Bun)


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

 �ÝŒÉ�ˆ—�‚̓}ƒNƒ�‚ð•Ê‚É�ì‚Á‚½•û‚ª‚æ‚¢‚̂ł·‚Ë�B

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

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

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

 �@�@If �u1�s–Ú‚Ì�ÝŒÉ�”�v- �uƒZƒbƒg�”�v >= 0 Then
 �@�@�@�@�ÝŒÉ�” = �u1�s–Ú‚Ì�ÝŒÉ�”�v- �uƒZƒbƒg�”�v
 �@�@Else
 �@�@�@�@�u“Š“ü•\‚ÌŽŸ‚Ì�s‚Ì“ü‰×Žó•t”Ô�†�v = �u�ì‹Æ—p‚ÌŽŸ‚Ì�s‚Ì“ü‰×Žó•t”Ô�†�v Then
 �@�@�@�@�ÝŒÉ�” = �u2�s–Ú‚Ì�ÝŒÉ�”�v- �i�u1�s–Ú‚Ì�ÝŒÉ�”�v- �uƒZƒbƒg�”�v�j

 �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�[ƒN�j‚Ì�€–Ú‚ª’m‚肽‚¢‚̂ł·‚ª�H
 �u“ü‰×ID�v‚Ì�€–Ú‚Å‚·‚©�u“ü‰×Žó•t”Ô�†�v‚Å‚·‚©�H
 �Ÿ‚ê‚É‚æ‚èƒ}ƒNƒ�‚ª•Ï‚í‚Á‚Ä‚«‚Ü‚·�iˆêˆÓ‚Å�¸�‡�®—ñ‚³‚ê‚Ä‚¢‚éKey‚È‚ç�AKey‚Ì’T�õ‚𑬂­‚·‚鎖‚ª�o—ˆ‚Ü‚·�j

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

 1�A�u“Š“ü•\�v‚ð�ì�¬‚·‚éƒ}ƒNƒ�‚Ì’†‚Å�A�u“Š“ü•\�v‚ÌO1‚ðŠî�€‚Æ‚µ
 �@�i—ñŒ©�o‚µ‚ðO1:P1‚Æ‚µ�Aƒf�[ƒ^‚ðO2ˆÈ‰º‚Æ‚µ‚Ü‚·�j
 �@O—ñ‚É�u“ü‰×ID�vŽá‚µ‚­‚Í�u“ü‰×Žó•t”Ô�†�v‚ð‹L�Ú‚µ�AP—ñ‚ÉŽg—p�”—Ê‚ð‹L�Ú‚µ‚Ü‚·
 �@�Ÿ‚ê‚Í�A�u“Š“ü•\�v‚»‚Ì•¨‚ªƒ}ƒXƒ^‚̈êˆÓ‚Å�¸�‡�®—ñ‚³‚ê‚Ä‚¢‚éKey‚Æ–¾Šm‚ÈŽg—p�”—Ê‚ðŽ�‚Á‚Ä‚¢‚È‚¢ˆ×‚É
 �@�u“Š“ü•\�v�ì�¬Žž‚É�Ÿ‚ê‚ð‹L˜^‚µ‚Ä’u‚±‚¤‚ÆŒ¾‚¤Ž–‚Å‚·
 2�A�u“Š“ü•\�v‚ÅŽg—p‚³‚ꂽ�”—Ê‚ð�u“ü‰×ƒ}ƒXƒ^�v‚©‚猸ŽZ‚³‚¹‚éƒ}ƒNƒ�‚ð�ì�¬‚µ‚Ü‚·
 �@�Ÿ‚ê‚̈Ӗ¡‚Í�A�u“Š“ü•\�vŒvŽZŽž‚É�݌ɕs‘«“™‚ŃZƒbƒg�”“™‚ð•Ï�X‚µ‚Ä�ÄŒvŽZ‚·‚é�ê�‡‚ð�l—¶‚µ‚Ä
 �@�i�ì�¬Žž‚É�݌Ɉø“–‚Ń}ƒXƒ^‚©‚猸ŽZ‚ð�s‚¤‚Æ�݌ɂª‚ß‚¿‚á‚­‚¿‚á‚É�¬‚é�j
 �@•ʃ}ƒNƒ�‚É‚·‚ê‚Î�A�u“Š“ü•\�v‚ªŠm’肵‚½Œã‚É–¾Ž¦“I‚É�݌Ɉø“–�i�݌ɂ̌¸ŽZ�j‚ª�s‚¦‚Ü‚·
 3�A‚±‚̃}ƒNƒ�‚ðŽÀ�s‚·‚邯�A�u“Š“ü•\�vO�`P—ñ‚ð�ã‚©‚猩‚Ä�s‚Á‚ÄO—ñ‚Ì�u“ü‰×ID�vŽá‚µ‚­‚Í�u“ü‰×Žó•t”Ô�†�v‚ð
 �@�u“ü‰×ƒ}ƒXƒ^�v‚Ì�u“ü‰×ID�vŽá‚µ‚­‚Í�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‚µ‚Ü‚·
 �@�Ÿ‚ê‚ð�A�u“Š“ü•\�v‚ÌO�`P—ñ‚Ì�Ō㖘ŒJ‚è•Ô‚µ‚Ü‚·
 ˆÈ�ã

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

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

 For i=2 to �u“Š“ü•\O�`P—ñ‚Ì�Å�I�s�v
     For j = 3 to �u“ü‰×ƒ}ƒXƒ^‚Ì�Å�I�s�v
         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�[ƒN�j‚Ì�€–Ú‚ª’m‚肽‚¢‚̂ł·‚ª�H
 >�u“ü‰×ID�v‚Ì�€–Ú‚Å‚·‚©�u“ü‰×Žó•t”Ô�†�v‚Å‚·‚©�H

 �u“ü‰×ID�v‚ªƒ†ƒj�[ƒN‚©‚Â�¸�‡‚Å�®—ñ‚³‚ê‚Ä‚¢‚Ü‚·�B
 “ü‰×Žó•t”Ô�†‚àƒ†ƒj�[ƒN‚Å‚·‚ªˆê”Ô‚ÌŒ³‚ɂȂÁ‚Ä‚¢‚é‚͓̂ü‰×ID‚Ì•û‚Å‚·�B

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

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

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

 �i�Ⴞ‚é‚Ü�j

 Ž„‚Ì•û‚Í�A�X�Vƒ}ƒNƒ�‚Ì�ì�¬‚Æ�u“Š“ü•\�v�ì�¬ƒ}ƒNƒ�‚Ì•Ï�X‚Í�o—ˆ‚Ü‚µ‚½
 ‚µ‚©‚µ�AUp‚·‚鎖‚ÍŠÈ’P‚Å‚·‚ª�H
 �Ⴞ‚é‚Ü‚³‚ñ‚Ì•û‚à�A�¡‰ñ‚Ì�X�Vƒ}ƒNƒ�‚Ì�ì�¬‚Æ�u“Š“ü•\�v�ì�¬ƒ}ƒNƒ�‚Ì•Ï�X‚É�A‚¢‚Ä�l‚¦Œ©‚ĉº‚³‚¢
 Š®‘S‚ȃR�[ƒh‚Å–³‚­‚Ä‚àŒ‹�\‚Å‚·‚Ì‚Å�A�l‚¦•û‚®‚ç‚¢‚Í�‘‚¯‚é‚Å‚µ‚傤‚©‚ç�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ƒ“ƒtA�v‚Æ‚¢‚¤�¤•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”N�AŒŽ�A“ú�j�¸�‡‚Ì“ü‰×“ú�¸�‡‚ÅList‚ð�®—ñ‚µ‚Ä‚¢‚Ü‚·‚Ì‚Å
 Žg—pŠúŒÀ‚Ì”N�AŒŽ�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ŠúŒÀ‚Ì”N�AŒŽ�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ŠúŒÀ‚Ì”N�AŒŽ�A“ú‚ª•¶Žš—ñ‚©‚ðŠm”F‚µ‚ÄŒ©‚ĉº‚³‚¢

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

 •Ï�X‰Ó�Š‚Í�A�uPrivate Sub DataSort�v’†‚Ì

     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)


 ‚ñ�I�A�Ⴞ‚é‚Ü‚³‚ñ‚ÌŒ¾‚Á‚Ä‚¢‚éˆÓ–¡‚ðŽæ‚èˆá‚¦‚Ä‚¢‚é‚Ì‚©‚È�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‚ð1�s‚ɂ܂Ƃ߂Ä�j�u**/**/**�v‚̂悤‚É“ü—Í‚·‚é�l

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

 �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‚¦‚Ă܂¸‚Í“Š“ü•\‚ÌO�EP—ñ‚É�ì‹Æ—ñ‚ð�‘‚«‚¾‚·Žd‘g‚Ý‚ð�l‚¦‚Ä‚¢‚½‚̂ł·‚ª�A

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

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

    “Š“ü•\‚É�ì‹Æ—ñ�iO�EP—ñ�j‚ð�ì�¬�i�sŒ©�o‚µ‚̃Zƒ‹ˆÊ’u�j�@�©’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‚ð�X�V
                    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“ü‰×ID�j
 P—ñ=vntData(j, 3) �iŽg—p�”—Ê�j

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

 �i�Ⴞ‚é‚Ü�j

 1�A“]‹L‚·‚éƒR�[ƒh�‘‚­ˆÊ’u‚ÍŠT‚Ë‘P‚¢‚ÆŽv‚¢‚Ü‚·
 �@ˆê‰ž�A‰½�ˆ‚ʼn½‚ð�s‚Á‚Ä‚¢‚é‚©—�‰ð‚µ‚Ä‚¢‚é—l‚ÅŠæ’£‚Á‚Ă܂·‚Ë
 2�A•Ï�”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‚Ì�uPreserve�v‚Í”z—ñ‚Ì’†�g‚ðŽc‚µ‚Ä”z—ñ‚Ì—v‘f‚ðŠg’£‚·‚鎖‚ð•\‚µ‚Ä‚¢‚Ü‚·
 �@‚Ü‚½�AŠg’£‚Í�ÅŒã‚ÌŽŸŒ³(cnt)‚̈ʒu‚µ‚©‘ウ‚ç‚ê‚Ü‚¹‚ñ
 �@‚Å‚·‚©‚ç�A�¡‰ñ‚Ì�ê�‡�A�o—Í‚·‚é�u“ü‰×ID�v‚Ì�”‚ªŒˆ’肳‚ê‚Ä‚¢‚Ü‚¹‚ñ‚Ì‚Å�A”z—ñ‚ðŠg’£‚µ‚È‚ª‚ç
 �@”z—ñ‚Ì1�s–Ú‚É�u“ü‰×ID�v‚ð“]‹L�A2�s–Ú‚É�uŽg—p�”�v‚ð“]‹L‚µ�ÅŒã�o—Í‚·‚鎞‚É�s—ñ‚ð“ü‚ê‘Ö‚¦‚Ä�o—Í‚µ‚Ü‚·
 3�A�uO—ñ=vntData(j, 0) �i“ü‰×ID�j�v‚É�A‚¢‚Ä‚Í�AŠm”F‚̈×�u�ì‹Æ—p�v‚É�u“ü‰×ID�v‚ð’Š�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 Boolean�v‚É•Ï�X
 �uEnd Sub�v‚ð�uEnd Function�v‚É•Ï�X�iŽ©“®“I‚É�s‚í‚ê‚é‚©‚à�H�j
 •Ï�X‚µ‚½�uPrivate Function DrawUp(wksShip As Worksheet) As Boolean�v‚Ì’†�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Á

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

    With rngSearch                                                           '�š’ljÁ
        '�u“ü‰×ƒ}ƒXƒ^�v�X�Vƒf�[ƒ^‚Ì�s�”‚̎擾
        lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row            '�š’ljÁ
        '�X�Vƒf�[ƒ^‚Ì�Á‹Ž
        If lngRows > 0 Then '�š’ljÁ
            If MsgBox("‘O‰ñ‚Ì�X�V‚ª�s‚í‚ê‚Ä‚¢‚Ü‚¹‚ñ�A‚±‚̂܂܎À�s‚µ‚Ü‚·‚©�H", _
                    vbInformation + vbYesNo + vbDefaultButton2) = vbYes Then '�š’ljÁ
                .Offset(1).Resize(lngRows, 2).ClearContents                  '�š’ljÁ
            Else                                                             '�š’ljÁ
                '�¦ƒf�[ƒ^�X�V‚ª�s‚í‚ê‚Ä‚¢‚È‚¢�ê�‡�A–ß‚è’l‚ðTrue‚É
                DrawUp = True                                                '�š’ljÁ
                strProm = "ƒ}ƒXƒ^‚̃f�[ƒ^�X�V‚ð�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�ÝŒÉID�A�oŒÉ�ê�Š“™‚ðŠ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))
                    '�š�X�V—pƒf�[ƒ^‚Ì“]‹LˆÊ’u‚ð�X�V
                    cnt = cnt + 1                                                   '�š’ljÁ
                    '�š�X�V—pƒf�[ƒ^‚ðŠi”[‚·‚é”z—ñ‚ðŠg’£
                    ReDim Preserve sagyoGrp(1 To 2, 1 To cnt)
                    '�š�X�V—pƒf�[ƒ^”z—ñ‚É�u“ü‰×ID�v‚ð“]‹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‚Ä‚¢‚Ü‚·‚Ì‚Å�X�Vƒf�[ƒ^�Á‹Ž‚³‚ê‚Ü‚µ‚½"                    '�š’ljÁ
        rngSearch.Offset(1).Resize(cnt, 2).ClearContents                            '�š’ljÁ
    Else                                                                            '�š’ljÁ
        strProm = "�ˆ—�‚ªŠ®—¹‚µ‚Ü‚µ‚½"
        '�¦ƒf�[ƒ^�X�V‚ª�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 Variant�v‚ÆŒ¾‚¤ˆø�”‚ð’ljÁ‚µ‚Ü‚·
 ‚±‚̈ø�”‚ª�u�ì‹Æ—p�v‚©‚ç�u“ü‰×ID�v‚ðŽæ“¾‚µ‚Ä—ˆ‚Ü‚·

 ‚»‚Ì’†‚Ì�šˆó‚ð•Ï�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”N�AŒŽ�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”N�AŒŽ�A“ú�j‚ðƒV�[ƒg�o—Í
        .Offset(1, 4).Resize(lngRows, 3).Value = vntDate                        '�š’ljÁ
        '�ÝŒÉID�‡‚ÌŽg—pŠúŒÀ�i”N�AŒŽ�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“ü‰×ID�v‚ðŽæ“¾
        vntSearch = .Offset(1).Resize(lngRows + 1).Value                        '�š’ljÁ
    End With

 ˆÈ�ã

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

 Public Sub Main()

 '  �u“Š“ü•\�v�ì�¬ƒ}ƒNƒ�

    Dim wksObject As Worksheet

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

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

    Set wksObject = Nothing

 End Sub

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

 Public Sub MasterUpDate()

 '  ƒ}ƒXƒ^�X�Vƒ}ƒ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‚Ì�X�V‚·‚é—ñ�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ƒ‹ˆÊ’u�j
    Set rngList = wksShip.Range("O1")

    'Œ‹‰Ê�o—Í‚Ì�擪ƒZƒ‹ˆÊ’u‚ðŠî�€‚Æ‚·‚é�i�擪—ñ‚Ì—ñŒ©�o‚µ‚̃Zƒ‹ˆÊ’u�j
    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 & " ‚Í�X�V�ς݂ł·"
            GoTo Wayout
        End If
        'O�`P—ñƒf�[ƒ^‚ð”z—ñ‚Ɏ擾
        vntData = .Offset(1).Resize(lngRows, 2).Value
    End With

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

    '‰æ–Ê�X�V‚ð’âŽ~
    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‚̈×�A�u“ü‰×ƒ}ƒXƒ^�v‚ðA—ñ‚ðKey‚Æ‚µ‚Ä�¸�‡�®—ñ
        DataSort Intersect(.CurrentRegion, .CurrentRegion.Offset(1)), Array(0), Array(xlAscending)
    End With

    'O—ñ‚É�A‚¢‚Ä�Å�I�s‚܂Ō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�[ƒ^‚ð�X�V
            vntValue = rngResult.Offset(lngFound, clngItem).Value
            rngResult.Offset(lngFound, clngItem).Value = vntValue - vntData(i, 2)
        End If
    Next i

    '�X�Vƒ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ƒ^�X�V�ˆ—�‚ªŠ®—¹‚µ‚Ü‚µ‚½"

 Wayout:

    '‰æ–Ê�X�V‚ð�ÄŠ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‚Æ‚µ‚Ä�A�sˆÊ’u‚ð‘ã“ü
            RowSearch = vntFind
        End If
        'Key’l‚ð’´‚¦‚é�Å�¬’l‚Ì‚ ‚é�s
        lngOver = vntFind + 1
    Else
        lngOver = 1
    End If

 End Function

 ˆÈ�ã

 ‘´�X‚ÌŽÀ�s‚Í�A�uSub Main�v‚Æ�uSub MasterUpDate�v‚Å�s‚¢‚Ü‚·
 �®�A�u“ü‰×ƒ}ƒXƒ^�v‚ÌA—ñ�i“ü‰×ID�j‚ª•¶Žš—ñ‚Ì�ê�‡‚Æ�”’l‚Ì�ê�‡‚Å�uSub DataUpDate�v‚Ì’†‚Ì

         '�¦�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ƒO�v�¨�uVBAProject‚̃Rƒ“ƒpƒCƒ‹�v‚ð�s‚¢
 ƒGƒ‰�[‚ª�o‚½‚ç�A‚à‚¤ˆê“xŠm”F‚µ�C�³�A
 �Ä“x�uVBAProject‚̃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 DataSort�v’†‚Ì‚Å
 �uDataOption:=xlSortTextAsNumbers '�š•Ï�X�v‚Æ‚µ‚ĉº‚³‚¢‚ÆŒ¾‚¢‚Ü‚µ‚½‚ª
 �uDataOption:=xlSortNormal�v‚É–ß‚µ‚Ä’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 

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

 ‚·‚邯�¡“x‚Í
 Public Sub Main()
 �@�@If DrawUp(wksObject) Then
 ‚±‚ê‚Ì�uDrawUp�v‚Å�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


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

 ‚±‚Ì�uDrawUp�v‚ĉ½‚©‰ð‚è‚Ü‚·‚©�H

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

 ‚µ‚Ä�Ý‚è‚Ü‚·
 ‚±‚±‚Å‚µ‚½‚¢Ž–‚Í�A�uPublic Sub Sample_3()�v‚ÆŒ¾‚¤ƒOƒ��[ƒoƒ‹�i‚ǂ̃‚ƒWƒ…�[ƒ‹‚©‚ç‚àŽQ�Ɖ”\�j‚Å
 ˆø�”‚ðŽ�‚½‚È‚¢Subƒvƒ�ƒV�[ƒWƒƒ‚ð�uPrivate Function DrawUp(wksShip As Worksheet) As Boolean�v‚ÆŒ¾‚¤
 ƒ‚ƒ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‚Ü‚è�A�uPrivate Function DrawUp(wksShip As Worksheet) As Boolean�v‚Í�ADrawUpŠÖ�”‚͈ø�”‚É
 ƒ��[ƒNƒV�[ƒgŒ^‚Ì•Ï�”wksShip‚ðŽ�‚¿�ABooleanŒ^‚Ì–ß‚è’l‚ð•Ô‚µ‚Ü‚·
 ˆø�”wksShip‚Ƀ��[ƒNƒV�[ƒgŽ�‚½‚¹�Ÿ‚ê‚ðŒÄ‚Ñ�o‚·‚Æ“à•”‚Å‚Í�A�F�X‚È�ˆ—�‚ð�s‚¢Œ‹‰Ê‚Æ‚µ‚ÄŠÖ�”–¼DrawUp‚É
 TrueŽá‚µ‚­‚ÍFalse‚ð–ß‚è’l‚Æ‚µ‚ĕԂµ‚Ü‚·
 ‚±‚Ì–ß‚è’l‚ð•Ô‚·‘€�삪�uDrawUp = True�v‚Å‚·
 �Ÿ�ˆ‚Å�A�u”z—ñ‚ɂ͊„‚è“–‚Ä‚ç‚ê‚Ü‚¹‚ñ�v‚Æ�o‚Ä‚­‚é‚Ì‚Í�AFunction‚Ì’è‹`‚Å–ß‚è’l‚ÌŒ^‚ðŽw’肵‚Ä‚¢‚é
 �u) As Boolean�v‚ªˆá‚Á‚Ä‚¢‚é‚Ì‚ªŒ´ˆö‚¾‚ÆŽv‚¢‚Ü‚·

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

 ‚Æ�‘‚¢‚Ä—L‚è‚Ü‚·‚ªˆø�”‚ÌŒ^Žw’è�u) As Boolean�v‚ÌŒã‚ë‚É�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

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

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

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

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

 “e‚ÉŠp�A�uPrivate Function DrawUp(wksShip As Worksheet) As Boolean�v‚Æ‚µ‚Ä�A
 �uDim vntDate As Variant�@ ‚ð’ljÁ‚µ‚Ü‚µ‚½�B�vˆÈŠO‚ÌŽwަŠO‚Ì•Ï�X‚ð–ß‚µ‚ĉº‚³‚¢

 (Bun)


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

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

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

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

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

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

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

 �i�Ⴞ‚é‚Ü�j

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

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

 ‘´�ˆ‚Å‘æ2ˆÄ•û‚ð‚¨Š©‚ß‚µ‚Ü‚·
 ‚±‚Ì�ê�‡‚Ì•Ï�X“_‚Í�A
 1�A�u�ì‹Æ—p�vƒV�[ƒg‚ɃtƒB�[ƒ‹ƒh‚ð’ljÁ‚µ‚Ü‚·�A�ê�Š‚Í�AO1ƒZƒ‹‚Å‚·
 �@D1‚É�Ý‚é�u“ü‰×ŽÀ�”�v‚ðO1ƒZƒ‹‚ÉCopy‚µ‚ĉº‚³‚¢
 2�AƒR�[ƒh‚ð•Ï�X‚µ‚Ü‚·•Ï�X‚·‚é‚Ì‚Í�uFunction GetData�v‚É�¬‚è‚Ü‚·
 �@ˆê‰ž�A�uFunction GetData�v‚Ì‘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”N�AŒŽ�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”N�AŒŽ�A“ú�j‚ðƒV�[ƒg�o—Í
        .Offset(1, 4).Resize(lngRows, 3).Value = vntDate                        '�š’ljÁ
        '�ÝŒÉID�‡‚ÌŽg—pŠúŒÀ�i”N�AŒŽ�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“ü‰×ID�v‚ðŽæ“¾
        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�[ƒ^‚Ì�X�V�ó‘Ô“™‚ð—Ç‚­Šm”F‚µ‚Ä
 –{”Ԃ̉^—p‚É‹Ÿ‚µ‚ĉº‚³‚¢‚Ë

 (Bun)

ƒRƒ�ƒ“ƒg•Ô�M�F

[ ˆê——(�Å�V�X�V�‡) ]


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