No.4ベストアンサー
- 回答日時:
すみません。
多分うまくいかなかったのは、コピーして使われたときに、コードの空白部分が全角スペースになっていたからだと思います。全角スペースを消すか、半角スペースに直してもらえれば大丈夫だと思います。
OK-WEBでは半角スペースが消されてしまうので、全角スペースを入れてしまったのですが、それが問題だったみたいですね・・・お手間を取らせてしまい申し訳ありません。
No.3
- 回答日時:
VBEの利用の仕方を説明せよとのことですので記します。
(1)エクセルのショートカット・アイコンをクリック(私の場合)する。
(2)Book1のSheet1のシートが出る。
(3)メニューバーのツール-マクロ-VisualB asicEditorを順にクリックする。
(4)VBEのウインドウが現われる。左側のVBAProject(Book1)のSheet1をダブルクリックする。
(5)右側の上の「General」の▼をクリックする。
(6)「Worksheet」が現われるからそれをクリックする。
(7)Private Sub ・・・・とSub Endの間にOK-WEBの解答者のコーディング部分をコピーし貼りつける。
(8)メニュバーの「実行」-「デザインモードの終了」をチェック。
(9)「Sub/ユーザーフォームの実行」をクリックする。
(10)×でVBEのウインドウを閉じる。
(11)×でエクセルを閉じる。その時適当な名前をつける。
(注)(1)(2)は本番では、質問の機能を持たせたいシ ートを開き(3)から(11)までを行う。その時 もう一度(7)は繰り返すこと。
(2)、(4)のブック名・シート名は勿論自分で設 定した名前で出る。(7)はたまたまイベントとし てWorksheet_SelectionChangeでもよさそうとして 使いましたが、本当は(5)の右側の▼をクリック
して、適当なイベントをクリックして使います。
この機能を止めるときは、上記VBE画面のコーディング の最初に「’」を全行に入れて、コメント化すれば良 い。
OK-WEBよりコピーするとき、改行が無理に行わ れていることがあるので、注意すること。
(訂正)(1)A列でもIf ActiveCell.Column = 1 Then とすれば出来ま した。
(2)Worksheet_SelectionChangeのイベントより
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.Column = 1 Then '(注)
ActiveCell.Offset(-1, 1).Value = Time()
End If
End Subの方が、マウスのクリックに反応はせず、データ入力
(エンタ)にだけ反応するので良いでしょう。
No.2
- 回答日時:
補足説明として、前の方とは少しだけ違ったコードを書いてみました。
このコードでは、"A1"のセルに何かを入力したときのみ、その右隣のセルに日付と時刻が表示されるようにしています。ちょっと解説すると、
1. SelectionChangeがカーソルの移動にも反応するのに対し、Changeは入力の結果セルの内容が変化したものに反応します。
2. ActiveCellがカーソルのあるセルに対応するのに対し、Targetは入力の行われたセルに対応します。
3. Time()は時刻だけのデータに対し、Now()は前述の通り日付と時刻を合わせたデータです。
4. ActiveCell.Offset(-1, 1)が、カーソルのあるセルから下に-1、右に1移動したセルという指定なのに対し、ActiveSheet.Cells(1, 1)は、現在使っているシートの上から1番目、左から1番目、つまり"A1"のセルを指定します。
ちなみに、例えばTarget = ActiveSheet.Cells(1, 1)をTarget.Column = 1と変えれば、A列の変更に反応するようになります。
ただ、前の方にしても私のものにしても、このままだとエラーが出る可能性がありますので、仕様をもう少し具体的にして頂ければとは思いますが、実際に両方を使ってみて、コードの意味をご確認されると共に、ご自分の意図に合わせて調整して頂ければと思います。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = ActiveSheet.Cells(1, 1) And Target.Value <> "" Then
Target.Offset(0, 1).Value = Now()
End If
End Sub
それと、これもExcel VBAを使っていますが、Excelでツール>マクロ>Visual Basic Editorを選択し、Visual Basic Editorを開いて、今開いているシートの名前をダブルクリックすれば入力画面になります。
No.1
- 回答日時:
VBAで実質3行の簡単なコーディングをして見ました。
但しA列に入力するとB列には出ない。Offset(-1,1)の
-1があるためらしい。B列より右列にデータをいれること。
C列ならIf文を=3、D列なら=4と変えて下さい。(注)
また改行のあと、下行へ移動するモードの時に限リます。
Msgbox の行は途中確認のため入れたもので不要。
またVBAとは別にCtrlキーを押しながら、*キーを
押すと時刻がそのセルにセットされますが、この応用は
出来ないでしょうか。日付はCtrl+「+」キー。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' MsgBox "aa"
' MsgBox Time()
' MsgBox ActiveCell.Column
If ActiveCell.Column = 2 Then '(注)
ActiveCell.Offset(-1, 1).Value = Time()
End If
End Sub
ほぼワープロがわりにExcelを使っている初心者なので、
すみませんがコードの入力方法を教えていただけないでしょうか?
VBAProjectのSheet1のところに入力したんですが(あってますか?)
どうもうまく行きませんでした。
また入力後に何かする事はあるのでしょうか?(保存など)
Ctrl+「+」キーで時刻がでるなんて初めて知りました。
使わせて頂きます。
すみませんがよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 至急 Excel日付表示設定教えてください Excelの日付表示ですが、他者から送られてくるExce 6 2023/02/03 11:01
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) エクセルについて教えてください。 1 2022/12/26 09:01
- Excel(エクセル) Excelにの以下の設定方法について教えてください! C列にデータ入力の設定をしています。(出、入を 3 2022/06/22 01:33
- Excel(エクセル) Excelについて画像のように実働時間を入力したら、 下限時間より少ないまたは上限時間より多い場合、 2 2023/08/08 23:28
- Excel(エクセル) Excelについて A1からA12まで、1月〜12月と入力し、 B1からB12の範囲に、C1とD1に 4 2022/05/26 22:48
- Excel(エクセル) 同じExcelのBOOK内で 1枚目のシートのA1のセルにデータを 入れると2枚目のシートのC1のセ 1 2022/10/25 09:40
- Excel(エクセル) 出退勤管理の遅刻・早退時間について 3 2023/08/10 15:33
- Excel(エクセル) Excelでnullになるような式のセルをマクロで空白行と認識させるにはどうすればいいですか? 3 2023/03/13 13:42
- Excel(エクセル) Excelの機能に関してです ドロップダウンリストをB3セルに設定します 元データはB3~B1000 2 2023/07/22 09:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excel vba 非表示のシートに入...
-
エクセル ブック全体 セル結...
-
エクセルの切り取りと貼り付け...
-
エクセルの表のセル幅のみロッ...
-
EXCEL VBAでコピーす...
-
windowsではできるハイパーリン...
-
エクセルの表組み、セルの固定...
-
【エクセル】異なったシートの...
-
エクセルの範囲指定を規則的に...
-
結合セルに結合していないセル...
-
エディタのviで行数を指定せず...
-
Excel で3行目、6行目、9行目...
-
Winmerge ファイルの中身は同じ...
-
嫌ってるのに真似してきたりマ...
-
同期センターのマークが出てま...
-
コマンドプロンプトによるフォ...
-
onedriveの中身を削除したらパ...
-
ファイルの単位
-
emlをtxtに変換するには?
-
Excellにて→ファイルエラー:デ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【エクセル】異なったシートの...
-
excel vba 非表示のシートに入...
-
エクセル セル内の文字列を他...
-
エクセルの切り取りと貼り付け...
-
Excel で3行目、6行目、9行目...
-
VBAで長さ0の文字列をNullに変...
-
エクセル ブック全体 セル結...
-
エクセルの範囲指定を規則的に...
-
Excelのサイズが小さくなりません
-
EXCEL VBAでコピーす...
-
EXCEL中のSHEET名の検索方法
-
エクセルドロップダウンリスト
-
エクセルの表組み、セルの固定...
-
windowsではできるハイパーリン...
-
エクセルで同じブック内のシー...
-
EXCELのVBAで連続コピーの方法...
-
エディタのviで行数を指定せず...
-
エクセルの行を固定したい
-
エクセルの表のセル幅のみロッ...
-
エクセルで、コピー貼り付けが...
おすすめ情報