[[20140211175927]]@wƒGƒNƒZƒ‹‚ŃQ[ƒ€‚ðì‚肽‚¢‚Ì‚Å‚·Bxi‰SŽÒj@ƒy[ƒW‚ÌÅŒã‚É”ò‚Ô

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

@

wƒGƒNƒZƒ‹‚ŃQ[ƒ€‚ðì‚肽‚¢‚Ì‚Å‚·Bxi‰SŽÒj

      D  E F G H I J

@@@
4@@@@@œœœ
5@@@@@œœœ
6@@œœœœœœœ
7@@œœœ@ œœœ
8@@œœœœœœœ
9@@@@@œœœ
10 @ @ @œœœ

@ƒGƒNƒZƒ‹‚ŃQ[ƒ€‚ðì‚肽‚¢‚Ì‚Å‚·‚ª
‚f5‚ð‚f‚V‚Ƀhƒ‰ƒbƒO‚·‚é‚ÆA‚f5A‚f6‚ª‹ó”’‚Å‚f7‚ª•
‚d6‚ð‚f6‚Ƀhƒ‰ƒbƒO‚·‚é‚ÆA‚d6A‚e6‚ª‹ó”’‚Å‚f6‚ª”’‚É‚È‚é‚悤‚É‚µA‡ŽŸ@@@@@•‚ð1‚Œׂ¢‚Å‹ó”’‚És‚«ÅŒã‚É‚f7‚Ì‚ÝŽc‚é‚悤‚ȃQ[ƒ€‚ðƒGƒNƒZƒ‹‚ł‚­‚è@@@@@‚½‚¢‚Ì‚Å‚·‚ªA‚Ç‚È‚½‚©‚²‹³ŽöŠè‚¢‚Ü‚·B
¦c‰¡‚µ‚©ˆÚ“®‚Å‚«‚Ü‚¹‚ñ
¦“¯‚¶ƒ}ƒX‚ª‰½‰ñ‚à•‚É‚È‚è‚Ü‚·

ƒ Žg—p ExcelFExcel2007AŽg—p OSFWindows7 „


 ‹»–¡–{ˆÊ‚Ì‚½‚½‚«‘ä‚Ü‚ÅB
 ƒV[ƒgƒ‚ƒWƒ…[ƒ‹‚É’u‚«AG7 ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚ŃXƒ^[ƒgB

 Const C_OFF = 2
 Const C_ON = 16

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Address = "$G$7" Then
        If MsgBox("ƒQ[ƒ€‚ðƒŠƒZƒbƒg‚µ‚Ü‚·‚©H", vbYesNo) = vbNo Then Exit Sub
        Cells.Clear
        Columns("D:J").ColumnWidth = 2
        Range("F4:H10").Interior.ColorIndex = C_ON
        Range("F4:H10").Borders.Weight = xlThin
        Range("D6:J8").Interior.ColorIndex = C_ON
        Range("D6:J8").Borders.Weight = xlThin
        Range("G7").Interior.ColorIndex = C_OFF
    End If
 End Sub

 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Columns.Count = 1 And Target.Rows.Count = 1 Then
        Exit Sub
    End If
    If Target.Columns.Count > 1 And Target.Rows.Count > 1 Then
        ActiveCell.Select
        Exit Sub
    End If

    Dim dstCell As Range
    If ActiveCell.Interior.ColorIndex = C_OFF Then
        ActiveCell.Select
        Exit Sub
    End If

    If Target.Columns.Count > 1 Then
        If Target.Cells(1, 1).Column = ActiveCell.Column Then
            Set dstCell = Target.Cells(1, Target.Cells.Columns.Count)
        Else
            Set dstCell = Target.Cells(1, 1)
        End If
    Else
        If Target.Cells(1, 1).Row = ActiveCell.Row Then
            Set dstCell = Target.Cells(Target.Rows.Count, 1)
        Else
            Set dstCell = Target.Cells(1, 1)
        End If
    End If

    If dstCell.Interior.ColorIndex = C_ON Then
        ActiveCell.Select
        Exit Sub
    End If

    If Intersect(dstCell, Range("F4:H10,D6:J8")) Is Nothing Then
        ActiveCell.Select
        Exit Sub
    End If

    Dim r As Range
    Dim cnt As Long
    For Each r In Target
        If r.AddressLocal <> dstCell.AddressLocal Then
            cnt = cnt + 1
            If r.Interior.ColorIndex = C_OFF Or cnt = 3 Then
                ActiveCell.Select
                Exit Sub
            End If
        End If
    Next

    If cnt <= 1 Then
        ActiveCell.Select
        Exit Sub
    End If

    For Each r In Target
        If r.AddressLocal <> dstCell.AddressLocal Then
            r.Interior.ColorIndex = C_OFF
        Else
            r.Interior.ColorIndex = C_ON
        End If
    Next

    If checkCount() = 1 Then MsgBox "You Win!!"
 End Sub

 Private Function checkCount()
    For Each r In Range("D4:J10")
        If r.Interior.ColorIndex = C_ON Then checkCount = checkCount + 1
    Next
 End Function

iMookj 2014/02/11(‰Î) 19:23


Mook‚³‚ñ—L“‚²‚´‚¢‚Ü‚µ‚½Bœ‚Å‚Í‚Å‚«‚È‚¢‚Å‚µ‚傤‚©H
i‰SŽÒj 2014/02/11(‰Î) 21:42

 o—ˆ‚é‚ÆŽv‚¢‚Ü‚·‚ªA
 > ‹»–¡–{ˆÊ‚Ì‚½‚½‚«‘ä‚Ü‚ÅB
 ‚È‚Ì‚ÅAׂ©‚¢C³‚Í‚²Ž©g‚Å‚¨Šè‚¢‚µ‚Ü‚·B

 “½–¼‚Å‚È‚¢ƒnƒ“ƒhƒ‹‚ð—˜—p‚¢‚½‚¾‚¢‚Ä‚¢‚ê‚ÎA‚à‚¤­‚µ‘Ήž‚̈ӗ~‚à•Ï‚í‚Á‚½‚©‚à‚µ‚ê‚Ü
 ‚¹‚ñ‚ªEEEB
iMookj 2014/02/11(‰Î) 23:00

 ŽŽ‚µ‚Ä‚¢‚Ü‚¹‚ñ‚ªA‘½•ª
 .Interior.ColorIndex  ‚ð@ .Value@ ‚É
 擪‚Ì錾‚ð
  Const C_OFF = ""
  Const C_ON = "œ"
 ‚É•Ï‚¦‚½‚ç‚Å‚«‚È‚¢‚©‚ÈH
iMookj 2014/02/11(‰Î) 23:09

ƒRƒƒ“ƒg•ÔMF

[ ˆê——(ÅVXV‡) ]


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