No.0972 ボタンを縦に並べて押したボタンの行を取得する

コレ職場の人に見つかるとばれるな。まぁいいや。もっと良い方法があれば教えてチョウダイ。

まずこんな感じのモノを作れるの前提で

f:id:elve:20161022012720p:plain

このA列のボタンを押したらその行とかが返ってくると良いな的な話です。
マクロ使います。
ボタンを一個作って、マクロ作って、ボタンに登録してからボタンをコピペして並べるのが良いかも。

条件付き書式

ついでにボタンを押したらその行の色が変わるようにします
f:id:elve:20161022012933p:plain

マクロ

Sub ボタン1_Click()
'A列クリア
Range("A4:A13").Clear
'ボタン位置取得
Set ボタン位置 = ActiveSheet.Shapes(Application.Caller).TopLeftCell
'押したボタンの下に1入力
ボタン位置.Value = 1
'ボタンの行=選択行
選択行 = ボタン位置.Row
'B:D列入力チェック(3つまとめて)
Set 項目 = Range(ボタン位置.Offset(0, 1), ボタン位置.Offset(0, 3))
If WorksheetFunction.CountA(項目) = 0 Then
 '入力なし
項目1 = "入力がありません"
項目2 = "入力がありません"
項目3 = "入力がありません"
Else
 '入力有り
項目1 = ボタン位置.Offset(0, 1).Value
項目2 = ボタン位置.Offset(0, 2).Value
項目3 = ボタン位置.Offset(0, 3).Value
End If
'選択行
MsgBox ("選択行: " & 選択行 & vbCrLf & _
"項目1: " & 項目1 & vbCrLf & _
"項目2: " & 項目2 & vbCrLf & _
"項目3: " & 項目3)
End Sub

実行結果

f:id:elve:20161022015253p:plain

どのくらい面白かった?

星を押して送信してね

平均 0 / 5. Vote count: 0

是非フォローしてください

最新の情報をお伝えします

1件のコメント

  • ちと修正した

elve へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です