- ベストアンサー
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のセルを操作して求めたいのですが、可能なのでしょうか?
- snowsaab
- お礼率49% (71/144)
- Visual Basic
- 回答数1
- ありがとう数1
- みんなの回答 (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 あとは、ファイル名やシート名、セルなどを適宜変更して下さい。
関連する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 です。
- ベストアンサー
- Excel(エクセル)
- エクセルの書式設定の「#」
エクセル2002の書式設定についてですが、セルの書式設定の「表示形式」で「ユーザー定義」にします。そして種類のところには「#」と入れました。 セルに「999」と入力すると「999」と表示されました。 ところが「ユーザー定義」の種類のところには「#,」と入れました。 するとセルに「999」と入れても「1」と表示されます。 またセルに「9999」と入れたら「10」と表示されました。 これはどうしてでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルのセルの書式設定について教えてください。
エクセルのセルの書式設定について教えてください。 マイナスの値を、△1,234のようにしたいのですが、セルの書式設定の「負の数の表示形式」で選択しようとすると、「ユーザー設定定義を追加できません」というメッセージが表示されてしまいます。計算式は入っているセルですが、特別のことはしていないと思います。なぜでしょうか?
- 締切済み
- オフィス系ソフト
- エクセルのセルの書式設定について教えて下さい
エクセル2003において、セルの書式設定で、表示形式を通貨「$」と設定 したいのですが、上記設定を行っているにも関わらず、勝手にユーザー定義が 設定され、「$\○,○○○.○○」と設定されてしまいます。 どのように対応したら、いいでしょうか? よろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- エクセル【セルの書式設定】で
エクセルで、 例えば「60270000」と打ち込んだら 「6027万円」と表示されるようにしたいのですが、 (60275000⇒6027.5万円) 「セルの書式設定」⇒「表示形式」⇒「ユーザー定義」 での指示の仕方を教えて下さい。 他の指示の方法でも構いません。
- ベストアンサー
- その他([技術者向] コンピューター)
- VBからEXCELのセルの値を取得する方法
VBからEXCELファイルのあるセルの値を取得すると、本来の書式設定とは 違った形式で取得されてしまいます。 VBから値を取得する方法を教えて下さい。 *EXCELファイルのセルの設定 セルの書式設定-ユ-ザ-定義-[h]:mm (時刻ではなく、時間として設定しています) これをVBから普通に取得すると「1.7523548785」などといった 数値になってしまいます。
- ベストアンサー
- Visual Basic
- Excelの書式設定の追加が出来ません
Excelでセルの表示形式の書式設定をユーザー定義で設定追加しようとすると、ユーザー定義の追加は出来ませんとエラーがでます。 シートに保護もかかっていません。 どうしたら書式の設定が追加できるでしょうか?
- 締切済み
- オフィス系ソフト
- エクセル,セルの書式設定
エクセルのセルの書式設定→表示形式→ユーザー定義で、電話番号入力の際、数字を入れると勝手に間にハイフンが入ってくれるようにしたいのですが、090-****-****、045-****-****、03-****-**** などすべて番号に対応するようにするにはどうしたら良いでしょうか?
- ベストアンサー
- その他MS Office製品
- エクセルのセルの書式設定について
エクセルで日付をいれると10/5とかになります。 これを10/05にしたいのです。 セルの書式設定の表示形式でユーザー定義から直せるのは分かるのですが、いちいちm/dとなっているのをmm/ddに直さなければならないので日付の方の規定値として登録できればなと思うのですが。 いかがでしょうか。 よろしくお願い致します。
- 締切済み
- オフィス系ソフト
お礼
お礼が遅くなりまして申し訳ありません。 無事、問題解決することができました。 ありがとうございましたm(__)m