• ベストアンサー

マクロでこんなことできるのでしょうか?

こんにちわ。 仕事柄エクセルを良く使っています。 いまいちマクロについてよくわからないのですが、 エクセルのセルに入力する際に、 「1」と入力すれば、りんごと表示、 「2」と入力すれば、みかんと表示、 というように、 種類ごとに入力できるよう、マクロを使って できるのではないか?と、知り合いにいわれました。 これは可能ですか? そして、できるのなら、とても詳しく 方法を教えていただきたいと思います。

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

  • ベストアンサー
noname#49904
noname#49904
回答No.3

 それはマクロではなく、vlookup関数を使います。  A列に、1,2,3……9,10と入れて、B列に上からリンゴ、ナシ、みかん……と入れます。  A1セルからB10セルまでを選択してExcelのメニュー→挿入→名前→定義で「商品」などという名前を登録します。  長い文章は苦手なので詳しくはヘルプ、参考書で身につけてください。

tukataku
質問者

お礼

マクロではない違うやり方があったのか!!っというきもちです。 参考になりました。有難うございました。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

入力規則で、似たようなことが出来ます。 G1:G5に りんご みかん なし くり メロン 入力をA1:A10として、A1:A10を範囲指定。 データ-入力規則-「設定」タブ-リスト-(元の値)でシートのG1:G5を範囲指定-「X」をクリック-OK。 A列のセルをクリック-リストから選択しクリックで 値がセルにセットされる。 マクロを使って出来ますが、イベントと言うものを捕らえるマクロなので、少し勉強してからがよいと思います。 (例) Private Sub Worksheet_Change(ByVal Target As Range) x = Array("", "りんご", "みかん", "なし", "くり", "メロン") If Target.Column = 1 Then If Val(Target) < UBound(x) + 1 Then Application.EnableEvents = False Target = x(Val(Target)) Application.EnableEvents = True End If End If End Sub Changeイベントには、色々欠点があること。 上記でエラーが出ると,あとが難しいなどあります。 実際の自分のケースでは上記マクロをどう変えたらよいか,判らないうちは使えません。

tukataku
質問者

お礼

ちょっと難しいですね。私のレベルではここまでは無理かもしれませんが、こういう方法もあることを覚えていたいと思います。 この場をお借りして、回答してくださった皆様にお礼申し上げます。質問をして、こんな短時間にいくつもの回答をいただき、本当に感謝しています。今日中にやり方を調べて、明日会社で仕上げなければならなかったんで、本当に助かりました。 「持つべき者は、OKWebの仲間の皆様」 といっても過言ではないくらいです。 本当に有難うございました。

  • matrix4
  • ベストアンサー率16% (118/704)
回答No.4

vlookupで 2ページに、 A1 B1 1 りんご 2 みかん 3 ばなな 1ページに A2 =IF(A1="","",VLOOKUP(A1,Sheet2!$A$1:$B$3,2,0)) をしたへ、ドラッグ マクロでもできるとはおもいます・・

tukataku
質問者

お礼

参考になりました。有難うございました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

数多くの過去の質問・回答がありますので、 キーワード「VLOOKUP」で過去の質問検索を行ってみてください。 OSのカテゴリで質問なさってますが、「コンピューター [家庭向け] > ソフトウェア > Microsoftアプリケーション 」の方が良いでしょう。(教えて!gooの場合)

tukataku
質問者

お礼

過去の回答の中で参考にできるHPを見つけました。 参考になりました。ありがとうございました。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

Private Sub Worksheet_Change(ByVal Target As Range) End Sub の中に Select Case で入力した値が1の場合は MsgBox "りんご" 2の場合は MsgBox "みかん" でもいいですし(入力後はエンターでセルの位置が変わるので 注意)、 1をリンゴに、2をみかに置換、でもいいと思います。

tukataku
質問者

お礼

早速のお返事有難うございました。 エクセルは難しいですね。 参考になりました。

