エクセル | の学校 |
8.一覧 | 9.HOME |
1.Top | 2.Last |
『チェックボックスで計算式?』(さとみ)
下記の様な表がSheet1にあります。 基本 A手当 B手当 C手当 D手当 E手当 1 500 0 300 200 0 100 2 200 100 0 150 200 200 3 1200 0 0 0 100 120 4 300 50 500 0 0 0
やりたい事は、Sheet2に基本、A手当、B手当、C手当、D手当、E手当それぞれのチェックボックスを作成し チェックが入った項目の合計をSheet2のA1セルに表示したいです。 例えば、基本とB手当にチェックが入ってる場合は、A1に3000としたいです。 よろしくお願いいたします。
< 使用 Excel:Excel2010、使用 OS:Windows10 >
下の式で求まります。
=SUMPRODUCT((A2:F5)*(A6:F6)) (メジロ) 2024/04/23(火) 10:54:54
|[A] |[B] |[C] |[D] |[E] |[F] |[G] [1]|3000 |☑基本|☐A手当|☑B手当|☐C手当|☐D手当|☐E手当 [2]| |2200 | |800 | | |
|[A] |[B] |[C] |[D] |[E] |[F] |[G] [1]|800 |☐基本|☑A手当|☐B手当|☑C手当|☑D手当|☐E手当 [2]| | |150 | |350 |300 |
チェックボックスはこんな感じでしょうか。 チェックボックスは二種類ありますけど、どちらでしょうか。
(IT) 2024/04/23(火) 14:17:21
ワークシート上ではフォームコントロールのほうが扱いやすいのでは
(メジロ) 2024/04/23(火) 16:06:24
'標準モジュール 最初に実行してください Sub main() Dim sp As Shape, c As Range Sheets("Sheet2").Cells.Delete For Each sp In Sheets("Sheet2").Shapes sp.Delete Next sp For Each c In Sheets("Sheet1").Rows(1).SpecialCells(2) Set obj = Sheets("Sheet2").OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, DisplayAsIcon:=False, _ Left:=c.Offset(, 1).Left, Top:=c.Top, Width:=50, Height:=25) Sheets("Sheet2").OLEObjects(obj.Name).Object.Caption = c.Value Next c Sheets("Sheet1").Activate Sheets("Sheet2").Activate End Sub
'クラスモジュール(Class1) Private WithEvents チェック As MSForms.CheckBox Public Sub 起動(ByVal c As MSForms.CheckBox) Set チェック = c End Sub Private Sub チェック_change() Dim tot, ck As Object, r As Range For Each ck In Sheets("Sheet2").OLEObjects Set r = Sheets("Sheet1").Rows(1).Find(ck.Object.Caption, , , xlWhole) If Not r Is Nothing Then If ck.Object.Value = True Then tot = tot + WorksheetFunction.Sum(r.EntireColumn) End If End If Next ck Sheets("Sheet2").Range("A1").Value = tot End Sub
'Sheet2のシートモジュール Private チェックボックス() As New Class1 Private Sub Worksheet_Activate() Dim ck As Object, i As Integer For Each ck In ActiveSheet.OLEObjects ReDim Preserve チェックボックス(i) チェックボックス(i).起動 Sheets("Sheet2").OLEObjects(ck.Name).Object i = i + 1 Next ck End Sub
(mm) 2024/04/23(火) 16:35:58
(IT) 2024/04/23(火) 18:00:07
てっきり質問者さんと思いました (メジロ) 2024/04/24(水) 10:08:52
(メグロ) 2024/04/25(木) 15:37:18
]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.