- ベストアンサー
特定のセルに数字を入力すると特定の文字を表記VBA
- セルG9には「ドラム缶 缶」と表記されています。ここに数字のみを入力すると「ドラム缶 〇 缶(〇は先ほど入力した数字)を自動表記し、「ドラム缶 〇 缶」と表記された文字をデリートボタン等で消したら、再び「ドラム缶 缶」と自動表記するVBAはありますか?
- セルF9には、G9の「ドラム缶 〇 缶」の〇の数字に200を掛けて、「○○○L」と自動表記させたいのですが、どの様にVBAを書けば良いですか?G9が「ドラム缶 缶」と数字が表記されている時はF9も「 L」と空白表記させたいです。
- セルG11には「20L缶 缶」と表記されています。ここに数字のみを入力すると「20L缶 〇 缶(〇は先ほど入力した数字)を自動表記し、「20L缶 〇 缶」と表記された文字をデリートボタン等で消したら、再び「20L缶 缶」と自動表記するVBAはありますか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
あのですね 態々VBA化する程ではない と、思うのです が、 でも尚、VBAの方がいい ですか? そうでも無い なら セルの書式設定中 其の表示形式で ユーザー設定を指定する すると、できます よ? http://homepage3.nifty.com/gakuyu/excel/userdefined_ex.html http://www.eurus.dti.ne.jp/~yoneyama/Excel/user_set.htm (1)、(2)、(3)、 「ドラム缶 缶」 此は "ドラム缶"######"缶";"ドラム缶"######"缶";"ドラム缶 缶";@ 「 L」 此は #####0"L";#####0"L";" L";@ です 必要に応じて スペース、#、 此等を、加減してください
その他の回答 (3)
- kagakusuki
- ベストアンサー率51% (2610/5101)
その様な場合には、例えば(1)ですと、VBAを使ってF9セルに「400L」、G9セルに「ドラム缶2缶」と1つのセルに入力した値とは異なる文字列を含んだ表示に無理やり変えるのではなく、 F9セルに「400」、G9セルに「L」、H9セルに「ドラム缶」、I9セルに「2」と、J9セルに「缶」という具合に別々のセルに表示させる様にしておき、F9セルには =IF(ISNUMBER($I9),$I9*200,"") という様なワークシート関数を入力しておけば済む話だと思います。(勿論、列幅は適時調整しておきます) もし、関数や、「L」、「ドラム缶」、「缶」等を書き換えられるのが嫌な場合には、関数やその他のレイアウト上必要となる記入事項を入力した後、I9セル、I11セル、I29セル、及び、「日付の入力欄」、「客先名の入力欄」、「油種の入力欄」、「単価の入力欄」、等々の後から入力する必要のあるセルに対して、「セルの書式設定」の[保護]において[ロック]のチェックを外しから、[シートの保護]を設定してしまえば良いと思います。 因みに、缶の数の入力欄はG11セルではなく、I11に変えた上で、F11セルには次の関数を入力されると良いと思います。 =IF(ISNUMBER($I11),$I11*20,"") 又、「油量」を入力する欄はG29セルではなく、I29に変えた上で、F29セルには次の関数を入力されると良いと思います。 =IF(ISNUMBER($I29),$I29,"")
お礼
ありがとうございました。 参考になりました。
- Chiquilin
- ベストアンサー率30% (94/306)
> VBAはありますか? VBAは言語名。「マクロ」のことだとしても どこかに「ある」ものではなく誰か が「作る」ものです。 やろうとしていること自体は 別に難しいことじゃありません。マクロのチェンジ イベントを利用すればできます。というか全部同じ類の質問でしょう。 ただ入力表と出力表を分けて考えるということが どうしてもできない人が多いで すね。紙時代の発想からどうしても頭を切り替えられない。 何故 マクロ限定なのか。何故 他の手段ではいけないのか。何故 そんな不便極ま りない表の作り方にこだわるのか。疑問だらけです。 ただ表を作るというだけの ことに 何故マクロが必要なのでしょう。
お礼
ありがとうございました。 参考になりました。
- kuma56
- ベストアンサー率31% (1423/4527)
ダラダラと書いてあるけど、(1)も(2)も(3)も、 ・とあるセルに文字列が表示されていて、そのセルに数値を入力すると、もともと表示されていた文字列と入力した数値を一緒に表示したい。 ・そのとあるセルの下のセルに入力した数値を200倍してLを付けて表示したい。 ・この二点をマクロで処理したいがVBAの記述が判らない って事でいいのか? とあるセルに文字列が表示されていて・・・・って事はセルに入力するとマクロが動くようにしたいんでしょう?? "セルに入力するとマクロが"をキーワードにしてweb検索したら http://www.asahi-net.or.jp/~zn3y-ngi/YNxv9c7.html このようなサイト↑が見つかったけど、このアレンジじゃダメなのかい?? 200倍してLを付けて表示・・・・これならマクロを使わずに関数式でできると思うがそれじゃあだめなのかい?? ダメだとしたらその理由は何?? エクセルを便利に使いたいと思ったら、まずweb検索してヒントを探して見てちょ! 解説しているwebサイトは沢山あるから、解決の糸口が見つかるかもしれないし、ここのようなサイトで回答を待つだけより早く問題が解決が早くなることもあるよん!!
お礼
ありがとうございました。 参考になりました。
お礼
ありがとうございました。 参考になりました。