[[20100328082650]] 『オートフィルタ検索データのコピー』(どかべん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『オートフィルタ検索データのコピー』(どかべん)

 Excel2003/WindowsXP

 オートフィルタで検索したデータの範囲抽出は、下記のコードでできましたが、
このデータを他のシートにコピーすると、検索範囲にデータがないと、貼り付け
シートのフォームを崩してしまいます。貼り付けシートは上下2段で2項目を
まとめていますので、上段に検索データがないときは最悪の状態になります。

 Selection.AutoFilter Field:=10, Criteria1:="商品名" 
 Selection.SpecialCells(xlCellTypeVisible).Select
    上 = 6
        左 = 3
        下 = Range(Cells(上, 左), Cells(上, 左)).End(xlDown).Row
        右 = 8
    Range(Cells(上, 左), Cells(下, 右)).Copy
    Sheets(UserForm2.ComboBox1.Text).Select
    Range("A7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("データ").Select
    Application.CutCopyMode = False
    Selection.AutoFilter Field:=10, Criteria1:="サンプル名"
    上 = 6
        左 = 3
        下 = Range(Cells(上, 左), Cells(上, 左)).End(xlDown).Row
        右 = 8
    Range(Cells(上, 左), Cells(下, 右)).Select
    Selection.SpecialCells(xlCellTypeVisible).Select
    Selection.Copy
    Sheets(UserForm2.ComboBox1.Text).Select
    Range("A45").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("データ").Select
    Application.CutCopyMode = False

 これの防止方法を教えてください。

 状況が見えませんが、検索結果があった場合は問題なく動作するのでしょうか。
 であれば、コピー処理の前に検索データの有無をチェックするだけではダメですか?
 (Mook)

 なんだか、最近その手のコードをよく見かける気がします。。。
   そんなに魅力的でしょうか。
   問題が出る可能性の有るコードなんですが。
 ↓同じコードでの同じ質問です。
[[20100123101125]] 『オートフィルタで検索データの貼り付け』(キョチャン)
 ↑の中でも書いてますが
        下 = Range(Cells(上, 左), Cells(上, 左)).End(xlDown).Row
 この部分は
        下 = Cells(上, 左).End(xlDown).Row
 で良いです。

 でも、そんな事しなくても良いと思いますけどね。
 前の御質問時に書きましたが、フィルタ範囲が分かれば
 コピー範囲は分かるので。

 また、セレクトしないコードを書くようにすると良いと思います。
 ↓は、SpecialCells(xlCellTypeVisible) を入れていないので
 入れてもらうのがよいと思いますが、下の方に同じ様なコードが有りますので
 (上側は別件の話なので、下から6個目辺りからご覧頂ければ良いと思います。)
 ご参考に。
[[20100123101125]] 『オートフィルタで検索データの貼り付け』(キョチャン)

 ちなみに、こちらはそのままですか?
 一言有っても良いと思いますが。
[[20100327171634]] 『セル範囲の選択』(どかべん)

 (HANA)


 解りました。最初のコードは実際作ったコードをアレンジしています。オートフィルタで検索した
データがない場合、別シートに貼り付けたときのトラブル解決方法がわからないので、質問しています。
今までの質問にもこれが伏線にあります。これが解らないので、私の実際のコードは、If文を使って、
検索データがない場合はExit Sub して次の工程に入り、エラーを防いでいます。そのコードは
正常に作動しています。しかし、コードは長いものになっています。(このあたりの質問も、内容は
違っていますが質問していました。)

 この問題を解決するため、私は私なりにその方法を探してきました。たとえば、End(xlDown)、
End(xlUp)等々。

 最後に、私は怪人二十面相です。明智君はその正体を見破っているようですが、私は、この宝石を
奪うまで、ゲームを続けます。皆様にどのようにののしられようとも。
 (どかべんこと怪人二十面相より)

 こんにちは。まだ見ておられるでしょうか。

 > この問題を解決するため、私は私なりにその方法を探してきました。たとえば、End(xlDown)、
 End(xlUp)等々。

 End(xlUp)でいけると思いますが。 うまくいきませんでしたか?
 最終行の行番号と見出し行の行番号が一致したら、表示データ無し。ですよね。
 で、表示データのない時は(不具合がでるから)コピーしない、ですよね。

 > この宝石を奪うまで、
 取られて減るものでなし。欲しいならいくらでも差し上げます(笑)。
 回答されているかた、みんなそうじゃないですか。ただ、なにを宝石と考えるかが違っているだけで。 
覆面なんか被っても 蒸し暑いだけだと思いますが。

 −佳−

 >皆様にどのようにののしられようとも。
 つまりみんなに罵られるような事をするという宣言ですか。
 もしそうであれば管理人であるkazuさんの迷惑にもなりますのでおやめくださいね。
 (独覚)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.