[[20170506044008]] 『指定行を削除するには』(JK) ページの最後に飛ぶ

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

 

『指定行を削除するには』(JK)

深夜にすいません。

Private Sub CommandButton2_Click()

    Dim tate As Long, yoko As Long
    Dim yokoX As Long
    Dim rngA As Range
    On Error GoTo errhand
    yokoX = TextBox1.Text
    If yokoX < 1 Then Exit Sub

    tate = Range("B65535").End(xlUp).Row
    Set rngA = Range(Cells(11, 8), Cells(tate, 9 + yokoX))

    rngA.Delete Shift:=xlToLeft

    Unload Me

errhand:

End Sub

このロジックですが、削除する列数を入力し、実行すると指定列数が削除されるというものです。
これの開始列をずらしたいのですが、どうしても分からず。
これを動かすと指定列数は削除されるのですが、H列からも削除されます。

削除はJ列以降を対象としたいのですが、方法が分かりません。

やりたいことは
指定列数削除
対象はJ列以降
というものです。

なるべく自己解析しますので
すいませんが、ご教授お願いできませんでしょうか?

< 使用 Excel:Excel2010、使用 OS:Windows7 >


                「8」はH列です。J列以降なら「10」としたらどうですか?。
                               ↓
  > Set rngA = Range(Cells(11, 8), Cells(tate, 9 + yokoX))

(半平太) 2017/05/06(土) 07:09


 冒頭にエラートラップを記述してエラーが発生すれば操作者が気づかないまま
 何も処理されずにおわってしまうといったことを筆頭に、コード記述そのものには ???? というところが
 少なくありませんが、それは横におきます。

 実際にどこからどこまでを削除しようとしているのかが不明ですが、そちらのコードでは

 削除領域の左上隅が Cells(11, 8) 、つまり H11 。
 右下隅が Cells(tate, 9 + yokoX) 、つまり I列から TextBox1 で指定した列数分、右にいった列で、B列のデータ最終セルの行まで。

 こうなっていますから、H列が削除されるのは当然ですけど?

 H11 を J11 とすれば、済む話かもしれません。(ただし、列数が気になります。)

(β) 2017/05/06(土) 07:36


半平太様、β様

 朝早くに回答ありがとうございました。

お恥ずかしながら、

  > Set rngA = Range(Cells(11, 8), Cells(tate, 9 + yokoX))
               ↑
この通り、H列を指定しておりましたのに
気付けていませんでした。

ちょっと?が強く周りが見えていませんでした。

助かりました。

が、また別の?が出ましたので、別であげさせてもらいます。
今回はどうやっても分からなく、お力をお貸しください。

よろしくお願いします。
   

(JK) 2017/05/06(土) 07:44


コメント返信:

[ 一覧(最新更新順) ]


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