どなたかご教示頂ければ幸いです。

Advancedfilterを使って抽出したデータを、どこかのセルに表示するのではなく、
メッセージボックスに表示したいと思っております。

copytorange以降に手を加えることが可能なのかさっぱりわかません。

何卒よろしくお願い申し上げます。

A 回答 (2件)

>Advancedfilterを使って抽出したデータを、どこかのセルに表示するのではなく、


>メッセージボックスに表示したい

そんな機能はありませんので,諦めて
推奨:
1)どこかのセルに絞り込み結果を表示して下さい
  別シートに書き出させることも,その場で絞り込んで表示することも,Advancedfilterで出来ます
2)セルからデータを拾ってメッセージボックスで表示して下さい。
  セル(シート上)に「見える」のがイヤなだけなら,たとえば裏シートに抽出しておくなど回避策はいくらでもあります。


別の手(ご質問でヤリタイ事に一番近い):
データメニューの「外部データの取り込み」でクエリを使ってデータを抽出し,その結果を出力するような手が使えるかも知れません。
マクロ以前に外部データの取り込みが手動で行えるよう練習すれば,それを新しいマクロの記録でマクロに録って利用できます。


別の手(やれば出来る):
データを舐めるように1行1行調べて抽出結果を取り出すことも,やれば出来ます。
大概はとても重くて遅くて実用ではありません。が,「簡単に」出来ます。


別の手(できるかどうかはあなた次第):
そもそもどんな抽出条件でAdvancedFilterを使おうとしているのかは今はご質問内容ではないので特にお尋ねしませんが,その抽出をマクロで強引に組み立てて素早く抽出結果を得られるアイデアがあるかも?しれません。
    • good
    • 0

エクセルはシートの学(学び)でありセル(セル範囲)の学びです。

エクセルの前提は、結果もセル範囲に出そうとするものです。フィルタもそうです。
こんな基礎的なことも知らず、エクセルで云々というのはおかしいのです。エクセルなど相手にしないデータ処理能力があるなら別ですが、こんなことを聞くようではそうでは無いでしょう。
ーー
ただしセルにセットされた結果を、別途MSGBOXや、キスとボックスに表示したりは、VBAの中級の技量で出来るでしょう。
良くエクセルの機能を改変するようなことをしたいという質問が出るが、エクセルVBAは、ほとんど、エクセルに対し人間の操作で出来ることをスクリプトで行う(それ以上は出来ない)ものです。
==
全体にどういうことをしたいのか、ぶっちゃけて、その手段は識者に別質問で問うてはどうです。
>Advancedfilterを使って、がそもそも最適なのかどうか、他に方法が無いのか、質問が不完全で判らないから。
抜き出し(検索抽出)ーー>Advancedfilterというのが、他の方法を知らないだけから来るのではないか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル(マクロ記録)

よろしくお願いします。
エクセルで、印刷マクロを作ろうと考えています。
             (基本、入門者です)
マクロ記録で、作っていますが、
記録終了するたびに「 印刷 」がかかっては、
用紙が何枚あっても足りません。

いい考えがありましたら、お教えください。
お願いします。

Aベストアンサー

#3の回答者です。

>出来たら、この i=1 の意味を教えていただけませんでしょうか?
単に、それはページ数です。

ヘルプを引用します。(PrintOut で調べました)

式.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName, IgnorePrintAreas)

From オプション 印刷を開始するページの番号を指定します。この引数を省略すると、最初のページから印刷します。
To オプション 印刷を終了するページの番号を指定します。この引数を省略すると、最後のページまで印刷します。

と出てきます。

QExcelを保存して閉じるとマクロが消えます。原因と解決方法をどなたかご教示いただけないでしょうか。

Excelを保存して閉じるとマクロが消えます。原因と解決方法をどなたかご教示いただけないでしょうか。

