こんにちは

エクセルで通常、”リストから選択”して入力する場合、
該当セルを右クリックして、”リストから選択”を選んで
実行しますが、
ある特定の列だけ(仮にA列として)、
常時”リストから選択”になるよう、
(つまり当該セルがアクティブになったらすぐ)
リストが表示するように設定することは可能でしょうか?
可能であるならば、その方法をご教示ください。

 よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

リストの作り方はわかりますか?


データ→入力規則→設定タブで入力値の値をリストにして
元の値で、カンマ区切りで入力です。

例えばA1セルにリストにゅうりょくしました。
このセルをコピーして
A列のAという文字をクリックしてA列全部を選択して
貼り付けをすれば
A列すべてにリストが反映されます。
    • good
    • 0
この回答へのお礼

 おぉっ、バッチリです♪
ありがとうございました。

お礼日時:2001/09/04 11:47

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QA列とB列の重複を抽出したいのですがA列とB列の値は一部だけ同じ文字です。ご教示お願いします。

エクセル初心者です。重複を見つけるのが仕事です。いろいろやってみたのですがうまくできません。
お知恵をお貸しください。

A列には企業名が入力されています。
B列にも企業名が入力されていますが全く同じ文字ではないのです。

たとえばこういうことです。
A1 (有)雪見酒      B1  雪見
A2 株式会社豪雪地帯   B2 (株)豪雪地帯
A3 ゆきかき本舗     B3 (有)ゆきかき本舗

A列にある企業名とB列にある企業名が同じであればセルを塗りつぶすか○を表示させるように
したいのです。
重複を見つけるのが目的なので、ほかの方法でもかまいません。
すみません、A列のセルとB列のセルが全く同じ名前ならば重複が見つけられたのですが
ここから先がどうしてもわからないのです。。。
申し訳ありませんがどうか教えてください。。。

Aベストアンサー

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim nameT1(maxrow1)
ReDim nameT2(maxrow2)
Range("C1:" & "D" & maxrow2).Value = ""
Call makeTable(nameT1, "A", maxrow1)
Call makeTable(nameT2, "B", maxrow2)
For row1 = 1 To maxrow1
For row2 = 1 To maxrow2
If Cells(row2, "C") = "" Then
If Mymatch(nameT1(row1), nameT2(row2)) = True Then
Cells(row2, "C").Value = "○"
Cells(row2, "D").Value = row1
End If
End If
Next
Next
t2 = Time
MsgBox ("チェック完了 処理時間=" & Minute(t2 - t1) & "分" & Second(t2 - t1) & "秒")
End Sub
'余分な文字を削除した結果をテーブルに格納する
Private Sub makeTable(ByRef nameT() As String, ByVal col As String, ByVal maxrow As Long)
Dim row As Long
Dim ary As Variant
Dim name As String
Dim i As Long
ary = Array("㈱", "(株)", "株式", "(有)", "有限", "会社")
For row = 1 To maxrow
name = Cells(row, col).Value
For i = 0 To UBound(ary)
name = Replace(name, ary(i), "")
Next
nameT(row) = name
Next
End Sub
'企業名が一致かどうか判定する
Private Function Mymatch(ByVal name1 As String, ByVal name2 As String) As Boolean
Mymatch = False
Dim pos As Variant
pos = InStr(1, name1, name2, vbTextCompare)
If pos > 0 Then Mymatch = True
End Function
-----------------------------------------------------
一致の精度が悪ければその旨補足してください。
(一致すべきものが一致しない、一致してはいけないものが一致している)
100%解決できる保証はありませんが、多少のチューニングは行います。

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim ...続きを読む

Qエクセルで、A2セルの値を同シート内(A5以降のA列)で検索し、該当セルにジャンプする方法はありますか?

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1417540469

上記のページと同様の質問なのですが、
ベストアンサーに選ばれている回答は別シートにジャンプですが、
同シートでのジャンプの方法はありますでしょうか。

どなたかご教示いただけると助かります。
何卒よろしくお願いいたします。

Aベストアンサー

とりあえずはご提示いただいた回答で
>Set Ws2 = Sheets("Sheet2")

 Set Ws2 = ActiveSheet
