• ベストアンサー

VBからExcelのセルの書式設定を変更する

Excelのセルに  C2:2000/7/8 16:39:00  C3:2000/7/9 8:30:00 と入っています。 これをExcel上で「=C3-C2」とすれば「1900/1/0 15:51」となります。 これを[セルの書式設定]-[表示形式]-[ユーザ定義]-[[h]:mm:ss]とすると、 [15:51:00]とう結果が得られます。 これをVB上から、Excelのセルを操作して求めたいのですが、可能なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 Excel2000、VB6.0とします。 まず、VBのメニューの[プロジェクト]→[参照設定]で、 「Microsoft Excel X.X Object Library」(X.Xはバージョン) にチェックを入れます。(Excelオブジェクトを使用出来るようにする。) それで、例えばフォームに[Command1]コマンドボタンを貼り付けて、そのクリックイベントで、次のようにすれば出来ます。 なお、予めExcelファイルを用意しておいて下さい。 そのファイルの"Sheet1"のC4の書式設定を変更します。 Private Sub Command1_Click()   Dim xlApp As Excel.Application 'Excelアプリケーションオブジェクト   Dim xlBook As Workbook  'Workbookオブジェクト   Dim xlSheet As Worksheet  'Worksheetオブジェクト   Dim ExcelFileName As String  'Excelファイルのフルパス   ExcelFileName = "c:\Test.xls"   'Excelブックを開く   Set xlApp = CreateObject("Excel.Application")   Set xlBook = xlApp.Workbooks.Open(ExcelFileName)   Set xlSheet = xlBook.Worksheets("Sheet1")   With xlSheet     .Range("C4").Select     Selection.NumberFormatLocal = "[h]:mm:ss"   End With   'Excelブックを閉じる   xlBook.Close True   xlApp.Quit   Set xlSheet = Nothing   Set xlBook = Nothing   Set xlApp = Nothing End Sub あとは、ファイル名やシート名、セルなどを適宜変更して下さい。

snowsaab
質問者

お礼

お礼が遅くなりまして申し訳ありません。 無事、問題解決することができました。 ありがとうございましたm(__)m

関連するQ&A

  • エクセルのセルの書式設定について

    お世話になります。 エクセルのセルの書式設定について質問させて頂きます。 sheet1のA1に本日の日付を入れてセルの書式設定のユーザー定義にて"C"yyyymm"-"を設定することで、「C201512-」となりますが、sheet2のA1に「=sheet1!A1」とし、同じ定義で同じ結果「C201512-」を表示させたいのですが、どのような方法がありますか? 尚、状況によって「C201512-」のCについてはsheet1のA1のユーザー定義において「"C"yyyymm"-"」⇒「"D"yyyymm"-"」に変える場合があります。その場合でも、ユーザー定義をsheet2のA1に同じ結果を表示させたいと考えています。 宜しくお願い致します。 もし、もっと効率の良い方法がありましたら、ご教授頂けると光栄です。 尚、使用環境は OS:windows8.1 EXCEL:EXCEL2013 です。

  • エクセルの書式設定の「#」

    エクセル2002の書式設定についてですが、セルの書式設定の「表示形式」で「ユーザー定義」にします。そして種類のところには「#」と入れました。 セルに「999」と入力すると「999」と表示されました。 ところが「ユーザー定義」の種類のところには「#,」と入れました。 するとセルに「999」と入れても「1」と表示されます。 またセルに「9999」と入れたら「10」と表示されました。 これはどうしてでしょうか?

  • エクセルのセルの書式設定について教えてください。

    エクセルのセルの書式設定について教えてください。 マイナスの値を、△1,234のようにしたいのですが、セルの書式設定の「負の数の表示形式」で選択しようとすると、「ユーザー設定定義を追加できません」というメッセージが表示されてしまいます。計算式は入っているセルですが、特別のことはしていないと思います。なぜでしょうか?

  • エクセルのセルの書式設定について教えて下さい

    エクセル2003において、セルの書式設定で、表示形式を通貨「$」と設定 したいのですが、上記設定を行っているにも関わらず、勝手にユーザー定義が 設定され、「$\○,○○○.○○」と設定されてしまいます。 どのように対応したら、いいでしょうか? よろしくお願いいたします。

  • セルの書式設定

    エクセル2002を利用していますが、セルの書式設定の表示形式なのですが、 ユーザ定義のところにG/標準とひょうじされるんですが、 このGって何かの略ですか? なんか気になって仕方がないのです。 Gの意味がわからなくても操作は出来るのですが、どうしても気になるので誰か教えてください。

  • エクセル【セルの書式設定】で

    エクセルで、 例えば「60270000」と打ち込んだら 「6027万円」と表示されるようにしたいのですが、 (60275000⇒6027.5万円) 「セルの書式設定」⇒「表示形式」⇒「ユーザー定義」 での指示の仕方を教えて下さい。 他の指示の方法でも構いません。

  • VBからEXCELのセルの値を取得する方法

    VBからEXCELファイルのあるセルの値を取得すると、本来の書式設定とは 違った形式で取得されてしまいます。 VBから値を取得する方法を教えて下さい。 *EXCELファイルのセルの設定  セルの書式設定-ユ-ザ-定義-[h]:mm   (時刻ではなく、時間として設定しています) これをVBから普通に取得すると「1.7523548785」などといった 数値になってしまいます。

  • Excelの書式設定の追加が出来ません

    Excelでセルの表示形式の書式設定をユーザー定義で設定追加しようとすると、ユーザー定義の追加は出来ませんとエラーがでます。 シートに保護もかかっていません。 どうしたら書式の設定が追加できるでしょうか?

  • エクセル,セルの書式設定

    エクセルのセルの書式設定→表示形式→ユーザー定義で、電話番号入力の際、数字を入れると勝手に間にハイフンが入ってくれるようにしたいのですが、090-****-****、045-****-****、03-****-**** などすべて番号に対応するようにするにはどうしたら良いでしょうか?

  • エクセルのセルの書式設定について

    エクセルで日付をいれると10/5とかになります。 これを10/05にしたいのです。 セルの書式設定の表示形式でユーザー定義から直せるのは分かるのですが、いちいちm/dとなっているのをmm/ddに直さなければならないので日付の方の規定値として登録できればなと思うのですが。 いかがでしょうか。 よろしくお願い致します。

専門家に質問してみよう