ネットで、文字列からハイパーリンクを抽出するマクロを見つけたのでこれ幸いと思い、Excelに保存しました。このときマクロ有効ブックの拡張子にして保存しています。ところが保存して一旦閉じたあと開いてみると、先ほどまで使っていたはずのマクロが存在しないのです。

マクロ保存先が間違っているのかな?とは思いますが、原因がお分かりになるかたがいらっしゃれば、ご教示いただけますと幸いです。

尚、拾ったコードはこちらです。
http://oshiete.goo.ne.jp/qa/2356920.html

public subというところが怪しいような気もします…

Aベストアンサー

個人用マクロ ブック (Personal.xlsb) に保存したということはないですか?

Qエクセル マクロコードの記述の勉強

独学でエクセルでのマクロのコード記述ができるようになりたいのですが、コードがかける人はどのようにしてかけるようになったのでしょうか?

プログラミング関係にはまったくの初心者なので、入門本を立ち読み程度読んでみたのですが、「面白そうだが、かなり手強そう」というような印象でした。

現実的な問題として、実際にコードをかける人は、プログラミング関係の学校等で学んだ人ぐらいしかいないのでしょうか?

めざすレベルはエクセルでこうしたいと考えたものを調べながらコードをかける程度のレベルです。

Aベストアンサー

> 実際にコードをかける人は、プログラミング関係の
> 学校等で学んだ人ぐらいしかいないのでしょうか?

そんな事ないです。私も独学で覚えましたから。

エクセルはマクロ記録がありますので、実際の操作を記録して書かれたコードを追っていったり、書き直したり出来ます。
VisualBasicEditor画面でコードにカーソルを置き、F1キーを押すとVBAヘルプ(たしか標準ではインストールされないので追加インストールの必要がある)が開くので、意味を調べたり、サンプルコードを見たりして覚えて行きました。
ネットにも沢山サンプルがありますし。

変数の使い方とforやif等を覚えてマクロ記録を直すだけでも結構便利になります。

Qセル移動マクロについてご教示下さい。

市町村別の住所録を作成していますが、次のようなマクロが出来れば新たな住所の入力を
するのに便利になると、質問させていただきました。

シート1に市町村名を、シート2に市町村毎の住所録を入力しています。

シート1のB列に入力している市町村名をクリックすれば、シート2のC列に入力している
市町村名にセル移動するようなマクロは可能でしょうか。

マクロはコードの張り付け程度しか出来ない超初心者です。
どなたか、よろしくお願いいたします。

Aベストアンサー

>シート1のB列に入力している市町村名をクリックすれば、
>シート2のC列に入力している市町村名にセル移動

シート1のシートモジュールに貼り付けてお試し下さい。
市町村名を右クリックで動きます。

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
  Dim myR As Variant

  With Target
    If .Column <> 2 Then Exit Sub
    If .Value = "" Then Exit Sub
    myR = Application.Match(.Value, Worksheets("Sheet2").Columns(3), 0)
    If IsError(myR) Then
      MsgBox .Value & "は、登録されていません。"
    Else
      Application.Goto Worksheets("Sheet2").Cells(myR, "C")
    End If
  End With
  Cancel = True
End Sub

>シート1のB列に入力している市町村名をクリックすれば、
>シート2のC列に入力している市町村名にセル移動

シート1のシートモジュールに貼り付けてお試し下さい。
市町村名を右クリックで動きます。

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
  Dim myR As Variant

  With Target
    If .Column <> 2 Then Exit Sub
    If .Value = "" Then Exit Sub
    myR = Application.Match(.Value, Worksheets("Sheet2").Columns(3), 0)
    I...続きを読む

Qエクセルについているマクロが出てこない・・・

 エクセルをひらき、ツール→マクロ→マクロでマクロの作成ができると聞きましたが、私のエクセル2002ではマクロのその機能が空欄状態です。復帰や回復できる方法を教えて下さい。

Aベストアンサー

(1)自分でマクロの記録を採る。
    ツールーマクロー新しいマクロの記録
