[ ‰‚ß‚Ä‚Ì•û‚Ö | ˆê——(Å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
>ƒ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)
[ ˆê——(ÅVXV‡) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.