• ベストアンサー

Excelでのセル操作について

お世話になります。 以下の2点について、ご教授願います。 【(1)】 エクセルのシート上でセル(A1)をリストにし1~3という数字を選択できるようにしています。 そこで、1を選択した際にはB列を非表示、2を選択した際にはC列を非表示、3の場合はD というようなマクロは組めるのでしょうか? 【(2)】 セル(A1:Z46)をダブルクリックした際に"○"を入力し、 すでに"○"が入力されている場合は空白にする というマクロを組みたいと思っています。  ⇒○を入力する、までは正常にいけたのですが、○が入ってる場合は空白にがうまくいきません。 以上の2点になります、宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

(1) Private Sub Worksheet_Change(ByVal Target As Range)   If Target.Address <> "$A$1" Then Exit Sub   Columns("B:D").EntireColumn.Hidden = False   Select Case Target.Value     Case 1: Columns("B").EntireColumn.Hidden = True     Case 2: Columns("C").EntireColumn.Hidden = True     Case 3: Columns("D").EntireColumn.Hidden = True   End Select End Sub (2) Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)   If Intersect(Target, Range("A1:Z46")) Is Nothing Then Exit Sub   Target.Value = Mid$("○", (Target.Value = "") + 2)   Cancel = True End Sub

SERA8656
質問者

お礼

お礼が遅くなってしまい大変申し訳ございません。 思っていたとおりの動作で大変助かりました。 ありがとうございました

