社内システムの自作なら、すず工房へ!!
エクセル仕事術などでIT経営を支援します
  • Home
  • エクセル仕事術
  • クラウド生産管理
  • サービス案内
  • つぶやきました
  • お問合せ
  • すず工房
  • 名刺

ワークシートのセルに特定のデータを入力する

2011年8月05日

~入力規則の設定とマクロの記録~

ワークシートのセルに特定のデータを入力したいことが良くあります。

たとえば、会員名、取引先会社名、住所のうちの県名や市名、町名など。あらかじめ用意しておいてリストから選択して入力出来れば簡単になります。


こんなとき[入力規則]を使えばいいことはみなさん知っていると思います。

■入力規則の設定は以下のようにすればできます。

[データ]-[データの入力規則]-[データの入力規則]を押します。

次の画面で、[入力値の種類]から[リスト]を選択。

[元の値]の右側のアイコンをクリックして、シート上に予め作っておいた入力値リストの範囲をドラッグして指定します。

次に[OK]を押せば完了です。

Excel2010までは(2007は使ってませんのでわかりませんが、Excel2003までは)、入力規則の元になるリストとして別のシートにあるものを使うのはひと苦労でした。

Excel2010からはどこのシートでも同じように簡単にできるようになりました。

こんどは、マクロVBAからこれを設定する方法について解説します。

Excelのシート上での操作をマクロでやりたいとき、いちどその操作を[マクロの記録]でやってみて、Excelがどんなマクロコードを生成するか確認してみると、自分でプログラムを作成するときの参考になります。

[マクロの記録]では、シート上での操作をマクロプログラムに落とすので、そのプログラムは、特定のシートであったり、特定のセルに対する操作に限定されたものになります。

しかし、少しの修正で汎用性のあるプログラムに改良することができることもあります

ではやってみましょう。

■まず、[開発]-[マクロの記録]を押します。

すると。次の画面が表示されます。


通常はそのまま[OK]を押します。


次に入力規則の設定操作を行います。すでに説明した入力規則の設定操作をしてください。

操作が終了したら[記録終了]を押してください。

■生成されたマクロプログラムを見てみましょう。

[開発]-[VisualBasic]を押し、

マクロの記録画面で[マクロ名]に記載されていたマクロ名(上の例では「Macro2」)のプロシージャを探します。