(2)または他人がマクロの記録をとった。
   (3)他人がVBAコード(プログラム)を組んだ
    ツールーマクローVBEープログラム作成
場合に出てくる。(1)(2)(3)ともやっていないから、出てこないのは当然。
(1)なぞはマクロの画面でマクロー編集でコードが見れます。
ーーー
本でもWEBでも、マクロに関する本1冊か、「エクセル マクロ」でWEB照会して、勉強し。予備知識をえるべきです。

Qsheet間の移動マクロについてご教示下さい

ボタンをクリックすると、
sheet1のA5に入力されている名前のsheetに移動するマクロをご教示ください。
sheet1のA5には、関数により、その都度変わる名前が表示されるようになっています。
なお、マクロはコードを張り付ける程度の初心者ですので、よろしくお願いいたします。

Aベストアンサー

ALT+F11を押す
現れた画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける

sub macro1()
 dim s as string
 s = worksheets("Sheet1").range("A5").text
 on error goto errhandle
 worksheets(s).select
 exit sub

errhandle:
 msgbox "worksheet " & s & " is not found"
end sub

ファイルメニューから終了してエクセルに戻る
シートにオートシェイプや画像でボタン絵柄を配置する(またはフォームのコマンドボタンを使用する)
右クリックしてマクロの登録で先のマクロを登録する。



#エクセルには「ボタン」として使えるものが幾つか種類があります。間違ったものを利用すると出来ませんので、ご自分が何を使いたいのか、寄せられた回答は何を使う前提で話しているのか、間違えないようによく注意してください。

Qエクセル2010で作成したマクロ

エクセル2010で作成したマクロブックがあります。
このエクセルを知人にメールで送りました。

知人のエクセルは2007です。
マクロブックのフォームボタンを押しても何も動作しない状況との事です。

エクセル2010で作成したマクロブックはエクセル2007と互換性がないのでしょうか?

素人の質問で申し訳ありませんが、ご指導お願いいたします。

Aベストアンサー

>エクセル2010で作成したマクロブックはエクセル2007と互換性がないのでしょうか?

ご相談の状況からすると、まずそういう事はありません。
まぁ2010でしか動かない内容であなたがマクロを作成した可能性は確かにありますが、その場合でも「何も動作しない」という事はありません。ふつーにエラーが出て止まります。



一応あなたの側で確認しておくべきポイントとしては、
○間違ったブックを送っていないか再確認する
 ・ちゃんとマクロを付けたブックを送ったか確認する
 ・名前を付けて保存でファイルの形式をマクロ有効ブックにして保存したのを送ったか再確認する
といったところをよく確認してください


先方に対してあなたが確認すべきポイントとしては、
○「何も起こらない」とは、具体的にどんな状況なのか再確認する
 ・ホントにうんともすんとも反応が無いということなのか
 ・実は何かエラーメッセージっぽいダイアログが現れて、OKをクリックしてもマクロが動作した様子が無いとかの状況では無かったか



具体的な状況が明らかになったら、ようやく対処を検討する事ができるようになります。
●そもそもどういうマクロを作成したのか、ご自分の作成したマクロをよく確認して、「反応が現れない」マクロを書いてたんじゃないのか再確認する
 たとえば無意味にon error resume nextのような仕込みをしてたりしないか
 たとえば不適切なデータに対して何も作動せずに終わってしまうようなそもそも作りにしてたんじゃないか
 とか。

●実は何かダイアログが出てたのなら、具体的にどんなダイアログなのか正確に聞き取って、あなたの方で対処を考える
 「マクロが無効になってる」のなら、マクロを有効にして実行するように伝える
 とか。

>エクセル2010で作成したマクロブックはエクセル2007と互換性がないのでしょうか?

ご相談の状況からすると、まずそういう事はありません。
まぁ2010でしか動かない内容であなたがマクロを作成した可能性は確かにありますが、その場合でも「何も動作しない」という事はありません。ふつーにエラーが出て止まります。