関連するQ&A

  • エクセルのマクロの組み方

    マクロの初心者です。エクセルのマクロを組んでいるのですが,壁にぶち当たってしまいました。次のようにしたいのですが。 たとえば,A1のセルに「りんご」B1に「割引(1)」C1に「割引(2)」が入っている場合にはD1のセルに200を返す。A1が「りんご」でB1が空欄,C1が「割引(2)」ならD1に230を返す,A1が「みかん」でB1,C1が空欄ならD1に150を返す,のようにいくつかのセルの入力内容によって特定のセル(この場合はD1)に返す値を変えるようなマクロってありますでしょうか。 Selection.Replaceのようなものを使おうと思ったのですが,見当違いでしょうか。 ご指導をお願いします。

  • <excel>ポップアップの表示

    excelで質問です。 【前提】 ◇A1セルには入力規則が設定されている ◇入力規則の条件  →入力値の種類=「リスト」  →元の値     =「りんご,みかん,バナナ」 A1セルで「りんご」を選択した場合に注意喚起のポップアップを表示する にはどうしたらよいでしょうか? 可能であれば、入力規則や初心者でもわかる簡単なVBAマクロで対応を したいと思っています。 良い方法がありましたら、ぜひ、ご教示ください。 よろしくお願いします。

  • エクセルのマクロについて

    一つのセルに以下のマクロを設定したいです。 [Aシート] A1~B30の表があります。 A1~A30セルには、有 or 無 が入力されています。 B1~B30セルには、りんご、みかん、ばなな など物の名前(重複なし)が入力されています。 [Bシート] C3セルに、AシートのAセルが"有"だったら、Bセルの値を反映させたいです。 ※例えばAシートが以下の時 ----------------------   A  B 1 有  りんご 2 有  みかん  3 無  ばなな 4 無  いちご 5 有  ぶどう 6 無  ぱいん 7 有  びわ ・ ・ ------------------------ BシートのC3セルに、AシートBセルの値を"折り返して"表示する。   A  B  C 1 2 3      りんご        みかん        ぶどう        びわ 4 ------------------------ OS:Windows XP sp3 エクセル:Microsoft Office Excel 2003 sp3 ご存知の方がおりましたらご教授ください。

  • マクロについて質問です。

    A B C   1 3 りんご 2  赤 3 くだもの 4 6 みかん 5 オレンジ 6 くだもの 7 9 ぶどう 8  紫 9 くだもの というデータがシート1にあったとして、シート2のa2セルに6と入力すると以下のようにa5セル以降に抽出し、6という入力を消すと抽出したものも消えるようなマクロを教えていただきたいです。どうかよろしくお願いします。 6 みかん  オレンジ  くだもの

  • エクセル VBA マクロについて

    初めまして。 以下のようなマクロを組みたいんですが可能でしょうか?  A     B     C    D    E    F 東京   足立区 みかん  10   5   50       葛飾区 みかん  20   3   60        港区  りんご  30   1   30 小計                       140 ( 空白行   ) 愛知  名古屋市 みかん  10   5   50      東海市    もも   10   5   50 小計                       100 上記のようなデーターシートがあります。 Dには数字が入ってるんですが、 ここに係数をかけたいんです。 たとえば、=10*1.07 とか (1)元の値に係数かける式をセルに入れるマクロはあるんでしょうか? (2)この係数を別シートのセルで入力したいんですが セルを参照できますか? (3)みかん、もも、りんごの列を検索して、  それに対応した係数かけるマクロはあるんでしょうか? 処理速度は、とくにはこだわりません。 ご指導おねがいいたします。

  • VLookUp関数?

    エクセルでの質問です。 1 りんご 2 みかん 3 メロン というような表があったとします。どこかのセルに「りんご」と 入力すると隣のセルに「1」というように表示させる方法は何か ありますでしょうか…? VLookUp関数なのかな?と思いつつ見てみたのですが、 使い方がわからず、この関数で合っているかどうかもわかりませんでしたので…。 宜しくお願いします!

  • エクセルVBA(マクロ-コンボボックスについて)

    マクロ初心者です。 教えてください。 コンボボックスで、[▼]をクリックすると、 [りんご]、[いちご]、[みかん]のリストが表示されます。 しかし、もう一度、[▼]をクリックするとリストの数が増えています。 [りんご]、[いちご]、[みかん]、[りんご]、[いちご]、[みかん]、[りんご]、[いちご]、[みかん] 全くの初心者なので、どうすればいいかわかりません。 コンボボックスで、[▼]をクリックすると、 [りんご]、[いちご]、[みかん]のリストのみが常に表示されるようにしたいです。 下記がコードです。 ---------------------------------------- Private Sub 種類_Combo_DropButtonClick() '** データセット 種類_Combo.AddItem "りんご" 種類_Combo.AddItem "いちご" 種類_Combo.AddItem "みかん" End Sub ---------------------------------------- よろしくお願いします。

  • エクセルexcelの関数やマクロ教えて下さい!

    エクセルexcelについて教えて下さい。 数字が入力されたセルに数を加えていきたいのですが、 "1"が入力されたセルに"3"と入力すると"4"と表示されるようにする方法を教えて下さい。関数やマクロなど勉強中ですが、難しくて出来ません。お願いします。

  • 数字を文字に変換するには?

    お世話になります。 エクセルの各セルに    A   B   C 1 みかん 2 りんご 3 ぶどう 4 と入力されていて C4に数字の「1」を入力すると「みかん」、 「2」を入力すると「りんご」、「3」を入力すると「ぶどう」 と表示させるには、どうすればいいのでしょう? 色々、調べましたがわかりませんでした。 周りに詳しい人もおらず・・・ 宜しくお願いします。

  • エクセル のマクロで 複数の表を1つにまとめたい

    エクセル のマクロで 複数の表を1つにまとめたい 下記のようなシートがあります。 Sheet1 A B C E F G I J K 1 日付  品名 数 日付  品名 数 日付  品名 数 2 1/1  みかん 100 1/2 りんご 50 1/1 バナナ 30 3 1/5  みかん 50 1/6 りんご 25 1/7 バナナ 20 4 1/10 みかん 30 1/11 りんご 15 1/10 バナナ 10 5 1/12 りんご 30 1/11 バナナ 10 6 1/13 りんご 50 みかん・りんご・バナナのそれぞれの表をマクロで下記のような1つの表ににまとめたいのですが どのようにしたら良いかご教授お願いいたします。 (初心者なので可能であればマクロ内で’コメント付きで解説いただけると助かります)  M N O 1 日付 品名 数 2 1/1 みかん 100 3 1/1 バナナ 30 4 1/5 みかん 50 5 1/6 りんご 25 6 1/7 バナナ 20 7 1/10 みかん 30 8 1/10 バナナ 10 9 1/11 りんご 15 10 1/11 バナナ 10 11 1/12 りんご 30 12 1/13 りんご 50 うまく説明できないのでイメージ画像を添付いたします。