Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


29288 / 76732 ←次へ | 前へ→

【52726】Re:マクロで行全体選択(結合セルがある場合)
発言  やまP  - 07/11/28(水) 19:41 -

引用なし
パスワード
   ▼マクロマン さん:
>選択した後何をするのでしょうか?
>場合によっては、選択する必要が無いかもしれません。

マクロマンさん>
ご返信ありがとうございます。
それでは、もう少し先の目的も書かせて頂きたいと思います。

オリジナルのメニューを作成して、アドインとして作成したいと思っております。
その内容は、
・現在選択しているセル(C3,C4とする)を含む行全体を削除する
・処理後、現在選択しているセルと同じ場所を選択しているようにする
というものです。
この時、A2,A3が結合されていると、2〜4行目全てが削除されることのないようにしたいと思っております。
行番号をマウスでクリックして3,4行目を選択して削除すれば、A2,A3の結合が解除されて、3,4行目のみが削除されると思いますが、それと同じことを行いたいと思っております。

以下は、私が組んだマクロです。
全くもってスマートなコードではないので申し訳ないのですが、
ご参考に解決策を頂けるとありがたいです。


Sub 選択している行全体を削除()

'変数定義
Dim seru As Variant
Dim minRow As Variant
Dim maxRow As Variant
Dim nowColumn As Variant
Dim i As Integer

'初期値代入
minRow = Selection.Row
maxRow = Selection.Row
nowColumn = Selection.Column

'選択されているセルの範囲を求める
For Each seru In Selection
  maxRow = seru.Row
Next
'maxRow = maxRow - 1

'選択されているセルの行全体を選択する
Range(minRow & ":" & maxRow).Select

'選択の中心を元に戻す
For i = 1 To nowColumn - 1
  Application.SendKeys ("{Tab}")
Next
'
'Alt+E+Dのコマンドを送る(これで行の削除を実行)
Application.SendKeys ("%ED")

'セルの選択を一つにする
If Selection.Row = 1 Then
  Application.SendKeys ("{Up}") '1行目を選択している時は上をクリックしても移動しないのでこれでOK

Else
  Application.SendKeys ("{Up}{Down}") 'それ以外は、上・下とクリックする
End If

End Sub
0 hits

【52721】マクロで行全体選択(結合セルがある場合) やまP 07/11/28(水) 18:15 質問
【52724】Re:マクロで行全体選択(結合セルがある場合) マクロマン 07/11/28(水) 19:24 発言
【52726】Re:マクロで行全体選択(結合セルがある場合) やまP 07/11/28(水) 19:41 発言

29288 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free