[[20070422115835]] 『またお助けください』(ちょいボケ親父) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『またお助けください』(ちょいボケ親父)
 Sub 転記()

    Dim GYO As Long

    GYO = Range("$a$65536").End(xlUp).Row

    If Cells(GYO, 1).Value <> "" Then GYO = GYO + 1
    Cells(GYO, 1).Resize(1, 13).Value = Range("$a$2:$m$2").Value

End Sub
上記コードを作りましたが、セル a2 には日付をctrl+;で入れるように

 していますが、転記先で反対になります 2007/4/22が
 22/4/2007に なんとか転記先でも2007/4/22にならないでしょうか?

 こんな感じでいかがですか?

 Sub 転記()
      Dim GYO As Long

      GYO = Range("a" & Rows.Count).End(xlUp).Row + 1

      With Cells(GYO,1).Resize(,13)
           .Value = Range("a2").Resize(,13).Value
           .NumberFormat = "yyyy/m/d"
      End With
 End Sub
 (seiya)

 小姑レス失礼します。
 ちょいボケ親父さん、『 』内には
 “内容の要約”をお願いします。

 (HANA)

 (seiya)さん ありがとうございます、早速コピペしました
 また、(HANA)さん、ご指摘ありがとうございます。気をつけます
 (seiya)さんごめんなさい、データー不足でした
 a1           b1    c1     d1     e1   .....
 日付       名前 名前 名前 名前
 2004/4/22     1     2    3     4    となっています

 a5           b5    c5     d5     e5
 22/4/2004    1      2     3     4   こうなります
 試さず先にコピペしたのでもう一度お願いします


 でしたら、
 .NumberFormat = ....
 を
 .Cells(1).NumberFormat = ...
 にしてみてください。
 (seiya)

 (seiya)さん、同じ結果です???

 a5の表示が 22/4/2004 のまま、ということですか?
 Ctrl+; で入植されているなら、シリアル値なので
 変わると思うのですが...
 (seiya)

 これでどうでっか?
       With Cells(GYO, 1)
           .Resize.Value = Range("a2").Resize(, 13).Value
           .NumberFormatLocal = "yyyy/m/d"
      End With
       (弥太郎)

 うーーん、
 弥太郎さん、
 NumberFormatLocal は使用したことが無いのですが、
 NumberFormat との違いはあるのですか?
 (seiya)

 逆にあたしゃNumberFormatは使うたこと無いんですわ。
 で、マクロの記録に登場するNumberFormatLocalばっかしを使うてますけど
 私の環境では両方OKデスワ。
 親父さんがでけんっちゅうことですので、微妙な差異があるかもしれんのんで
 呈示してみたんですけどなぁ。
      (弥太郎)

 そーですか、
 どちらでもいけそうですよね...
 (seiya)

(seiya)さん a2 は間違いなくctrl+;で入力されています
 (弥太郎)さん a2 の日付のみ転記され b2:m2 が転記されません

 すびません(汗
 こうですワ。
       With Cells(GYO, 1)
           .Resize(, 13).Value = Range("a2").Resize(, 13).Value
           .NumberFormatLocal = "yyyy/m/d"
      End With
      (弥太郎)

 (弥太郎)さん だめでした。やはり22/4/2007の結果です

 With Cells(GYO,1)
      .Resize(,13).Value = Range("a2").Resize(,13).Value
      Range("a2").Copy
      .PasteSpecial xlPasteValuesAndNumberFormats
 End With
 これでは?
 (seiya)

 元のセルの書式設定を変更しておく
 とかではダメなのですかね?

 (HANA)

 HANAさん
 「書式設定と値の挿入を逆にする」、ということですよね?
 この場合、同じ日付シリアル値なので、前後しても同じ結果だと思うのですが...
 すでに提示したコードで解決するはずなのですけどね...
 ちょっと、困惑?
 (seiya)

 seiyaさん
 セルの書式をコードで制御するのではなく
 先にセルに書式を設定しておく
 ・・・と言うつもりだったのですが、同じ事ですかね?
  「.Value」となっているので、値貼り付け(書式は貼り付かない)
  と同じ動きかと思ったのですが。

 あ、A列に日付以外は入らないので、事前の書式変更が可能 と言う前提です。

 (HANA)

 私が最後に提示したコードでだめな場合は、わけが分からなくなりますね...

 HANAさんがおっしゃっておられることは

 Columns("a").NumberFormat = "yyyy/m/d"

 でフォーマットしておいて、値を挿入、ですよね?
 多分、同じだと思うのですが...
 (seiya)

 (seiya)さん できました ほっ でももう一つ
 a2セルがアクティブのまま終わります、escキーをおせば済む事なんですが

 End With の前に

 .Select
 Application.CutCopyMode = False

 ということですか?
 (seiya)

 う〜〜ん、「コードで制御せず」のつもりですが
 書くとすればその様になると思いますので
 結果としては同じかも知れませんが
 まあ、過程が違うと言うことで。

 あ・・・解決しましたね。良かったです。
(タイミング悪くてごめんなさい。)

 (HANA)

 いえいえ、HANAさん
 試してみる価値はあると思います。
 (seiya)

 (seiya)さん 長いこと付き合ってもらってありがとうございます
 ついでなんですが、
.PasteSpecial xlPasteValuesAndNumberFormats の意味って
 (hana)さんも ありがとうございました

 形式を選択して貼り付け − 値と数値の書式
 をコードにしたものです。
 (seiya)

 (seiya)さん本当にありがとうございました。m(__)m

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.