一応あなたの側で確認しておくべきポイントとしては、
○間違ったブックを送っていないか再確認する
 ・ちゃんとマクロを付けたブックを送ったか確認する
 ・名前を付けて保存でファイル...続きを読む

Qファイル名のダブルクリックで、保存ファイルの呼び出しマクロにつてご教示ください。

同じホルダー内なら、ファイル名をダブルクリックすることで、保存しているファイルを開くことが出来ると聞きました。
 例えば、開いているファイルのA列に、保存している色々なファイル名を入力して、そのセルをダブルクリックすれば、保存ファイルが開くといったことです。
 A列に、保存している沢山のファイル名を入力して、ファイルオープンをスムーズに行いたいと考えております。
そうのような、マクロがあれば、ご教示ください。
 なお、使用しているエクセルは2010です。
どなたか、よろしく、お願いいたします。

Aベストアンサー

別にマクロを使わなくても
HyperLink関数で可能ですよ。

マクロならシートモジュールを使います。
ファイル名が A列とします。
シート名を右クリック
コードの表示をクリック
VBエディターが起動したら
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column=1 Then
Workbooks.Open Filename:=Thisworkbook.Path & "\" & Target.Value & ".xlsx"
End If
End Sub

Qエクセルで作成したマクロが他のシートに反映しない

必要に迫られ始めてマクロをエクセル上で作成してみました。(初心者)
そのマクロを違うエクセルファイル上でも反映させたいのですが
マクロを作ったおおもと(最初)のファイルを閉じてしまうと違うエクセルファイルを開いてもマクロが反映されていません。
マクロでの命令内容としては 
エクセル上の数字の羅列→グラフ作成→上書き保存 という手順で作りました。
他のエクセルファイルも同じように数字の羅列があります。それを同じ作業(グラフ作成→上書き保存)したいのです。
一度作ったマクロを他のエクセルファイルにも反映させるにはどうしたら良いのでしょうか?
説明がわかりにくくてすみません。
よろしくお願いします。

Aベストアンサー

マクロの記録先を「個人用マクロブック」にするのが良いと思います。
一回マクロの記録を行い「保存先」を「個人用マクロブック」にします。するとPERSONAL.XLSという特別なブックが作成されます。

このブックの標準モジュールシートに先に作ったマクロを貼り付けてください。

そうすればエクセルを開くと、どのブックでもマクロが実行可能になります

Qいつもお世話になります。 下記のVBAの誤りはどこにあるのか、どなたかご教示いただけないでしょうか?

いつもお世話になります。
下記のVBAの誤りはどこにあるのか、どなたかご教示いただけないでしょうか?

B列4行目に今くだものの名前が飛び飛びで入っているとします。
最終行を可変にして、リンゴという値がが入った行だけを削除したいです。

Sub てすと()
Dim IRow As Long
Dim i As Long
Const j = 2
IRow = Cells(Rows.Count, 1).End(xlUp).Row
Application.SreenUpdating = False
for i = 4 to IRow
If Cells(i, j).Value = "リンゴ"
Range(i & ":"&i).Delete
End If
Next i
Application.ScreenUpdating = True
End Sub

素人コードで恐縮ですが、ご回答いただけますと幸いです。

Aベストアンサー

No.1です。

>なぜでしょう?いただいたコードを貼り付けたのですが全く反応しません…!!

コード自体は問題ないはずですが、考えられるコトといえば・・・
A列にはデータが入っていますか?
A列で最終行を取得していますので、A列にデータがない場合は反応しないと思います。
(お示しのコードがA列で最終行を取得しているようなので、敢えてそのようなコードにしています。)

B列で最終行を取得する場合は
>For i = Cells(Rows.Count, "A").End(xlUp).Row To 4 Step -1

>For i = Cells(Rows.Count, "B").End(xlUp).Row To 4 Step -1
としてみてください。m(_ _)m


人気Q&Aランキング