- ベストアンサー
Excel2003で日付と文字を結合して表示する方法
- Excel2003で日付と文字を結合して表示する方法について教えてください。
- 質問者は、Excelの特定のセルに入力された日付と文字を結合して、別のシートのセルに表示したいと考えています。
- 質問者のコードでは、日付の表示形式が「平 25/5/14」になってしまい、ある特定の形式「13/05/14」に変更したいとしています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
失礼しました。検証用の手元のマクロから回答した時にダイジェストしたのが失敗でした。 dim day1 as string day1 = format(worksheets("Sheet1").range("A1").value, "yy/MM/dd") です。 #敢えて言えばtext1やtext2もstringで拾っておいた方が、簡単でいいんじゃないかな?とは思いました。 ## 勿論すべてをrangeに統一して dim text1 as range dim text2 as range dim day1 as range set day1 = worksheets("Sheet1").range("A1") set text1 = worksheets("Sheet1").range("B1") set text2 = worksheets("Sheet1").range("C1") worksheets("Sheet2").range("A1") = format(day1.value, "yy/MM/dd") & text1.value & text2.value などのように組むのもアリです。
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
day1 = format(worksheets("Sheet1").range("A1").value, "yy/MM/dd") でよろしいかと。
お礼
keithinさんお久しぶりです。 いつも回答頂きまして有り難う御座います。 さっそく上記のコードに修正し実行したところ他のセルの 文字列と結合しなければ望み通りの表示となりました。 コード wst2.Range("A1").Value = day1 結果 2013/5/14 しかし、B1とC1にある文字列を結合するとやはり 『平 25/5/14』という表示になってしまいます。 コード wst2.Range("A1").Value = day1 & text1 & text2 結果 平 25/5/14組立完了出荷準備中 文字列との結合で何故この様な表記に変わってしまうのか 調べていたのですが原因は結局分りませんでした。
補足
すいません自己解決できました>< というか原因は凄く単純で、私のパソコンの日付設定が和暦なのが原因で、文字列と結合すると平 25という表記になるみたいでした。 試しに西暦4桁表示にして以下のコードを入力した所、解決できました。 Sub test4() Dim wst As Worksheet Dim wst2 As Worksheet Dim text1 As Range Dim text2 As Range Dim day1 As Date Dim strday As String Set wst = Worksheets("sheet1") Set wst2 = Worksheets("sheet2") Set text1 = wst.Range("b1") Set text2 = wst.Range("c1") day1 = Format(wst.Range("a1"), "yyyy/mm/dd") strday = Mid(day1, 3, 2) & "/" & Mid(day1, 6, 2) & "/" & Mid(day1, 9, 2) wst2.Range("A2").Value = day1 wst2.Range("A1").Value = strday & text1 & text2 End Sub 結果 13/05/14組立完了出荷準備中 ←目的の表示 意外すぎて全然気付けなかった為、余計なお手数を取らせてしまってすいません。 これにてこの質問は〆とさせて頂きます。 有り難う御座いました。
お礼
たびたび有り難う御座います 先の補足にて申し上げましたが原因が他にありまして 結論から申し上げると私の単純なポカでした!ごめんなさいw 西暦表示にしてからこちらのコードを試したらバッチリ 上手くいき、目的が達成できましたのでベストアンサーと させて頂きます。