- ベストアンサー
Excelマクロの質問
マクロについて質問があります。 数千行のデータがあるのですが、それを一番上から一番下にするときに、フォームで作ったボタンで一番下にもっていきたいのですが、どのように行ったらいいかわかりません。(フォームで作成までできたのですが…) また、オートフィルタという機能がありますが、一度フィルタをかけるとものをリセットする(フィルタがかかっていない状態)マクロは組めないでしょうか? 分かりにくい質問ですが、分かる人がいましたらよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 数千行のデータがあるのですが、それを一番上から一番下にするときに、フォームで作ったボタンで一番下にもっていきたいのですが、 すみませんが意味不明です。 > 一度フィルタをかけるとものをリセットする(フィルタがかかっていない状態)マクロ Sub test() With ActiveSheet If .FilterMode Then .AutoFilterMode = False End If End With End Sub
その他の回答 (2)
- merlionXX
- ベストアンサー率48% (1930/4007)
#1です。 > コマンド言うと『Ctrl+↓』でできることをマクロで 仮にA列で、A1から下に切れ目なく日付が入っているなら ActiveSheet.Range("A1").End(xlDown).Select 切れ目があるなら、逆に下から『Ctrl+↑』で ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Select
お礼
お答えありがとうございます。 うまくできました。
- imogasi
- ベストアンサー率27% (4737/17069)
ボタンを押したら、データ最下行のセルを指したいということかな。 フォームというのはUserForm? UserFormまで使う必要ないのでは。シートにボタンを1つ貼り付けて、クリックイベントを使う。 最下行は d=Range("A65536").End(xlUp).Row ーー AutoFilterを発行すればよいと思う 聞かなくても、操作をして、マクロの記録をとったら判ることでは無いですか。 操作では フィルタモードで、フィルタのメニューをもう一度クリック または場合によっては、「すべて表示」を選択、とか
補足
早速の回答ありがとうございます。 分かりづらい質問でしたので、例を挙げて書き直します。 例を挙げて説明すると、2000年1月1日から毎日あるデータをとっているのですが、そのデータを書き込みたいときにスクロールで書き込みたい日付まで(今日だったら3月27日)にセルを合わせる方法です。 コマンド言うと『Ctrl+↓』でできることをマクロでUserFormでできないでしょうか? (『SpecialCells(xlCellTypeLastCell).』のようなコマンドです。ただ、これだと罫線も含まれるのでちょっと不適切でした。) これで分かっていただけるとありがたいです。
補足
早速の回答ありがとうございます。 すみません。分かりづらい質問で…。 例を挙げて説明すると、2000年1月1日から毎日あるデータをとっているのですが、そのデータを書き込みたいときにスクロールで書き込みたい日付まで(今日だったら3月27日)にセルを合わせる方法です。 コマンド言うと『Ctrl+↓』でできることをマクロでUserFormでできないでしょうか? (『SpecialCells(xlCellTypeLastCell).』のようなコマンドです。ただ、これだと罫線も含まれるのでちょっと不適切でした。) これで分かっていただけるとありがたいです。