- ベストアンサー
Excel→PPTで日付データを和暦にするには?
- Excelのデータごとに1枚のPPTスライドをつくって転記するVBAを書きました。しかし、日付のフォーマット変更のやり方がわかりません。何かヒントをいただけませんか?
- Excelのデータごとに1枚のPPTスライドをつくって転記するVBAを書きました。しかし、日付のフォーマット変更のやり方がわかりません。助けてください!
- Excelのデータごとに1枚のPPTスライドをつくって転記するVBAを書いていますが、日付のフォーマット変更の方法がわかりません。どなたか教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは If j = UBound(varRng, 2) Then .Text = .Text & CStr(varRng(i, j)) & vbNewLine intSNum = intSNum + 1 Else .Text = .Text & CStr(IIf(j = 4, Format(varRng(i, j), "ggge年mm月dd日"), varRng(i, j))) & vbNewLine End If としてみて下さい。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルVBAの世界では、下記は確実なので、文字列変数化(下記ではX)して、その段階でPPT(VBA)に渡せばどうですか。 エクセルで、確認テスト用 A1セルに 2016/8/9 A1は日付シリアル値の日付が入っているものとします(文字列とかでないということ。ppt側で以後個のデータを日付演算などに使わないという仮定で。また文字列を日付シリアル値化(変換)する関数はあるので、使いたければ使えると思うが)。 標準モジュールに Sub test01() x = WorksheetFunction.Text(Range("A1"), "ggge年mm月dd日") MsgBox x End Sub PPTシステム側でも日付は日付シリアル値で持っているかどうかよくわからないので。 (日付は、多分文字列で入力されるのだろう。 エクセル側(セル野値)では、セルの値は「日付シリアル値」で入れてないと、日付書式の設定や日数演算や日付関数利用にうまく使えない。 初めて日付シリアル値とい言葉を聞くようなら、WEBで照会し勉強すること。
お礼
imogasiさま、さっそくのご回答ありがとうございます。 最初は、パワポ側でテキストボックスの表示形式を変えられるのでは・・・と思っていたのですが、文字列で入力されており変更できませんでした。 日付(シリアル値)を(関数で)文字列に変換した日付の列を挿入してからマクロを動かせばいいか、とも考えておりましたが、imogasiさんの教えてくださったモジュールも試しながら勉強してみます。 VBAは初心者にも満たない素人なのですが、みなさんが私の稚拙な説明でも状況を理解してくださって、本当に助かりました。ありがとうございました。
お礼
ushi2015さま、ありがとうございました。 ばっちりできました。 ほかの列でフォーマット操作するときにも応用できそうです。 もっといろいろ勉強してみますm(__)m