[[20200511091728]] 『チェックボックスからデータ反映について』(まきりん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『チェックボックスからデータ反映について』(まきりん)

庶務関連の発注作業でEXCELを使用しています。

今までアナログでやってきているため、今さらですが
EXCEL関数やVBA勉強中となります。

A列に品名が50ほど記載があります。
今までそこから発注商品を探し、をAA列にコピーするよう口伝伝承していました。

1つ2つの発注であればいいのですが、増えるとよくコピー間違いが起こっています。

1.そこで、A列の商品名をB列に移動させる
2.空いたA列にチェックボックスを作成する
3.A列のチェックボックスにチェック入れた商品をAA列に表示させる
※このうち、3をどう作成したらいいのか、分かりません。

A列のチェックボックスにチェックする。
AA列に表示させるのは恐らくセル指定することでできそうなのですが。。

例えばクロムをレ点した場合、セルAA3にクロムと表示させるのではなく
AA1に表示できないか。
チェック 商品名        発注明細 

  A    B    C     AA
1 □   鉄          クロム
2 □   亜鉛
3 レ   クロム
 
関数とかでなく、マクロとかの方が、実現可能なのでしょうか?

< 使用 Excel:Excel2010、使用 OS:Windows10 >


追記

ちょっと稚拙かもしれませんが、下記のように少し進みました。

Sub Macro3()
'
' Macro3 Macro
'
A列をレ点した場合、D列に"TRUE"を表示させるようにリンク設定する
E列にD列がTRUEであれば、商品名を表示するように関数を設定する

下記マクロで値貼り付け+空白セルを無視するにすると、どうやらコピーできそうです。
'

    Range("E1:E50").Select
    Selection.Copy
    Range("AA1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=True, Transpose:=False
    Application.CutCopyMode = False
    Range("A1").Select
End Sub

その中で、もう1つ表の作りになっています。
このコピーでもいいのですが、貼り付けた際、毎回過去月のデータも入ってきます。
セルの上部に当月の表示を作成するとして、そこから当月だけのデータを
AA列に貼り付けることは可能でしょうか。

表イメージ
4月
チェック 商品名        発注明細 

  A    B    C     AA
1 □   鉄          クロム
2 □   亜鉛
3 レ   クロム
・
・
・
5月
チェック 商品名        発注明細 
  A    B    C     AA
1 □   鉄          亜鉛
2 レ   亜鉛
3 □   クロム
・
・
・
6月
チェック 商品名        発注明細 
  A    B    C     AA
1 レ   鉄          鉄
2 □   亜鉛         クロム
3 レ   クロム

すいませんが、ご教授お願いします。
(まきりん) 2020/05/11(月) 11:02


 1.A列にフォームコントロールのチェックボックスを1つだけ配置。
  (この時、図形枠の左上がセル枠からはみ出ないようにする)

 2.下記コードを標準モジュールにコピペ。

 3.配置したチェックボックスを右クリックして「マクロの登録」から「sample」を選択して「OK」

 4.チェックボックスを配置したセルを必要数分A列にコピペ。

 '**以下コピペ用コード
 Sub sample()
    Dim Cb As Excel.CheckBox
    Dim dArea As Range
    Dim Rng As Range
    With ActiveSheet
        '発注明細データを一旦削除
        Set dArea = .Range("AA1", .Range("AA" & .Rows.Count).End(xlUp))
        For Each Rng In dArea
            If Rng.Value <> "発注明細" Then Rng.ClearContents
        Next Rng
        'チェックボックスの内容転記
        For Each Cb In .CheckBoxes
            If Cb.Value = xlOn Then .Range("AA" & Cb.TopLeftCell.Row).End(xlUp).Offset(1).Value = Cb.TopLeftCell.Offset(, 1).Value
        Next Cb
    End With
 End Sub
(助六) 2020/05/11(月) 13:44

 >2.空いたA列にチェックボックスを作成する

 A列のチェックボックスを設置するセル位置を教えてください。
 例. A2〜A50

 知らせてくれればマクロで設置します。

 >3.A列のチェックボックスにチェック入れた商品をAA列に表示させる 

 チェックボックスをマクロで設置後知らせます。

(ピンク) 2020/05/11(月) 19:39


     |  [A]   |  [B]   |    [AA]    
 [1] |チェック|商品名  |  発注明細
 [2] |  ☑    |鉄      |   鉄      
 [3] |  ☑    |亜鉛    |   亜鉛    
 [4] |  ☐    |クロム  |   銅      
 [5] |  ☐    |ニッケル|   真鍮    
 [6] |  ☐    |錫      |         
 [7] |  ☑    |銅      |
 [8] |  ☑    |真鍮    |
 [9] |  ☐    |        |
 [10]|  ☐    |        |
 [11]|  ☐    |        |        

(ピンク) 2020/05/11(月) 20:00


コメント返信:

[ 一覧(最新更新順) ]


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