Excel VBA質問箱 IV

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

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


5587 / 13645 ツリー ←次へ | 前へ→

【50002】コピペの際の日付表示変換 りょう 07/7/3(火) 10:45 質問[未読]
【50006】Re:コピペの際の日付表示変換 Jaka 07/7/3(火) 13:13 発言[未読]
【50009】Re:コピペの際の日付表示変換 Lindy 07/7/3(火) 13:39 発言[未読]
【50015】Re:コピペの際の日付表示変換 りょう 07/7/3(火) 17:22 お礼[未読]

【50002】コピペの際の日付表示変換
質問  りょう  - 07/7/3(火) 10:45 -

引用なし
パスワード
   こんにちは。
”貼付”のシートにある日付(2007年7月3日、Range("F44"))を”目次”のシートにコピペする際、2007年7月3日→07/7/3の表示に変更したいのですが、どうしても変換されません。どこが間違っているのでしょうか?また、このほかにいいアイデアがあれば教えていただきたいと思っています。よろしくお願いします。


Workbooks("再審結果表.xls").Sheets("貼付").Activate
    Range("F44").Select
    Selection.Copy
    Workbooks("再審結果表.xls").Sheets("目次").Activate
    Cells(i, 8).Select
    Cells(i, 8).PasteSpecial Paste:=xlPasteValues
            Selection.NumberFormatLocal = "yy/mm/dd"

【50006】Re:コピペの際の日付表示変換
発言  Jaka  - 07/7/3(火) 13:13 -

引用なし
パスワード
   とりあえず結果報告だけですが、
Book1にこんなコードを書いて

Sub dkdkk()
i = 2
Workbooks("Book1").Sheets("Sheet2").Activate
    Range("A3").Select
    Selection.Copy
    Workbooks("Book1").Sheets("Sheet3").Activate
    Cells(i, 8).Select
    Cells(i, 8).PasteSpecial Paste:=xlPasteValues
            Selection.NumberFormatLocal = "yy/mm/dd"

End Sub

Book1をアクティブにして試してみたら、ちゃんとできました。
他に問題がありそうですね。
ActivateとかSelectとかを使わないコードに変えてやるべきなんだろうけど、
他の人のコード見て自分で考えてみてください。

ブック選択、シート選択、セル選択、選択した者を○○。って書いてあるわけだから、
選択って余分なものと思わないのが、結構不思議。
私は、マクロ記録を編集中になんか選択したものって余分だよな、思ったことがあるので...。

選択コードを抜いてみたらみたで、マクロが動いているのか解らなくて、ガチャガチャ動いていた方が落ち着くなって、1箇所だけわざわざ選択コードの追加したことがあります。
この場合の選択コードは、動いているのがわかればいいので、セルを選択して何かやるといったコードは一切入ってません。
デバッグする時は、何箇所か入れたほうが目で追いやすいので数箇所入れる時もあります。

【50009】Re:コピペの際の日付表示変換
発言  Lindy  - 07/7/3(火) 13:39 -

引用なし
パスワード
   ▼りょう さん:
こんにちは。

もしかして、元の日付のセル書式が文字列で全角で
貼り付ける値も文字列で全角ですか?

質問からはそう受け取ったのですが・・・
というか、そうじゃないとエラーにならないですよね

Sub test()
For i = 1 To 10

 With Sheets("目次").Cells(i, 8)
  .NumberFormatLocal = "@"
  .Value = StrConv(Format(DateValue(Sheets("貼付").Range("F44").Value), "yy/m/d"), vbWide)
 End With

Next i
End Sub

こんな感じでは?

【50015】Re:コピペの際の日付表示変換
お礼  りょう  - 07/7/3(火) 17:22 -

引用なし
パスワード
   JakaさんLindyさん返答ありがとうございます。

確かにJakaさんの言う通り疑問に思ったことあります。
なんでこんなにSELECTやactivateしているのだろうと。
ついエラーが出るのが怖くて使ってしまっています。他の人のを参考にして行こうと思います。ご指摘ありがとうございました。

Lindyさんの方法でやってみたら出来ました。
お二人とも本当にありがとうございました。

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