Excel VBA質問箱 IV

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

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


10170 / 13644 ツリー ←次へ | 前へ→

【23234】日付の表示について 初初心者 05/3/16(水) 23:04 質問[未読]
【23238】Re:日付の表示について [名前なし] 05/3/17(木) 0:39 回答[未読]
【23347】Re:日付の表示について [名前なし] 05/3/19(土) 4:33 発言[未読]

【23234】日付の表示について
質問  初初心者 E-MAIL  - 05/3/16(水) 23:04 -

引用なし
パスワード
   判らなくて悩んでます。
csv形式で入ってる書類を、excelで取り込みましたが
その中の日付が、20050316のように入ってるのですが
書式で指定しても駄目です。置換似すると日付になるのですが
月が変わると駄目ですし・・・マクロで、毎週使える様にしたいのです。
03/16のように表示したいのですがどうしたらいいでしょうか?
何方か教えてください。お願いします。

【23238】Re:日付の表示について
回答  [名前なし]  - 05/3/17(木) 0:39 -

引用なし
パスワード
   こんなのはいかがでしょうか。
列は、そちらの環境に合わせてください。

Sub Macro1()
Const 列 = "A"
Dim Cell As Range
  For Each Cell In Columns(列).SpecialCells(xlCellTypeConstants)
    With Cell
      If .Value <> "" Then .Value = Format(.Value, "0000/00/00")
    End With
  Next Cell
  Columns(列).AutoFit
End Sub

【23347】Re:日付の表示について
発言  [名前なし]  - 05/3/19(土) 4:33 -

引用なし
パスワード
   あのマクロをそのままモジュールにコピーして、
Const 列 = "A"
   ↓
Const 列 = "B"
にするだけでいいのですが、なぜわざわざ他のところを書き換えてしまうのでしょうか。

日付をmm/dd形式にしたいのであれば、あのマクロを使用して
20050316を2005/03/16という日付にした後、表示形式でmm/ddにすれば
よいのではないでしょうか。

ていうか、無意味なことやってる部分があったのでちょっと訂正。

Sub Macro1()
Const 列 = "B"
Dim Cell As Range
  '指定列の、定数が入ったセルだけを順番に1つずつCellという変数に代入
  For Each Cell In Columns(列).SpecialCells(xlCellTypeConstants)
    With Cell
      'Cellに入力されてる8桁の数字を、4桁,2桁,2桁に / で区切った値に書き換える
      .Value = Format(.Value, "0000/00/00")
    End With
  Next Cell
  Columns(列).AutoFit '列幅の自動調整
End Sub

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