
閲覧ありがとうございます。
Excelのマクロに関しての質問です。
今、テキストデータから「東京都・晴れ」を含む行をExcelファイルに抽出後、そのデータを日付別にふり分けるマクロを作っています。
そこで、テキストデータの日付の表示「11/8/2009」(2009年8月11日)や「8/9/2009」(2009年9月8日)を「2009/8/11」「2009/9/8」のように、年・月・日という表示に変えたいのですが、検索しても色々試しても良いマクロが浮かびません。
よろしければ素敵なマクロ、ご教授願います。
※ちなみに、入力規則などを指定してもテキストからデータを引っ張ってきているため(?)か上手くいきません。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
ごめんなさい。
d/m/yyyy 形式なんだね。英国式?なら、#3 は没で(´A `;)
米国式だと m/d/yyyy だから、11/8/2009 は 2009/11/8
だけど。。この点ははっきりさせた方が良いかもです。
VBA というか Excel のシステム自体 USA 産ですから、
日付書式は基本 m/d/yyyy です。
したがって、#3 のソースで変換をかけると 11/8/2009 は、
2009/11/8 になりますので、ご注意を。
No.5
- 回答日時:
こんにちは。
#4の方が言われる「色んな解釈」の内のひとつになってしまいますが。。。
意味を取り違えていたらすみません。
変換する日付の文字列というのは、
変換前: "11/8/2009" ← 日/月/年 の順
↓
変換後: "2009/8/11" ← 年/月/日 の順
ということでしょうか?
上記の場合だという前提ですが、
以下は、日付文字列の変換部分のみのマクロの一例です。
■サンプルマクロ
注)インデントのため全角スペースを入れています。
/////↓ここから//////////
'==日付のフォーマット変換テスト==
Sub DateConv()
Dim strDate As String
Dim vaDate As Variant
'テスト1:セルに直接データをセットする場合
strDate = "11/8/2009"
vaDate = Split(strDate, "/")
Range("A1").Value = DateSerial(vaDate(2), vaDate(1), vaDate(0))
'テスト2:一旦、文字列に格納してからセルにセットする場合
strDate = "8/9/2009"
vaDate = Split(strDate, "/")
strDate = vaDate(2) & "/" & vaDate(1) & "/" & vaDate(0)
Range("A2").Value = strDate
'テスト3:日付シリアル値のセルデータを文字列として別セルにセット
Range("B1").Value = "'" & Range("A1").Text
Range("B2").Value = "'" & Range("A2").Text
End Sub
/////↑ここまで//////////
■補足
予め、日付データの貼り付け先のセルの表示形式が、
「標準」 または、「日付」
になっていることが前提です。
また、対象セルの表示形式が「標準」になっていた場合で、上記のマクロを
実行した後は、セルの表示形式が自動的に「日付」に変更されます。
いずれの場合も、データ貼り付け後のセルの値は「日付シリアル値」になって
いますので、別の作業で文字列として扱いたい場合は、「日付シリアル値」を
文字列に変換する処理が必要になります。
※上記サンプルの「テスト3」がその一例です。
以上です。参考になれば幸いです。
No.4
- 回答日時:
>2009年9月8日)を「2009/8/11」「2009/9/8」のように、年・月・日という表示に変えたいのですが
特に
>年・月・日という表示に変えたいのですが
質問が易しすぎて、色んな解釈が出来てしまうことは、今まで出ている回答を見ればわかる。何がしたいの?
年月日に分割
文字列化
表示形式の設定 など
元のデータが、「エクセルで日付入力の基本」の、日付シリアル値に現状なっているのか。
なっているなら表示形式の問題でNumberFormat(Local)の問題で、極く基礎的なことで、こんなところに質問するまでも無いレベルの問題だ。
Googleででも「NumberFormat」でWEB照会のこと。
>今、テキストデータから「東京都・晴れ」を含む行をExcelファイルに抽出後、そのデータを日付別にふり分けるマクロを作っています。
前置きみたいなこの箇所は質問に書く必要あるのかな。
No.3
- 回答日時:
こんな感じとか。
IsDate でチェック済みなら、Cdate 関数を使っても良いでしょう。
' // セル選択範囲において日付として評価できる文字列を
' // シリアル値に変換する
'
Sub Sample()
If Not TypeOf Selection Is Range Then Exit Sub
Dim r As Range
Selection.NumberFormat = "yyyy/m/d" 'シリアル値表示形式
For Each r In Selection.Cells
If IsDate(r.Value) Then
r.Value = DateValue(r.Value)
End If
Next
End Sub
No.1
- 回答日時:
参考に
Dim v As Variant
v = "「11/8/2009」(2009年8月11日)"
v = Split(v, "(")
v = Replace(v(1), ")", "")
MsgBox Format(v, "yyyy/m/d")
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルについて教えてください。 1 2023/03/03 08:38
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Excel(エクセル) Excel教えてください。 下記のことが出来るのは、マクロですか?条件付き書式でしょうか、、?知恵を 5 2022/11/12 09:33
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Word(ワード) Word 2016のマクロを Word 2021のWordでキー動作させたい 3 2023/04/12 16:14
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(印)という文字を読み込みたい。
-
Excel UserForm の表示位置
-
エクセル VBA
-
エクセルVBA 配列からセルに「...
-
VBAマクロ実行時エラーの修正に...
-
VBAでのセルの選択で Cells Ra...
-
【VBA】マクロの書き方がわから...
-
-1 のセルだけ色付け
-
複数範囲のCOUNTIF
-
エクセルVBAで、セル内のテキス...
-
Excel VBAにて、セルのコピー範...
-
特定の色のついたセルを削除
-
フィールド内の各レコードの値...
-
数式バーに表示される値(文字...
-
VBAで、FIND NEXTの検索について
-
構造体を使用したデータの読み書き
-
VBAでのCSV保存
-
【VBA】写真の貼り付けコードが...
-
セル範囲を返す関数
-
可変長文字列で困ってます
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
Excel UserForm の表示位置
-
特定の色のついたセルを削除
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
【VBA】【ユーザーフォーム_Lis...
-
VBA:日付を配列に入れ別セルに...
-
複数指定セルの可視セルのみを...
-
C# DataGridViewで複数選択した...
-
【Excel VBA】マクロで書き込ん...
-
データグリッドビューの結合セ...
-
DataGridViewのフォーカス遷移...
-
Excel 範囲指定スクショについ...
-
【Excel VBA】一番右端セルまで...
-
EXCEL VBA 文中の書式ごと複写...
-
【VBA】写真の貼り付けコードが...
-
QRコード作成マクロについて
-
入力規則のリスト選択
-
CellEnterイベント仕様について
-
エクセル、マクロで番号を読込...
おすすめ情報