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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの切り取りと貼り付け...
-
excel vba 非表示のシートに入...
-
Excel で3行目、6行目、9行目...
-
Excelのサイズが小さくなりません
-
エクセルで、コピー貼り付けが...
-
エクセルの範囲指定を規則的に...
-
Apple Nnmbersについての質問です
-
エクセル ブック全体 セル結...
-
エクセルの表の行固定
-
嫌ってるのに真似してきたりマ...
-
Winmerge ファイルの中身は同じ...
-
同期センターのマークが出てま...
-
ファイルの先頭行を全て削除したい
-
バッチファイルで変数の中身を...
-
教えてください!困ってます。
-
バッチファイルからタスクスケ...
-
onedriveの中身を削除したらパ...
-
ftpのmgetコマンドの自分の格納...
-
VScodeでjarファイルを開く方法
-
GnuPGの複合化をパスフレーズ手...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの切り取りと貼り付け...
-
Excel で3行目、6行目、9行目...
-
excel vba 非表示のシートに入...
-
【エクセル】異なったシートの...
-
エクセルの範囲指定を規則的に...
-
VBAで長さ0の文字列をNullに変...
-
EXCEL VBAでコピーす...
-
エクセル ブック全体 セル結...
-
エクセル セル内の文字列を他...
-
エクセルの表組み、セルの固定...
-
縦書きのトーナメント表の作り方
-
エクセルの表のセル幅のみロッ...
-
Excelのサイズが小さくなりません
-
Excelマクロの大量行の処理速度...
-
エクセルで出席簿を作る
-
エクセルで同じブック内のシー...
-
結合セルに結合していないセル...
-
EXCEL中のSHEET名の検索方法
-
エクセルで、コピー貼り付けが...
-
エクセル関数 支出管理のやり方
おすすめ情報