
どなたか教えてください。
伝票明細に度々同じような編集を加えるので、自動的に編集した日付を履歴として残すようにしたいのです。
↓
明細行の一番左側(A5)に、プルダウンリスト(入力規則)から「入庫」または「出庫」を選ぶと、自動的にとなりのセルにその日の日付が入力されるようにする。
私が考えたのは、次のとおり。
(B5)にひとまずToday関数を入れる。→(C5)に次の関数を入れる。
C5=IF(OR(A5="入庫",A5="出庫"),B5,"")
けど、これじゃ値ではなく数式をもってきちゃうので、別な日に開くと日付が更新されてしまうのです。
どうすればよいですか?よろしくお願いします。
No.4ベストアンサー
- 回答日時:
>入力セルをA5,A6だけではなく、列Aすべてに有効にするには
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If(.Column = 1 ) then 'A列ならば
If (.Value = "入庫" Or .Value = "出庫") Then '入力値チェック
Range("B" & CStr(.Row)) = Date '日付を表示
Else
Range("B" & CStr(.Row)) = "" 'セルのクリア
End If
End If
End With
End Sub
に変更してください。
>Range("B" & CStr(.Row)) = Date '日付を表示」の部分の
>「& CStr(.Row)) 」はどういう意味になっているのですか?
セルを指定する場合、VBAでは、
Range("A1")
Cells(1,1) 'Cells(行番号,列番号)
のように指定します。
Cstr(.Row)は実際には With Targetを受けて
Cstr(Target.Row)の事です。(Tagetは入力セル .Rowは行)
Target.Rowは入力セルの行番号を数値で返しますのでCstr()で文字に変換しています。
(str()だと数値の前にスペースが入る(今はよく知りませんが)為、Cstr()にしています)
昔の知識をそのまま現在も使用しているので、もしかしたら、変換しなくても
うまくいくのかもしれませんが・・・
Range("B" & CStr(.Row))の代わりに
Cells(.Row,2)でも同様になります。
今回はB列という事がわかり易いようRangeを使用しました。
できました!
わざわざ書き換えてくださりありがとうございました。
しかも、分かり易い説明まで加えていただいて、ホントにホントに感謝しております。
ありがとうございました。
No.3
- 回答日時:
関数を関数で値に変換することはできないと思います。
手動でしたらimogasiさんの(2)の方法で、関数の入ったセルを選択し、
[F2]→[F9]で関数を値にするのが、簡単かと思います。
VBA(マクロ)でよければ、
1、[Alt]+[F11]を押す。VisialBasicEditerに変更されます。
2、左上にプロジェクトと書いてある中に、
VBAProject(現在のブック名)
└Microsoft Excel Objects
├Sheet1
・・・
└ThisWorkbook
とあると思うので、Sheet1(伝票明細のシート)をダブルクリック
3.以下のコードを貼り付ける
***************************この下から*****************************
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
Select Case .Address(False, False) '入力セルのアドレス
Case "A5", "A6"
If (.Value = "入庫" Or .Value = "出庫") Then '入力値チェック
Range("B" & CStr(.Row)) = Date '日付を表示
Else
Range("B" & CStr(.Row)) = "" 'セルのクリア
End If
End Select
End With
End Sub
***************************この上まで***************************
4.[Alt]+[F11]を押す。Excelに戻ります。
5.Sheet1のA5,A6で[入庫],[出庫]のどちらかを入力すると隣のセルに日付が表示されます。 (プルダウンリスト)の選択でもできると思います。
詳細が分かりませんでしたので、1シートにしか対応させていません。
おかしい所や分からない事があれば補足してください。
この回答への補足
こんにちは。
やってみたらできました!すばらしいっ。マクロでやってみようと思っていたのですがサッパリわかりませんでした。ありがとうございます。
一つお願いがあるのですが、入力セルをA5,A6だけではなく、列Aすべてに有効にするにはどうしたらいいのでしょうか?
また、「Range("B" & CStr(.Row)) = Date '日付を表示」の部分の 「& CStr(.Row)) 」はどういう意味になっているのですか?
作っていただいた上に、わがまま言ってすみませんが、よろしくお願いいたします。
No.2
- 回答日時:
(1)関数は、値を反映してくれるところがメリットで す。
例えば=B1と言う式を、C1に入れると、B1の値 が変ると、C1も即座に変ってくれます。(設定を自 動計算として)
一般的には再計算される都度そこを参照しているセル の値も変ります。既回答もB5の値が変る時はVAL UEにしても=Value(b5)の式が残る以上、B5が変る とC5も変ると思います。
日付けの時にこれが困る訳です。そこで対策は
(2)計算値へ置換する方法
対象セル数が1つの時に使うのが適当です。
a.計算値に変換したいセルをアクチブにする。
b.数式バーをクリックする。データを編集できる
状態にする。
c.ここでF9キーを押す。数式バー全体がハイライ トされる。
d.エンタキーを押す。数式は消え、値になることが
判る。
(3)セル範囲に対してするときは、コピーして、同じ範 囲に対し「形式を選択して貼り付け」「貼り付けオ プション」で「値」オプションをONにして、貼り 付ける。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) Excelの関数(FILTER関数)について教えてください 2 2023/07/31 16:11
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) 前の(左隣の)シートを連続参照するように、あとから変更したい 1 2023/02/22 00:51
- Excel(エクセル) Excelで日付のグラフへの表示 2 2022/04/15 11:04
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) Excelで数式をそのままコピーしたい どうすればいいですか? 4 2022/09/16 02:16
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて見た映画を教えてください!
初めて見た映画を覚えていますか?
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
もし10億円当たったら何に使いますか?
みなさんの10億円プランが知りたいです!
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
エクセルで作業した日の日付を残す
Excel(エクセル)
-
☆Excelエクセルで入力した日の日付を表示したいです☆
Excel(エクセル)
-
A1セルに入力したら、入力時間をA2セルに自動挿入
Excel(エクセル)
-
-
4
マクロ無しで時間自動で記入をしていきたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
2つの数値のうち、数値が小さい...
-
エクセルで数式の答えを数値と...
-
エクセル指定した範囲からラン...
-
VLOOKUP関数を使用時、検索する...
-
一番多く表示のある値(文字列...
-
値が入っているときだけ計算結...
-
MIN関数で空白セルを無視したい...
-
ある範囲のセルから任意の値を...
-
エクセルで空白セルを含む列の...
-
エクセルのラベルの値(文字列...
-
爪が紫色?
-
健否~書類の書き方~
-
EXCELで条件付き書式で空白セル...
-
彼女のことが好きすぎて彼女の...
-
納豆食べた後の尿の納豆臭は何故?
-
エクセルでエラーが出て困って...
-
ワードのページ番号をもっと下...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
EXCELで条件付き書式で空白セル...
-
爪が紫色?
-
ワードのページ番号をもっと下...
-
エクセル指定した範囲からラン...
-
VLOOKUP関数を使用時、検索する...
-
2つの数値のうち、数値が小さい...
-
小数点以下を繰り上げたものを...
-
EXCELで式からグラフを描くには?
-
風俗店へ行く前のご飯
-
リンク先のファイルを開かなく...
-
エクセルで数式の答えを数値と...
-
勃起する時って痛いんですか? ...
-
値が入っているときだけ計算結...
-
MIN関数で空白セルを無視したい...
-
精子に血が・・・
-
一番多く表示のある値(文字列...
-
エクセルのラベルの値(文字列...
-
白血球が多いとどんな心配があ...
おすすめ情報