にするだけで良いと思います

私ならこんなマクロにします。マクロはシート名タブ右クリック→コードの表示で開く画面に貼り付けてください。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim trg As Range
 If Target.Address = "$A$2" Then  
  Set trg = Range(Cells(5, "A"), Cells(65536, "A")).Find(what:=Range("A2").Value _
    , LookIn:=xlValues, Lookat:=xlWhole)
  If Not trg Is Nothing Then
   trg.Select
  End If
 End If
End Sub

Qエクセルで複数のセル選択をした後、選択したセルの1つを選択解除したい

m(__)m早速ですが、質問をさせて戴きます。

セルA1を選択し、次にコントロールキーを押しながら、A3セル、同じくA5セルと合計3つのセルを選択しているとします。

この状態で、A3セルだけの選択を解除し、結果としてA1セルとA5セルのみが選択された状態にするにはどうすればいいでしょうか?

Aベストアンサー

A1、A3、A5を選択した状態から、

(1)Tab、またはShift+TabでA3を選択状態にします。
(2)Shift+↑を2回行います。(A1:A3、A5が選択状態に変わる。A3がアクティブ)
(3)Shift+Tabを2回行います。(A1:A3、A5が選択状態のまま。A1がアクティブに変わる)
(4)Shift+↑を2回行います。(A1、A5が選択状態に変わる。A1がアクティブ)

なお、『↑』は上方向へのカーソル移動キーです。


やっていることは、
  『選択を取り消したいセルまたはセル範囲』と
  『その1つ前のセルまたはセル範囲』をいっしょにして
  『選択を取り消したいセルまたはセル範囲』部分を縮小する
と表現すればいいでしょうか。

Q(Excel)範囲中のデータのうち条件に該当するデータのセルの行番号・列番号を取得したいのですが

例えば、B2からF5の範囲にデータが入力されていて、このうち条件に該当するデータ(最大値)のセルの行番号・列番号を取得したいのですが何か良い方法はありますでしょうか。
最大値のセルをアクティブにする方法が分かれば問題は解決するのですが、調べてみても答えが見つかりませんでした。
また、他に良い方法があればぜひともよろしくお願いします。
回答はVBAでもワークシート関数でも、どちらでも結構です。

ExcelはExcel2000、OSはWindows2000を使用しています。

Aベストアンサー

最大値のセルをアクティブにするんですよね?
では関数では無理なのでVBAで。

Sub test()
Dim x, c
x = Application.Max(Range("B2:F5"))
Set c = Range("B2:F5").Find(What:=x, LookIn:=xlValues, LookAt:=xlWhole)
MsgBox c.Address(0, 0) & "セルが最大値です。セレクトします。"
c.Select
End Sub

Qエクセル 関数 1と入力されたセルの隣の列の値から、一つ前に1と入力されたセルの隣の列の値の引き算

1と入力されたセルの隣の列の値から、一つ前に1と入力されたセルの隣の列の値の引き算をしたいです。
具体的に、添付した画像の表で説明します。
A列は、連続した数値が入っています。
B列には、ところどころに、1が入力されています。(空白のセルが多いです。)
C列には、B列で、1と入力されたセル(例:B6)と同じ行のA列のセル(A6)の値から、B列で、一つ前に1と入力されたセル(B2)と同じ行のA列のセル(A2)の値の引き算をしたいです。
いまのところ、C列の結果は、D列にしめしたような計算で、ひとつずつ計算しています。

C列を、自動的におこなってくれるように工夫したいのですが、どんな関数をつかったらよいかわからないので、教えてほしいです。
補足ですが、行の入れ替え(サイズを変える、等)はしたくないです。(列の挿入はもちろんOKです。)

どうぞよろしくお願いします。

Aベストアンサー

D列を作業用に使用します。D列を最終的には見えないように設定してください。(文字色を白にするなど)
D1セルに「=A1*B1」
D2セルに「=IF(B2<>1,D1,A2*B2)」
D3セルより下はD2セルをコピー
C1セルに「=IF(D1=0,"",D1)」
C2セルに「=IF(D1=D2,"",D2-D1)」
C3セルより下はC2セルをコピー


人気Q&Aランキング

おすすめ情報