【VB6】EXCELのセルに0.033を"3.3%"と自動で表示指定入力したい

このQ&Aのポイント
  • VB6プログラムからEXCELのセルの表示形式をパーセンテージ指定したい。
  • EXCELのシートに1000、33、0.033と入力されます。この0.033を自動的に3.3%と表示したい。
  • VB6からプログラムで自動に3.3%と出るようにしたい。
回答を見る
  • ベストアンサー

【VB6】EXCELのセルに0.033を"3.3%"と自動で表示指定入力したい

お世話になっております。 VB6(visual basic 6)プログラムからEXCELのセルの表示形式をパーセンテージ指定したいです。 EXCEL:EXCEL 2000 OS: win XP 以下にターゲットの中核部分を切り出しました。 --- Dim oApp As Object Set oApp = CreateObject("Excel.Application") oApp.Workbooks.Add oApp.Cells(1, 1) = 1000 oApp.Cells(1, 2) = 33 oApp.Cells(1, 3) = "=a2/a1" --- EXCELのシートに 1000 33 0.033 と入力されます。 この記述ではセルがデフォルト表示のまま(0.033)です。 この0.033を自動的に3.3%と表示したいです さらには小数点以下桁数の指定方法が知りたいです。 (例えば3.300%などど表示させたり) EXCELのシートから手作業による表示形式変更方法は承知しております。 VB6からプログラムで自動に3.3%と出るようにしたいのです。 どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

>EXCELのシートから手作業による表示形式変更方法は承知しております。 知ってるんでしたら記録しましょう。 記録したら Range("A1").Select Selection.NumberFormatLocal = "0.0%" となるんで、後はもうおわかりかと。 oApp.Cells(1, 3).NumberFormatLocal = "0.0%" と追加しましょう。

tantou7
質問者

お礼

ありがとうございます。 お恥ずかしながら、エクセルの「マクロの記録」という手をすっかり忘れておりました。

