Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3017 / 13646 ツリー ←次へ | 前へ→

【64677】保存後にログをとるには。。。 (。。j) 10/3/5(金) 16:11 質問[未読]
【64678】Re:保存後にログをとるには。。。 超初心者 10/3/6(土) 9:44 発言[未読]
【64729】Re:保存後にログをとるには。。。 (。。j) 10/3/10(水) 15:09 発言[未読]
【64732】Re:保存後にログをとるには。。。 超初心者 10/3/10(水) 15:44 発言[未読]
【64679】Re:保存後にログをとるには。。。 SS 10/3/7(日) 12:56 発言[未読]
【64728】Re:保存後にログをとるには。。。 (。。j) 10/3/10(水) 15:06 発言[未読]
【64738】Re:保存後にログをとるには。。。 SS 10/3/10(水) 20:00 発言[未読]
【64747】Re:保存後にログをとるには。。。 (。。j) 10/3/11(木) 14:22 お礼[未読]
【64749】Re:保存後にログをとるには。。。 (。。j) 10/3/11(木) 16:39 発言[未読]
【64780】Re:保存後にログをとるには。。。 よろずや 10/3/13(土) 8:19 回答[未読]

【64677】保存後にログをとるには。。。
質問  (。。j)  - 10/3/5(金) 16:11 -

引用なし
パスワード
   いつもお世話になっております。
またよろしくお願いします。

状況とコメントの列があり、ここは常に内容が変わります。記録保存のため、
隣の行にログ列をつけて、ここに状況とコメントの内容をエクセルを閉じる度にセル内に1文字スペースを空けてコピーさせていきたいと思っています。

以下のような感じです。。。

  A     B            C
1 状況      コメント          ログ
2
3 熱い      クーラー買いますか?     熱い クーラー買いますか?
4 眠い      顔洗ってきなさい。     眠い 顔洗ってきなさい。
5 うるさい 窓しめるよ。          うるさい 窓しめるよ。

      ↓↓↓

  A    B            C
1 状況     コメント         ログ
2
3 寒い     エアコン買いますか?     熱い クーラー買いますか? 寒い エアコン買いますか?
4 痛い    病院いきなさい。         眠い 顔洗ってきなさい。 痛い 病院いきなさい。
5 汚い    洗えば?          うるさい 窓しめるよ。 汚い 洗えば?


どうかよろしくお願いしますm(_ _)m

【64678】Re:保存後にログをとるには。。。
発言  超初心者  - 10/3/6(土) 9:44 -

引用なし
パスワード
   ▼(。。j) さん:

> 以下のような感じです。。。

今、どこまで出来ているのでしょう?

漠然とした質問ではなく、
「ここまで作った」「ここまで調べた」
んだけど
「ここの部分が分からない」
などと載せた方がレスが付きやすいかもです。


とりあえず、

追加する文字列は、
[追加候補] = A3 & " " & B3
で求める事ができますよね?

C3に既に入力されている文字(前回保存分)の
右から[追加候補]文字数分だけを抜き出し、
(Right関数で抜き出せますね?)
[追加候補]と比較します。

同じなら追加せず(同じでも追加する??)。
違うなら、空白一文字と[追加候補]を追加。
Range("C3").Value = Range("C3").Value & " " & [追加候補]

これを、終了時のマクロ「Workbook_BeforeClose」にて
処理すると良いかと思います。
(追加処理後、保存して終了)

参考までに。

【64679】Re:保存後にログをとるには。。。
発言  SS  - 10/3/7(日) 12:56 -

引用なし
パスワード
   ▼(。。j) さん:
ログを残すと言うことは、あとで何かに利用すると言うことですよね?
それですと今の1つのCELLに複数情報入れるのはどうかと思い勝手に
こんなものを考えてみました。(CELL内文字数制限もあると思いますし)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  With Worksheets("Sheet1")
    'データ転記スペースを確保。
    'データが65535以上になったときの処理入れてません。
    .Range("D2:J2").Insert Shift:=xlDown
    '処理時刻の記述。
    .Range("D2").Value = Now()
    'データをLog最上部に転記。
    .Range("E2").Value = .Range("A3").Value
    .Range("F2").Value = .Range("B3").Value
    .Range("G2").Value = .Range("A4").Value
    .Range("H2").Value = .Range("B4").Value
    .Range("I2").Value = .Range("A5").Value
    .Range("J2").Value = .Range("B5").Value
   '入力データ消去。
    .Range("A3:B5").ClearContents
  End With
End Sub
質問通りの回答については、超初心者様が書かれていますのでそちらを
参考としてください。

