ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Microsoft Excel&VBA業務活用術コミュの日時のフォーマット変換

  • mixiチェック
  • このエントリーをはてなブックマークに追加
はじめまして Okoといいます。今、アメリカで学生をしているのですが、エクセルで少々苦戦しています。もしお分かりになる方いらっしゃいましたら、よろしくお願いします。

今私のエクセルシート上には、下記のようなフォーマットの日時が3000以上並んでいます。

08/19/07 15:00:00.0
08/19/07 16:00:00.0
08/19/07 17:00:00.0
.
.
.

~~~~~~~~~~~~~~~~~
どうにかして、このフォーマットをこのように(.0を取り除く)

08/19/07 15:00:00
08/19/07 16:00:00
08/19/07 17:00:00
.
.
.


変えたいのですが、どうも思うようにいきません。
フォーマット ー> Number −> Date で希望の形式を選んで試みたのですが、変換されません。

急で申し訳ありませんが、よろしくお願いします。

コメント(8)

>希望の形式を選んで試みたのですが

英語版のExcelメニューがわかりませんが、日本語版ですと「ユーザー定義」形式を選んで、下記を入力すればできると思います。

yy/nm/dd h:mm:ss

製品メニューは言語が違っても位置関係は同じだと思うので、図を貼っておきます。
(Ver2003の場合です)
3000以上・・・
何かのログをEXCELに書き出したりコピーしたなら 文字列型になってるのかな と仮定して
うさりんさんのように定義して(mm/dd/yy hh:mm:ssかな)
VBAエディタをひらいて sub〜EndSubまでをコピーして貼り付け
VBAのメニューから[実行][ユーザーフォームの実行]でどうぞ

Sub cut()
Dim wk As String
Dim st As String
Dim stnm As String
Dim retu As String
Dim cl As String
Dim i As Long
Dim cnt As Long

stnm = "sheet1" 'シート名
retu = "A" '列記号

cl = retu & "1"
cnt = Worksheets(stnm).Range(cl).CurrentRegion.Rows.Count

For i = 1 To cnt
cl = retu & i
wk = Worksheets(stnm).Range(cl)
st = Left(wk, 17)
Worksheets(stnm).Range(cl) = st
Next i

End Sub

※sheet1 の Aの列にデータが入ってる前提です
 シート名や列が違う場合はそれぞれ訂正して下さい
>どうにかして、このフォーマットをこのように(.0を取り除く)

じゃいさんのコメントから、文字列である可能性を考えました。
驚異的なことで解決できます。

置換です。

検索する文字列 に 「.*」 カッコ以外を入力。ピリオドとアスタリスクです。
置換する文字列 に 空欄です。
うさりんさん、じゃいさんぴかぴか(新しい)

解決しました! VBAエディタは使用したことがなく、理解するのに時間がかかりそうだったので、置換の方法をとらせていただきました。

これで、明日のレポート提出間に合いそうですあせあせ。
本当にありがとうございました。
Oko
じゃいさん

>(,,゚Д゚)

↑コレって?

Okoさん

解決おめでとうございました(-ω-)/

解決おめでたうございました(-ω-)/

私の使用しているEXCELのメニューには置換はありません









と いうことにしておいて下さい
※「ちかん」で最初に変換されたのは「痴漢」でした ○ノ乙
フフっ。
じゃいさん、うさりんさん、又よろしくお願いしますね。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Microsoft Excel&VBA業務活用術 更新情報

Microsoft Excel&VBA業務活用術のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。