• ベストアンサー

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