アプリ版:「スタンプのみでお礼する」機能のリリースについて

すごく贅沢な話なのですが・・・
マクロを使わず、通常のエクセルで時間を手入力でなく何かしらしたら(例:「1」と入力)自動で別セルに現在時刻ほ記載してくれる

マクロだと下記のような内容でやってます(一部)
Range("H3:K33").Select
Selection.Copy
Sheets("結果").Select
Range("A4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

マクロを使わずやれる方法はないでしょうか・・・

A 回答 (9件)

論より 証拠、



作ってみました。


式、
=TEXT(IF(ISBLANK(B1),IF(ISBLANK(A10),B10,TODAY()),"此処が 変わります。"),"rr/mm/dd hh:mm")

ファイル、
https://1drv.ms/x/s!AjviygfJDgV_3GnS4Ko-q3mWU9fP

尚、
ファイルは 1度、
ローカルに 別名保存して、
其の保存ファイルを 扱うように、
してくださいね、

別名保存でないと、
意味が 無いですよ。


さすれば、
閲覧も、編集も、
叶うものと 思いますよ。
    • good
    • 0

「マクロを使わず」の真意がわからないのですが、VBA自体がダメ(.xlsmで保存してはいけない)なのでしょうか?もしそうであれば、読み捨てて下さい。


「時刻を記載する」の本来の目的も分からなかったので、勝手に次のように解釈しました。

A1セルに何かを入力したら、B1セルに入力日時を記録し、さらにA1セルの変更ができないようにする。

①まず、次のユーザー定義関数(MyNow)を定義してください。
Function mynow(r As Range) As Variant
If r.Text = "" Then
mynow = ""
Else
If Application.ThisCell.Text <> "" Then
mynow = Application.ThisCell.Text
Else
mynow = Format(Now(), "yyyy/mm/dd hh:mm:ss")
End If
End If
End Function

②次に、B1セルに下記の数式を設定してください。
【B1セル】=mynow(A1)

③最後に、A1セルに次の入力規則を設定してください。
【A1セルの入力規則】=B1>=TEXT(NOW()-TIMEVALUE("00:00:01"),"yyyy/mm/dd hh:mm:ss")

以上の設定で、A1セルに何かを入力するとB1セルに日時が自動設定されるようになります。
さらにA1セルを書き換えようとするとエラーが表示されます。ただし、空白にすることはできるので、一旦、空白にすることにより、新たな値を入力することができます。
「マクロ無しで時間自動で記入をしていきたい」の回答画像9
    • good
    • 0

何らかのアクション(トリガ)で時間を「表示」させるのでしょうか。


何か入力したらその値を入力した時間に「置き換え」たいのでしょうか。

・・・
時間を「表示」させたいのであれば、自分なら「計算方法」を「手動」にして、時間を表示するセルには
 =NOW()
と入力しておき、セルの表示形式で時刻を表示するようにします。
時間を更新する必要があれば、[F9]キーを押します。

ただし、
A1セルに
 =NOW()
A2セルにも
 =NOW()
と入力した場合、どちらも更新した時の「同じ時間」が表示されます。

・・・
「置き換え」はマクロを使うしかありません。
    • good
    • 0

可能です。




反復計算を 許可し、
特定条件下以外は、
自己参照を させておきます。


特定条件に 至ったかは、

例えば、
I F構文等で 検知させます。

特定条件に 至った時に、
TODAY構文を 読ませ、

其の後、
自己参照に 復帰させると、
値が 保持されるので、

特定条件下に 至った、

例えば、
他の セルに何、
等かを 入力した、
タイミングの、
其の時刻を 保全できたり、
します。


但し、
此のままでは、
リセットに 苦慮しますので、

リセット用の 状況判断分岐も、
設けて おく方が、
いいでしょう。


ソフトウエア畑では、
なかなか 至れない、
認知ですが、

ハード界では、
値保持対策等とは 常識内な、
範疇です。


此が無ければ、
PCが バカ高い、
代物に なりますし、

抑も、
ハードウエアが 成立しません。
    • good
    • 0

話の雰囲気から察するにマクロだからダメって言うよりも、究極的に自動化したい(ボタン押すなんて面倒だ)ってのが感じられるんですけど違いますか?であれば、マクロでワークシートが変更されたことを自動検知して、させたい処理を実行するようにできます。



その方法
https://www.moug.net/tech/exvba/0050131.html
    • good
    • 0
この回答へのお礼

細かくありがとうございます

お礼日時:2019/04/26 21:22

ちなみにマクロが使えない理由は何でしょう?

    • good
    • 0

マクロを使わす「自動で」なんて無理じゃないですか?^^;


自動で動いてくれる仕組みがマクロ。
マクロを使えないなら手動しかないと思います。
    • good
    • 0

「Ctrl+;」「Ctrl+:」


上記のショートカットをご存知でしょうか
それぞれ現在の日付と時刻を自動設定する機能です
恐らくこれは質問者様の意図しているもととは違うと思いますが(笑)

さて、特定のセルの変更時にということで、例えば空白のセルに値が入力された場合という限定状況下なら「=If(A4="","",now())」という関数でもできますが、問題としてはNOW()関数は現在の日時を取得するためシートを開くたび、また、操作をするたびに最新の情報に書き換えられてしまうということですね
マクロなしで・・・出来るんでしょうか?(笑)
    • good
    • 0
この回答へのお礼

now()…更新されなけないで出来たら嬉しいです(笑)

お礼日時:2019/04/26 11:12

時刻をクリップボードに格納して、はりつけるのは手入力??



コマンドラインで、time /t | clip を実行して、エクセルに戻って ctrl+V とかでできるけど、、、
手数多いですね。

現在のマクロでは、どういう問題があるのでしょうか?
(ボタン押下して、実行させるとかじゃダメなんですか?)
    • good
    • 0
この回答へのお礼

私もそれを作ったんですけど…ボタンさえも拒否られましてね(´・ω・`)

お礼日時:2019/04/26 11:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A