>いつもお世話になっております。
>またよろしくお願いします。
>
>状況とコメントの列があり、ここは常に内容が変わります。記録保存のため、
>隣の行にログ列をつけて、ここに状況とコメントの内容をエクセルを閉じる度にセル内に1文字スペースを空けてコピーさせていきたいと思っています。
>
>以下のような感じです。。。
>
>  A     B            C
>1 状況      コメント          ログ
>2
>3 熱い      クーラー買いますか?     熱い クーラー買いますか?
>4 眠い      顔洗ってきなさい。     眠い 顔洗ってきなさい。
>5 うるさい 窓しめるよ。          うるさい 窓しめるよ。
>
>      ↓↓↓
>
>  A    B            C
>1 状況     コメント         ログ
>2
>3 寒い     エアコン買いますか?     熱い クーラー買いますか? 寒い エアコン買いますか?
>4 痛い    病院いきなさい。         眠い 顔洗ってきなさい。 痛い 病院いきなさい。
>5 汚い    洗えば?          うるさい 窓しめるよ。 汚い 洗えば?
>
>
>どうかよろしくお願いしますm(_ _)m

【64728】Re:保存後にログをとるには。。。
発言  (。。j)  - 10/3/10(水) 15:06 -

引用なし
パスワード
   ありがとうございます。
標準モジュールに張り付けてみたんですけど全然動かなくって
・・・。・゚・(ノД`)・゚・。
やり方まちがってるでしょうか???

【64729】Re:保存後にログをとるには。。。
発言  (。。j)  - 10/3/10(水) 15:09 -

引用なし
パスワード
   ▼超初心者 さん:

すいません、VBA自体わからない状態で、、、
いただいたものを標準モジュールに張り付けてみたのですがだめでした・・・
どうすればいいのでしょうか???

【64732】Re:保存後にログをとるには。。。
発言  超初心者  - 10/3/10(水) 15:44 -

引用なし
パスワード
   ▼(。。j) さん:

> VBA自体わからない状態で
VBAで作業をしようとするとは、、、

心構えは立派ですが、あせりすぎです^^;;


> どうすればいいのでしょうか???

本屋さんで、ExcelVBAに関する本を立ち読みしましょう。
そして、自分に合いそうなものを1冊購入し、
じっくり読みましょう。

ある程度、コードの書き方や意味が分かった頃に、
再度SSさんの回答を見直してみましょう。

もしかすると、その頃には、
自分で作れるようになっている!?。。。かも^^;

【64738】Re:保存後にログをとるには。。。
発言  SS  - 10/3/10(水) 20:00 -

引用なし
パスワード
   ▼(。。j) さん:

こちらの検索頁かGoogle辺りで
Private Sub Workbook_BeforeClose(Cancel As Boolean)を
検索すれば何処に問題があるかは、すぐに分かると思います。
が、今回私が発言しましたのはVBAのテクニックについてではなく
処理方法に違う考え方もありますよとお伝えしたかったからです。
ですから最低限のことしか記述していませんし、もしかすると
シート内の必要部分を壊してしまうかもしれません。
実際にファイル操作をされる方が考えればもっと適した方法が
見つかると思います。
ですので私の提示したものに拘らず、超初心者様の言うように
ご自身で調べてより良いマクロを作って欲しいと思います。
その上でのご質問でしたら微力ながらお手伝いいたします。

>ありがとうございます。
>標準モジュールに張り付けてみたんですけど全然動かなくって
>・・・。・゚・(ノД`)・゚・。
>やり方まちがってるでしょうか???

【64747】Re:保存後にログをとるには。。。
お礼  (。。j)  - 10/3/11(木) 14:22 -

引用なし
パスワード
   ▼超初心者さん、SSさん、
マクロでやってみたらできました(*´∀`)
本当にありがとうございました♪(無知ですいません)
あとはアレンジしてできそうです。

【64749】Re:保存後にログをとるには。。。
発言  (。。j)  - 10/3/11(木) 16:39 -

引用なし
パスワード
   超初心者さん;

結局はじめの方の”比較して同じだったらそのまま、違ったら変える”というものもわかりません。・゚・(ノД`)・゚・。コードください!!!

【64780】Re:保存後にログをとるには。。。
回答  よろずや  - 10/3/13(土) 8:19 -

引用なし
パスワード
   ▼(。。j) さん:
>超初心者さん;
>
>結局はじめの方の”比較して同じだったらそのまま、違ったら変える”というものもわかりません。・゚・(ノД`)・゚・。コードください!!!

---------------------------------------------------
本屋さんで、ExcelVBAに関する本を立ち読みしましょう。
そして、自分に合いそうなものを1冊購入し、
じっくり読みましょう。
---------------------------------------------------
って書かれてたでしょ。

3017 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free