関連するQ&A

  • 【VB6】EXCELのシート名を変更したい

    お世話になっております。 VB6(visual basic 6)プログラムからEXCELのシート名を指定したいです。 EXCEL:EXCEL 2000 OS: win XP 以下の記述ではシート名がデフォルトのままです。 (sheet1のままで変更できていない) Dim fs As Object Dim oApp As Object Set oApp = CreateObject("Excel.Application")'EXCEL起動 oApp.Visible = True oApp.UserControl = True oApp.Workbooks.Add '新規のワークシートsheet1を追加する oApp.Cells(1, 1) = "シート名を指定したい!" 'セル入力はできた oApp.Sheets("sheet").select oApp.Sheets("sheet").Name = "新シート名" ご覧のように (1)自動EXCEL起動して (2)セル1,1に文字入力して (3)シート名を指定 しようとしております。 セル(1,1)に「シート名を指定したい!」は入力されております。 ブック名(ファイル名)はデフォルトのBook1.xlsです。 シート名の指定方法が間違っているからうまくいかないと思っております。 どうぞよろしくお願いいたします。

  • 【VB6】EXCELセーブ:既に存在していたら自動で数字つけてセーブさせたい

    お世話になっております。 VB6(visual basic 6)プログラムからEXCELのブックをパスを指定してセーブする際、既にその指定のパスのファイルが存在していた場合、に自動的に接尾辞をつけてセーブしたいです。 パスc:\aru_path.xlsでセーブしたいとき、もしすでにc:\aru_path.xlsが存在していた場合、 c:\aru_path_1.xlsとかc:\aru_path(1).xlsのように自動で末尾に数字がつくようにしたいです。 そのとき、 oApp.ActiveWorkbook.DisplayAlerts = False とか手段は何でも良いのですが、自動運転の途中での事なので、自動的に処理が進む意味で、メッセージが出て中断しないようにしたいです。 EXCEL:EXCEL 2000 OS: win XP 以下にターゲットの中核部分を切り出しました。 --- Dim oApp As Object Set oApp = CreateObject("Excel.Application") oApp.Workbooks.Add oApp.ActiveWorkbook.SaveAs "c:\aru_path.xls" '指定のパスで保存 --- ファイルが存在しているがどうかを調べるルーチンがわかればよいかと思い調べましたが分かりませんでした。 どうぞよろしくお願いいたします。

  • 指定したセルに連続データを入力

    お世話になります。 指定したセルを先頭に、任意で指定した範囲で連続データを自動入力するマクロを組みたいです。 具体的には... A1にシリアル番号の先頭番号_例えば"25"と入力 B1にシリアル番号の最後尾の番号_例えば"35"と入力 データを入力すると、C列の5行目を先頭に、25,26,・・・,35と下方向に自動割り当て。 自分ではなりに下記の様に、C列に指定した範囲で1つずつ入力するプログラムは組めましたが... For i = Cells(1, 1) To Cells(1, 2) Worksheets("Sheet1").Cells(i, 4) = i Next i これでは5行目から入力したいのに、25行目から始まってしまいます。 指定したセルに上記のプログラムで実行した数値を入力していくプログラムがいまいち 分かりません。 ご教授の程おねがい致します。

  • VB.net(2003)でのexcel操作

    現在vb.netを使用してのExcelそうさプログラミングを作っており、excel sheetへの文字入力はできるようになりました。そこで質問なのですが、excelシートの特定のセルの値が5だった場合にその隣のセルのあたいを10にするというプログラムを作りたいのですが、VBAではとても簡単なのですが、vb.netを使用してどのようにやればよいかがわからないのでご教示いただきたいです。activecell.offset(0,1)やcells.findのような、VBAをVB.netから使用する方法はあるのでしょうか?

  • VB6にてエクセルのセルに貼り付けで・・・

    お願いします。VB6にてエクセルの任意のセルへデータを貼り付けたいのですが、そのエクセルにauto_openが含まれていてフォームを開くようになっています。 Option Explicit Dim objExcelApp As Workbook ---------------------------- strExcelFile = "C:\A.xls" strExcelSheet = "Sheet1" objExcelApp.ActiveSheet.Cells(1, 1).Value = "A" ではフォームが開いて更新ができません。エクセルを開かずに値をセルへ代入できないものでしょうか? どうかお願いします。

  • VBA セルに入力されている数値でセルを指定する

    Excel VBA初心者です。 Sheet1のA1セルに10、A2セルに3を入力しています。 この入力したセルの数値を参照して、 Sheet2の「Cells(10,3)」(C10セル)を青(Interior.ColorIndex = 5)に 書式変更したいのですが、「Cells(”Sheet1.A1の値”,”Sheet1.A2の値”)」の 書き方がわかりません。 Excel2010を使用しています。 よろしくお願いします。

  • エクセルでの数字表示-00001等

    大変初歩的な質問で恐縮します。 (1)エクセルでの数字表示なのです。桁数指定で、たとえば6桁表示の場合、1でも000001、2を打ち込むと000002・・・・・以下同様に表示し、その後に計算もできるようにするにはどうすればよろしいのでしょうか。 (2)エクセルで同じ数値の場所のみセルを自動的に色をつける方法があれば伝授してください。

  • エクセルで切捨て表示はどうしたら・・・

    セルの表示形式を通貨にして数値を入力し 数ヶ月の平均を出すと、小数点以下まで表示されます。桁数を指定すれば小数点以下は表示されませんが、指定した桁数以下は四捨五入されていますよね。 ここを切り捨て表示にしたい場合はどうすれば言いでしょうか?

  • エクセルの表示形式を保ったまま、セルに値を代入するには?

    現在、既存のエクセルファイルから、 新規エクセルファイルにデータを移すプログラムを作成しています。 CreateObjectを使ってエクセルを開いた後、 xlbook(1).Sheets("sheet1").Cells(1, 1).Value = xlbook(2).Sheets("sheet1").Cells(1, 1).Value Set xlbook(1) = Nothing Set xlbook(2) = Nothing 以上の構文でxlbook(2)からxlbook(1)に値は代入出来るのですが、 この際にエクセルの書式が皆「標準」になってしまい困っています。 xlbook(2)には、表示形式が「文字列」や「ユーザー定義」に設定されたセルが沢山あり、 そのままの表示形式で移すプログラムを作成したいのですが、良くわかりません。 確か、Valueを何かに書き換えたような記憶があるのですが・・・。 皆さんのご教授、宜しくお願い致します。

  • エクセル セルの表示形式についての質問です。

    エクセル セルの表示形式についての質問です。 パーセンテージ表示で、且つマイナスの場合文字フォント赤で表示するにはどうしたらいいですか? セルの書式設定ではどちらかしか設定できません。 よろしくお願いします。

専門家に質問してみよう