左側ペインの、いま開いているワークブックの下の[標準モジュール]の下の[Module1](数字の部分は、環境により異なります)をダブルクリックし、右側ペインから、[マクロ名が[Macro2]の場合、[sub Macro2()]を探してください。

Sub Macro2()

' Macro2 Macro

'

  With Selection.Validation

        .Delete

        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _

        xlBetween, Formula1:="=Sheet2!$E$2:$E$6"

        .IgnoreBlank = True

        .InCellDropdown = True

        .InputTitle = ""

        .ErrorTitle = ""

        .InputMessage = ""

        .ErrorMessage = ""

        .IMEMode = xlIMEModeNoControl

        .ShowInput = True

        .ShowError = True

    End With

End Sub

このマクロプロク[ラムでは、Selection とSheet2!$E$2:$E$6 の部分が特定のセル範囲を指しています。

これを個別に指定できるようにプログラムを変更したものが、次のリストです。

Public Sub set_Input_Rule(trgtCell As Range, wrksht As Worksheet, ruleRange As Variant)

     'trgtCell  : 入力規則を設定するセル

    'wrksht    : 入力規則の元になるリストがあるワークシート

    'ruleRange : 入力規則の元になるリストの範囲名

 

    With trgtCell.Validation '← 変更箇所[1]

        .Delete

        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _

            Operator:=xlBetween, _

            Formula1:="=" & wrksht.Name & "!" & ruleRange '← 変更箇所[2]

        .IgnoreBlank = True

        .InCellDropdown = True

        .InputTitle = ""

        .ErrorTitle = ""

        .InputMessage = ""

        .ErrorMessage = ""

        .IMEMode = xlIMEModeNoControl

        .ShowInput = True

        .ShowError = True

    End With

 End Sub

またこのプロシージャをセル範囲を指定して呼び出すプロシージャが、次のリストです。

Public Sub set_rule()

    Call set_Input_Rule(ActiveCell, Worksheets("Sheet2"), "E2:E6")

 End Sub

この例では固定セル・シートをプロシージャに渡していますが、任意のセルやシートに変更するのは容易にできるでしょう。

マクロの記録は非常に応用のきくやり方です。ぜひこれを覚えて、いつも同じ手順で操作する定型業務をボタン一発で実行できるマクロをつくりましょう。仕事の効率が格段にアップしますよ。

なお、マクロをボタンに割り当てる方法は別の記事で解説したいと思います。

  • 仕事に生かすExcel
  • マクロ・VBA
    • Excel2013のSDIへの対応
    • WEBからデータをVBAで取込む
    • 選択したセル範囲を取出すには
    • 消費税率を読込むDLL
    • インターネット上のサイトのデータを読み込む
    • 右ボタンでのMouseDownイベントには要注意
    • CSVファイルを読みこむ(Excel)
    • テキストファイル読込速度比較
    • 進行表示の3つの方法
    • IsDate関数はおかしい‥
    • 別のワークブックのデータを読み込む
    • 2 つの指定した日付の時間間隔と満年齢
    • ワークシートのセルに特定のデータを入力する
    • CSVファイルからデータを取り出す
    • ワークシートからデータを取得する
    • ワークシートにデータをセットする
    • 特定のセル範囲からデータを探す方法を比較する
  • Excelの操作

コンタクト

メール
メール
FaceBook
FaceBook

つぶやきました

見える生産管理2022

2022年 10月 31日 月

久しぶりの投稿になってしまいましたが、「見える生産管理2022」を試用できるようになりました。「クラウド生産管理」メニュからご覧ください。

0 コメント

Webデータベース利用の生産管理

2019年 7月 22日 月

いままでExcel(R)を活用した生産管理システムを構築したり構築支援したりしてきましたが、もっと簡単に生産管理を開始できないかと考え、Webに登場してきたデータベースを利用して生産管理できるシステムを考えました。

 

続きを読む 0 コメント

iPadのSIM

2018年 11月 16日 金

iPad Pro 12.9を外出時の仕事用に使っていたが、自宅のMACにリモートアクセスするのがベストに近いかもと気づき、4G回線経由だがやってみた。

しかしこれがかなり遅い。SIMは前の機種で使ってたイオンモバイルのやつ。これが原因かもと思い、一番早いと噂のUQ  Mobileに変えてみた。体感的にはちょっと早いかなという感じ。これからじっくり検証していこうと思う。

 

インターネット接続の設定でつまづいたので以下に備忘録として残しておく。

 

 

続きを読む
プライバシーポリシー | サイトマップ
Copyright © 2002- すず工房. All Rights Reserved.
ログアウト | 編集
  • Home
  • エクセル仕事術
    • 仕事に生かすExcel
      • Excelでできること
      • ExcelからSQLiteを使う理由
    • マクロ・VBA
      • Excel2013のSDIへの対応
      • WEBからデータをVBAで取込む
      • 選択したセル範囲を取出すには
      • 消費税率を読込むDLL
      • インターネット上のサイトのデータを読み込む
      • 右ボタンでのMouseDownイベントには要注意
      • CSVファイルを読みこむ(Excel)
      • テキストファイル読込速度比較
      • 進行表示の3つの方法
      • IsDate関数はおかしい‥
      • 別のワークブックのデータを読み込む
      • 2 つの指定した日付の時間間隔と満年齢
      • ワークシートのセルに特定のデータを入力する
      • CSVファイルからデータを取り出す
      • ワークシートからデータを取得する
      • ワークシートにデータをセットする
      • 特定のセル範囲からデータを探す方法を比較する
    • Excelの操作
      • ふりがなをつける
      • 行・列を固定してスクロール
      • 他のシートのデータを表示する-カメラ機能
      • 文章を指定範囲に収まるように整形する
  • クラウド生産管理
    • 見える生産管理2022
    • 見える生産管理K(簡易版)
    • 試用申込み
  • サービス案内
    • IT経営
  • つぶやきました
    • MAC
    • IT
    • その他
    • 年月別
      • 2022/10
      • 2019/07
      • 2016/07
      • 2016/04
      • 2015/11
      • 2015/10
      • 2015/08
      • 2015/07
      • 2015/06
      • 2015/03
      • 2015/02
      • 2014/12
      • 2014/03
      • 2013/09
      • 2012/11
      • 2012/09
      • 2010/09
      • 2010/08
      • 2010/07
      • 2010/06
      • 2010/03
      • 2010/02
      • 2009/05
      • 2009/04
  • お問合せ
  • すず工房
    • 企業理念
    • 主な資格
    • 実績
  • 名刺
  • トップへ戻る