[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『選択範囲の一つ下の行を選択するケース』(まてりあるさんた)
選択した範囲を指定してから Range("G2:S2").Select
その一つ下の行を追加で選択したい場合どのようなコードになるのでしょうか。
よく最下行を取得する時はあるのですが、
一つ下を連続で6行分追加で選択するVBAを知りたく。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
(???) 2015/06/26(金) 11:35
何のために選択(Select)するのか、いまいちわかりませんが。 (VBA処理の99%は選択しなくても実行可能ですので)
いろんな記述方法がありますけど、一例です。
Sub Test() Range("G2:S2").Select MsgBox "選択状況を確認してください" Selection.Resize(7).Select MsgBox "ご希望通りですね" End Sub
(β) 2015/06/26(金) 11:39
フィルター処理した状態でタイトル Range("G2:S2").Select と
その抽出した分だけを取得する場合についてお聞きしたかったのですが
確かオフセット処理で選択できていたと思うのですが、
すっかり忘れてまして、大変申し訳ないです。
(まてりあるさんた) 2015/06/26(金) 11:59
>>確かオフセット処理で選択できていたと思うのですが
それは記憶違いだと思いますが、ともあれ。
抽出したものを、どうしたいのですか? 別シートにコピペということですかね。
(β) 2015/06/26(金) 13:25
もしそういうことであれば。Test2がタイトル含めてコピペー。Test3はタイトルを除いてコピペです。 いずれも元シートが"Sheet1"、コピー先シートを"Sheet2"としています。 (確かOffset といわれた記憶は、このTest3タイプのものでしたかね。)
Sub Test2() With Sheets("Sheet1").AutoFilter.Range If .Columns(1).SpecialCells(xlCellTypeVisible).Count = 1 Then MsgBox "抽出されていません" Else Sheets("Sheet2").UsedRange.ClearContents .Copy Sheets("Sheet2").Range("A1") End If End With End Sub
Sub Test3() With Sheets("Sheet1").AutoFilter.Range If .Columns(1).SpecialCells(xlCellTypeVisible).Count = 1 Then MsgBox "抽出されていません" Else Sheets("Sheet2").UsedRange.ClearContents Intersect(.Cells, .Offset(1)).Copy Sheets("Sheet2").Range("A1") End If End With End Sub
(β) 2015/06/26(金) 13:32
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.