• ベストアンサー

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 に、上記引数リストのいずれかを加えて、並べ替えダイアログでは常に「タイトル行」が選択されるようには、どうしたらよいのでしょうか?

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

  • ベストアンサー
noname#123709
noname#123709
回答No.1

これでいいのかな? Application.Dialogs(xlDialogSort).Show , , , , , , , xlYes

pakbird
質問者

お礼

ご回答ありがとうございます。 xlYes を指定するとは思いつきませんでした。 無事解決です。

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

使い方を覚えたいなら「ツール」「マクロ」「新しいマクロの記録」の状態で 並べ替えを実行すれば引数がセットされたマクロが作成されます。 それで不要な部分をブランクにすればいいのでは?

pakbird
質問者

お礼

ご回答ありがとうございます。 マクロ記録のことをすっかり忘れて質問していました。

関連するQ&A

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

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

  • VBAの組み込みダイアログの引数Argについて

    エクセルVBAでの質問です。 エクセルとして名前をつけて保存なら Sub aaa() Application.Dialogs(xlDialogSaveAs).Show ARG1:="ABC.xls", ARG2:=1 End Sub テキストファイルとして名前をつけて保存なら Sub bbb() Application.Dialogs(xlDialogSaveAs).Show ARG1:="ABC.txt", ARG2:=3 End Sub CSVファイルとして名前をつけて保存なら Sub ccc() Application.Dialogs(xlDialogSaveAs).Show ARG1:="ABC.csv", ARG2:=6 End Sub でうまくいきます。 今度は、ファイルを開こうとxlDialogOpenに変えました。 Sub aaa2() Application.Dialogs(xlDialogOpen).Show ARG1:="ABC.xls" ', ARG2:=1 End Sub Sub bbb2() Application.Dialogs(xlDialogOpen).Show ARG1:="ABC.txt", ARG2:=3 End Sub 以上二つはファイル名入りのダイアログは出ました。でもダイアログの画面にはフォルダーしか表示されません。 Sub ccc2() Application.Dialogs(xlDialogOpen).Show ARG1:="ABC.csv", ARG2:=6 End Sub これは実行時エラーになりました。 どうも、Application.Dialogs(xlDialogSaveAs)とApplication.Dialogs(xlDialogOpen)では引数ARG2が違うようです。 Application.Dialogs(xlDialogOpen)でのARG2は何の指定なのでしょうか?またその数値の意味はなんでしょうか?

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

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

  • EXCEL2000のVBAで、ディレクトリを指定するダイアログボックスを出したい

    VBA歴日も間もない者です。仕事上でVBAをいろいろいじくっています。 Excel2000VBAで、ディレクトリの指定をできるダイアログ画面はないのでしょうか? ユーザーにディレクトリを入力してもらいたいのですが、方法としては、1)直接手で打ってもらうか、2)ダイアログで指定できるようにするかにしたいのですが、あいにく Application.Dialogs(xlDialogOpen).Show Application.GetOpenFilename で「ファイルを開く」でディレクトリを割り出す方法しか分かりませんでした。 できれば、ディレクトリ指定のダイアログ画面をだしたいのですけど、他に方法があれば教えてください。よろしくお願いします。

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

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

  • エクセル ユーザー設定リストで並べ替え

    エクセルで並べ替えをするときに、「ユーザー設定リスト」に沿った並べ替えをしたいです。 「並べ替え」のオプションを選んで、「並べ替え順序の指定」で任意のリストを選ぶのですが、実際に並べ替えると、「最優先されるキー」しかリストに沿った並べ替えが行われておらず、「2番目に優先されるキー」と「3番目に優先されるキー」は、通常のアイウエオ順での並べ替えになってしまいます。 何かいい方法はないでしょうか?

  • エクセルのVBAで指定フォルダにアクセスしてくれません。

    下記のような流れでVBAを作成したところ、xls形式でダイアログを指定する際に指定のフォルダにアクセスしてくれません。記述がおかしいのでしょうか。教えてください。 '**************************************** 'ダイアログ表示(csv形式) Dim MyFileA As String MyFileA = "c:\test\bonaplus" & Format(Date, "yyyymmdd") Sheets("test").Copy Application.DisplayAlerts = False 'arg2:=6(csvファイル形式) Application.Dialogs(xlDialogSaveAs).Show arg1:=MyFileA, arg2:=6 ActiveWindow.Close Application.DisplayAlerts = True 'ダイアログ表示(xls形式) Sheets("data").Select Range("A1").Select Dim MyFileB As String MyFileB = "c:\test\bonaplus" & Format(Date, "yyyymmdd") Application.DisplayAlerts = False 'arg2:=1(xlsファイル形式) Application.Dialogs(xlDialogSaveAs).Show arg1:=MyFileB, arg2:=1 'ActiveWindow.Close Sheets("data").Select Range("A1").Select MsgBox "c:\testにファイルが作成されました。" ThisWorkbook.Close Application.DisplayAlerts = True '**************************************** *************マクロの説明始***************** 指定フォルダにcsv形式でダイアログを表示させる 指定フォルダにxls形式でダイアログを表示させる エクセルを閉じる *************マクロの説明終*****************

  • ExcelのxlDialogInsertPictureで。

    エクセルのVBAで、Application.Dialogs(xlDialogInsertPicture).Showを使って、写真取り込む時に、シートにではなく、フォームのImageに直接取り込む方法ってあるのでしょうか? UserForm1.Image1 = Application.Dialogs _(xlDialogInsertPicture).Show とするとエラーになってしまいます。 宜しくお願いします。

  • エクセルVBAでマクロなしのブックでマクロを使う方法

    タイトルが変ですが、こういうことです。 Sub serch() Application.Dialogs(xlDialogFormulaFind).Show ActiveCell.Value End Sub このコードは検索ダイアログを表示するものですが、これをマクロなしの様々なブックで使いたいのです。 何か方法があるでしょうか?

  • EXCEL VBA 印刷 または PDF

    こんにちは。 EXCEL VBA初心者で、いろいろ調べてみましたが見つけられず 質問します。 1.自分のPCに設定してあるプリンタを選択したい 2.プリンタを指定して紙で印刷する 3.もしくは、PDF印刷を選択したらファイル名を指定して保存 ファイルの保存先は、自分で決めるのでダイアログボックスまででいいですが ファイル名はあらかじめ決めておきたい。 ・PDFにするには、「クロセPDF」を使用しています。(プリンター名も) ・PDFファイル名:ABCD ・使用するユーザーは、全国にいてプリンタ名などばらばら ・Windows XP/ EXCEL2003 シート名を選択してプリンターを選択するところまでは、わかりましたが 印刷するとき、PDFにするときしファイル名を表示させるのがどうしても わかりません・・・ Sub 印刷orPDF() Sheets("シート名").Select Application.Dialogs(xlDialogPrint).Show 以下、不明 どうぞ宜しくお願い申し上げます。

専門家に質問してみよう