関連するQ&A

  • セルに自動で文字を入力するには(オフィス2000)

    セルへの文字入力について質問があります。 セルに、入力規則のリストで入力を行っています。 リストが参照しているセルは、IF関数を使用して、○か空欄の表示判定を行っています。(セルは隠している) 入力項目が大量にあるため、ドロップダウンリストでは効率が あまりよろしくありません。   A   B  C 1 アイス    ○ 2 かき 3 なし     ○ ↓ 100         B列はあくまでチェックを行いたいので、手動で選択しなければ なりません。(○がある場合は空欄のときは入力不可を示しています。) マクロでの、ダブルクリックで文字が入力できる項目などもみたのですが、マクロのイメージに合うような物が見つけられませんでした。 (マクロも記録をつなげるぐらいなのですが・・・) このような処理をしている場合は、やはりドロップダウンリストを 使用するしかないのでしょうか? よろしくお願いいたします。

  • Excel 空白セルのコピペについて

    http://imgur.com/5e8TsP1 上記図のように、シート1のB列に各文字を入力しています。 そして、A列にはもしB列に文字が入力されていたらID代わりの数値を表示する、という式を入力してあります。 次に、シート1のA列、B列をコピーして、シート2に数値としてペーストをします。 すると、A列は空白のはずが、xldown操作をすると元のセルで式が入力されていたものまで選んでしまい、真の空白セルとして認識してくれません。 そこで、このような例の場合、どうコピーペースト、または選択をすれば偽物の空白 セルを生み出さないように出来るでしょうか? 実際に使用するデータは項目名が多く存在し、マクロですべてのセルを選択→新規ブックを作成してそこにペースト、という処理を行っています。 この時に偽物の空白セルが出ると、データベースに読みこむ際に不都合が生じますので、何とか改善を図りたいです。 VBA、関数、Excel上のテクニックのいずれでも構いませんので、どうかご教授下さい。 よろしくお願いいたします。

  • ある操作後に自動的にセルに斜線を入れるには?

    Excelで、管理表、対応表という2つのシートを作成していますが、T列に処理という欄を設けて、ここに入力規制のリストで○か×かを選択するようにしているのですが、ここの処理のある行のセルに○が入ると、その行にあるM列からU列までのセルに斜線もしくは-が、自動的に入るようにしたいのですが、マクロ処理でできますでしょうか?できるのであれば、教えて下さい。

  • Excelでマクロを使用して、列を表示させる質問です。

    Excle2003での質問です。 C3セルからAE78セルまでにデータが入力されています。 C列には項目名・3行には氏名が並んでいます。 D4セルからAE78セルには、 各人に対応する項目に○や△等が記入されています。 (空白セルもあります) A1セルに氏名を記入して(3行目のリストから選択して)、 マクロを実行させると、 1.氏名を一致する氏名の列のみを表示して、 2.オートフィルタで空白以外の行を表示する。 (ただしC列の項目名は表示されたまま) このようなマクロを組みたいのですが、 初心者の私ではまったく分かりませんでした。 どなたかご教授いただけたらと思います。 よろしくお願いいたしますm(_ _)m

  • エクセルで計算式の入力されているセルに直接入力もしたい

    エクセル2000での質問です。以下はセルA1,A2,A3を使った例です。 1.A1は以下の定められた単価のプルダウンリストがあり、選択します。    「空白」    「1000」    「2000」    「3000」 2.A2は個数を直接入力します。 3.A3セルに =A1*A2 と計算式を入力しています。 これでA3には合計金額が表示されますが、ここからが質問で私のしたいことです。 A1セルで「空白」が選択されている場合、A3セルに一式の金額として合計金額を直接入力したいのですが、直接入力をした時点でA3セルの計算式は消えてしまいます。しかし、A1セルの「空白」を「1000」に変更したと同時に、A3セルの計算式が復活して計算結果を表示する。 マクロを使わない方法でこのような方法を実現することは不可能でしょうか? 質問にA3セルの計算式が復活、と書いていますが、実際は計算式をセルに入力するのではなく、見えないところ(入力規則のような機能)に登録しておくといった方法があるかどうかになると思います。 以上、方法がありましたら回答よろしくお願いします。

  • (MS-Excel)「入力規則」で「リスト」に空白セルを含めない方法

    (MS-Excel)「入力規則」で「リスト」に空白セルを含めない方法 たとえば、A1,B1,D1,G1は何らかの文字列が入力されていて、C1,E1,F1が空白セルだとします。 「入力規則」の「リスト」で、「元の値」にA1:G1を指定した場合は、空白もリストされてしまいます。 空白を表示させたくないのですが、作業セルに空白以外をリストさせて元の値とする、という方法は使いたくないです。 調べたところ、名前の定義方法で実現できるみたいですが、良く解りませんでした。

  • エクセルで入力済みのセルのみ見つけて・・

    エクセルで入力済みのセルだけを見つけ出して、 指定した場所に並べる作業をマクロで1発で出来るようにしたいのですが、その方法を教えてください。 シートが37シートあります。(sheetA1~sheetA12,sheetB1~sheetB12,sheetC1~sheetC12,sheet37) それぞれセルC5からC20まで数値が入っていますが、 最終行はC20とは限りません。(sheet37はまとめるためのシートで空白) C15が最終行の場合もあれば、C18が最終行の場合もあります。 各シートそれぞれ最終行が違います。(列は同じですスタートもC5です) 各シートのC列の入力済みのセルの数値をsheet37のB1セルから順番に縦に並べたいのです。 A,B,Cのシート順にC列に入力された数値を縦に並べます。 空白は無しで詰めて並べます。 これを1回の作業でできるマクロを教えてください。 それから入力済みの最終行を見つけ出すマクロの部分を表示して頂けるとありがたいです。 宜しくお願いします。

  • Excel(セルの結合マクロ)

    いつもお世話になっております。 Excelのマクロで、選択範囲の中で、下のセルが空白のものは、上のセルと結合されるマクロを作りたいと考えています。 (例1:A1セルに”TEST”が入力されており、A2,A3セルが空白として、A1:A3を選択し、マクロを実行するとA1からA3がセル結合される  例2:A1に”TEST2”B2に"TEST3"が入力されており、A1:B3を選択すると、A1からA3が結合され、B2とB3も結合される) 説明が下手で申し訳ないのですが、お力を貸していただけませんでしょうか? よろしくお願いいたします。

  • 可視セルを関数に組み込むマクロ

    Z列に関数を入力するマクロを組みたいです。 最初に、A-D列のみ表示し、E-Y列はグループ化して非表示にしており、 A、B、C、D、Z 列のみ表示されています。 セルZ1に、A1、B1を引数とする関数を入力します。 次に、グループ化を解除し、E-H列のみ表示し、A-D列、I-Y列をグループ化して非表示にし、 E、F、G、H、Z列のみ表示します。 マクロを実行すると、セルZ1に、E1、F1を引数とする関数が入力されるようにしたいです。 グループ化は4列ずつ行い、画面に表示されるのは常に5列のみで、 Z列には、「表示されている第1列と第2列」のセルを引数とする関数を入力するように したいのです。 Z列から見て、表示されている列が変わっていくため、RC形式のセルの単純な相対表示では あらわせません。 よろしくお願いいたします。

  • エクセルのマクロで、できると思うのですが・・・。

    例えば、A1から下にリストを入力していき、A100まで入力したとします。 他のシートなどで作業後、シートを戻し、再度リストを入力しようとした時、すぐにA101のセルに入力したいのです。 つまり、A列のなかで、【現在一番上に位置している空白セル】をアクティブにするマクロが知りたいのです。 ただ、アクティブになるだけでは無く、それが画面上に現れて、すぐに入力できるようになっていないと困るのです。 どうでしょうか。

専門家に質問してみよう