• ベストアンサー

ExcelVBAで、ColorIndexの取得

nayuta_lotの回答

回答No.1

こんにちは フォームを使ってボタンを押すとダイアログがでるような事をしたい のか、マクロの中で処理するのに使用したいのかよくわかりませんが、 取得・設定するなら、ColorIndexで取得・設定する方法とRGB指定で 取得・設定する方法があります。 (1)セル指定.Interior.ColorIndex = カラーNo. ※セル指定:Range,Cells,ActiveCellなど  カラーNo.:1~56 (2)セル指定.Interior.Color = RGB(Red, Green, Blue) ※セル指定:Range,Cells,ActiveCellなど  Red, Green, Blueは各0~255の値 使用例  ActiveCell.Interior.ColorIndex = 5(青)‥  アクティブセルのカラーパターンを青に設定  Dim i As Integer  i = ActiveCell.Interior.ColorIndex  アクティブセルのカラーパターン値をiに取得‥青なら5が入る  色見本のあるサイト↓  http://www.relief.jp/itnote/archives/000482.php    色見本を作るマクロを、ここに記載するのは簡単ですが本サイトの  趣旨に反しますので、For Nextや、ActiveCell.Offset(行,列)など  を使ってご自身で色見本をつくるようなマクロを作ってみてください。  それだけでも勉強になると思いますので  いきずまったら、またマクロを記載の上、質問してください^^  では、健闘を祈りますw。

