• ベストアンサー

Excel関数、VBAについて

関数、VBAを学び始めた初心者です。 カレンダーを作成しました。その日の天気を簡単に入力する方法を教えて下さい。 セルA1にセルG1に入力されている(晴、曇、雨)のいずれかをクリックして入力する関数式。又はマクロ。 よろしくお願い致します。

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

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

VBAと言っているのは、ExcelのVBAのことで、エクセルでできる機能が、どういうものがあるかを、ある程度、学習してその後に進むもののはず。VBAはアプリと不即不離のものだ。 こういう日ごろに出くわした、課題にすぐ取り掛かろうとするのは、行き過ぎと思う。 初めは、VBA解説書、WEBのVBA記事などに出ている、課題を勉強して、理解して覚え、自分の引き出しに入れて、レパートリを増やしてからの課題だ。 それに、まずエクセルVBAの総論的な部分を勉強したか? エクセルでできる機能を(手作業で)、まず、自己のものにしてからだ。 ーーー そもそも、 本件では、エクセルの入力規則の(リストの)ことが、出て来てない、のが問題(経験不足)と思った。. ーー A1:A5セルに、それを設定するのは Sub test01() Range("A1:A5").Validation.Delete Range("A1:A5").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="晴れ,雨,曇り" End Sub でできる。 ーー しかし、本件では、とびとびのセルに、入力規則を設定したい、となるであろう。 その場合、上記コードをどう修正すべきか。 VBAの総論の課題だ。 手作業で、マウスを使い、複数の飛び飛びのセルを選択してのち実行は下記。 Sub test02() Selection.Validation.Delete Selection.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="晴れ,雨,曇り" End Sub 「複数の飛び飛びのセルを選択して」は、VBAだけで行うのは、どうするか? これもVBAの総論に出てくる問題だ。 これもすでに知っているか?  だから学習の順序に注意すべきと思う。

zyakusou
質問者

お礼

年を取ると結果だけを求めてしまいがちになりお言葉通り反省しております。 自宅待機を余儀なくされてパソコンばかりをいじっております。Exsel関数、VBAなど基礎からきちっと学習をしていきます。 いろいろとありがとうございました。

その他の回答 (3)

  • f272
  • ベストアンサー率46% (8467/18126)
回答No.3

G1には例えば「雨」と入力されているのですか?それとも「(晴、曇、雨)」と入力されているのですか? いづれにせよ最も簡単な入力はA1に直接入力することです。関数やマクロを使う必要はありません。 関数を使うのは他のセルの入力値に連動させて決めたいとき,マクロを使うのは大量の処理をしたいときです。あなたの状況では使う意味が感じられません。

zyakusou
質問者

補足

早速回答をいただきありがとうございます。 毎日のことですので天候の欄(例としてA1)に他のセル(例としてG1)にあらかじめ入力されている文字(または天候の絵文字)をワンクリックで入力したいのです。G1に晴、G2に雨、G3に曇と別のセルに分けなければなりませんか。 いずれは、その日の気分も顔文字で選べるようなことも考えています。よろしくお願い致します。

回答No.2

プルダウンメニューで選べるようにすれば楽だと思います。セルA1を指定してデータタブからデータの入力規則、ダイヤグラムで入力値の種類でリストを選び参照元に例えばですがセルG1晴セルG2曇セルG3雨と入力しておいて参照元にします。 セルA1だけでなくA列の入力したい部分を指定してからプルダウンメニューでリスト表示出来れば良いと思います。

zyakusou
質問者

お礼

そうですね。プルダウンやAlt矢印でできますね。 ありがとうございました。

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

A1に=G1としておけば良さそうな気がしますが・・・

関連するQ&A