関連するQ&A

  • Excel VBAの組み込みダイアログについて

    ExcelのVBAの組み込みダイアログで、 Application.Dialogs(xlDialogInsertPicture).Show についてですが、ヘルプの組み込みダイアログボックス引数一覧をみると xlDialogInsertPicture file_name、filter_number とあります。 これは、ダイアログボックスの図の挿入で、ファイル名とファイルの種類の引数になると思いますが、 ダイアログボックスの右上に表示される、表示の縮小表示を選択することってできるのでしょうか?また、ファイルの場所の指定ってできるのでしょうか?どなたか、詳しい方いらっしゃいましたら教えてください。よろしくお願いいたします。

  • 「プリンタの設定」ダイアログボックスのプリンタを指定したい。

    Excel VBAにて以下のコードを書き,接続されているプリンタ一覧の表示と設定は出来るのですが、のダイアログに表示されるプリンタを指定した物だけにしたいのです。 Application.Dialogs(xlDialogPrinterSetup).Show ダイアログの組み込み定数「xlDialogPrinterSetup」は引数でプリンタ名を持てる筈なのですが、どう書いてもエラーになってしまいます。 Application.Dialogs(xlDialogPrinterSetup).Show arg1:="プリンタ名" Application.Dialogs(xlDialogPrinterSetup).Show ("プリンタ名") Application.Dialogs(xlDialogPrinterSetup).Show(arg1:="プリンタ名") やりたい事は接続されているマシンの一覧の中から一つのプリンタを選択肢、それだけの設定ダイアログを出したいのです。

  • Excel 埋め込みオブジェクトのファイル名取得

    Excelファイルに挿入>オブジェクト>ファイルから ・・・ で選択し、埋め込んだオブジェクトのファイル名をVBAで 取得する事はできますか? 実際には上記のように手動ではなく、 Application.Dialogs(xlDialogInsertObject).Show , " ", , True でダイアログを表示し、ファイルを選択させています。 埋め込んだファイルがフォルダ階層が深かったりすると、 ファイル名まで表示されないので、ファイル名を取得して、 別のセルに入力するまでをVBAで処理をしたいと考えています。 既に埋め込まれているオブジェクトの名前を取得する、もしくは ダイアログで選択されたファイルの名前を取得する、ということが できるのであれば教えていただけますでしょうか?

  • ExcelVBA/ダイアログボックスで選んだファイルのファイル名を取得したい

    ExcelのVBAについて教えてください。 「ファイルを開く」の時に出てくるようなダイアログボックスを表示させ、そこで選択したファイルのフルパス+ファイル名を文字列形式で取得したいのですが、どのようにしたら良いでしょうか? 自分でヘルプファイルもある程度調べてみたのですが、よく分かりませんでした。 最終的には、ワークシート上に画像ファイルを挿入し、その作成日付をセルに表示するようなものを作りたいのですが、 Application.Dialogs(xlDialogInsertPicture).Show では、画像は挿入されるものの、挿入した画像のファイル名を取得できないので、日付が調べられないのです。 宜しくお願いします。

  • オートシェイプの書式設定(線と色)の組み込みダイアログボックスを表示することは可能?

    オートシェイプの書式設定の組み込みダイアログボックスをEXCEL VBAから表示させることは可能でしょうか? Application.Dialogs(xlDialogPatterns).Show を使っても、セルやグラフ系のオブジェクトの書式設定はできるようですが、オートシェイプの書式となると、輪郭線の色や太さ(ポイント単位)が指定できないようです。 オートシェイプの書式設定はExcelの組み込みダイアログボックスに入っていないのでしょうか。

  • 保存ダイアログのファイルの種類を限定したい

    Excel 2003を使用しております。 VBAで以下のように保存ダイアログを表示させたときの 「ファイルの種類」をxlsだけにしたいのですが どうすればいいのでしょうか? Application.Dialogs(xlDialogSaveAs).Show

  • エクセルでCSVファイルをユーザーに選択させたい

    エクセルVBAで、特定のフォルダ(C:\Data)に入っているCSVファイルをユーザーに選択させたいのです。 ただ、その際、選択肢に表示させるファイルに、例えば”企画“という文字列があることを条件にしたいのです。 組み込みダイアログであれば OpenFileName = Application.Dialogs(xlDialogOpen).Show("C:\Data\*企画*.csv") で大丈夫だと思います。 しかし、組み込みダイアログでは実際にそのファイルがエクセルで開かれてしまい、先頭の数字の0が消える等の不都合が起きてしまいます。 そのため、ファイルは指定させますが実際には開かずファイル名だけを取得する Application.GetOpenFilenameを使おうと思いました。 これでファイル名さえ所得できればあとは外部データの取り込みでCSVデータを取得できます。 ところが、 OpenFileName = Application.GetOpenFilename("C:\Data\*企画*.csv") はエラーになってしまいます。ネットで検索すると、Application.GetOpenFilenameではファイル名にワイルドカードは使えないようです。 このような場合、どのような方法をとればよいでしょうか?

  • Excel VBA xlDialogSort引数リストの使い方

    いつもお世話になっております。 Excel VBA の使い方で困っていますので、どちらかご教授いただけると幸いです。 状況: 手動で並べ替えセル範囲を選択後、ボタンを押すと、 Application.Dialogs(xlDialogSort).Show を実行して、Excel組込み(標準)の並べ替えダイアログを表示させて、並べ替機能を利用したいのですが、この並べ替えダイアログの「範囲の先頭行」の指定が自動で「データ」となってしまい、困っています。 正しくは、常時「タイトル行」を指定したいと思っています。 そこで、VBAのヘルプを調べて、引数リストなるものを見つけましたが、使い方が判らなくて困っています。 (引数リスト) xlDialogSort orientation、key1、order1、key2、order2、key3、order3、header、custom、case (質問) Application.Dialogs(xlDialogSort).Show に、上記引数リストのいずれかを加えて、並べ替えダイアログでは常に「タイトル行」が選択されるようには、どうしたらよいのでしょうか?

  • vb6を使用しています。VBAの構文をvb6に置き換えて作りましたがう

    vb6を使用しています。VBAの構文をvb6に置き換えて作りましたがうまくいきません。 VBAの構文はプリンターのダイアログボックスを表示するもので Application.Dialogs(xlDialogPrinterSetup).Show これをvb6で下記のようにしました Set objXL = CreateObject("Excel.Application") objXL.Dialogs(xlDialogPrinterSetup).Show ところがxlDialogPrinterSetupの部分で「変数が定義されてません」とでます。 どうすればいいのでしょう?

  • カラーパレットの色名はVBAで取得できますか?

    ご存じの方がいらしたらご教示お願いします。  http://oshiete1.goo.ne.jp/qa3061670.html を拝見して疑問に思ったことですが、塗りつぶし色のカラーパレットに表示するToolTipの「色名」はVBAで取得可能でしょうか 色だけであれば  ActiveWorkbook.Colors(n) nは0~56 で取得できます。でもパレットの各色にマウスをポイントしたときにポップアップする「色名」はどんなコレクションで取得できるのでしょうか。 またカラーパレットで前回選択した色は「選択された状態」になっていますが、パレットの「この色が選択されている」ということを取得するプロパティもあるのでしょうか。 この質問は「現在選択されている色」は色名(文字列)としてなら  Application.CommandBars("Drawing").Controls(n).TooltipText   ( n は ID=1691 のコントロールのIndex番号 ) で取得できるので、各パレットの「色名」を取得できれば、現在選択されているColorも取得できると考えての質問です