Excel VBA質問箱 IV

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

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


13322 / 13644 ツリー ←次へ | 前へ→

【5968】悩んでます マミー 03/6/11(水) 12:27 質問
【5973】Re:悩んでます Jaka 03/6/11(水) 12:35 回答
【5985】Re:悩んでます マミー 03/6/11(水) 13:45 お礼
【5988】Re:悩んでます マミー 03/6/11(水) 14:06 質問
【5976】Re:悩んでます つん 03/6/11(水) 12:43 回答
【5987】Re:悩んでます マミー 03/6/11(水) 14:01 質問
【5991】おかしいですね。 つん 03/6/11(水) 14:19 発言
【5994】Re:おかしいですね。 マミー 03/6/11(水) 14:52 質問
【5995】Re:おかしいですね。 こうちゃん 03/6/11(水) 15:00 回答
【5997】Re:おかしいですね。 マミー 03/6/11(水) 15:05 お礼
【5996】Re:おかしいですね。 つん 03/6/11(水) 15:03 回答
【5999】Re:おかしいですね。 マミー 03/6/11(水) 15:06 お礼

【5968】悩んでます
質問  マミー  - 03/6/11(水) 12:27 -

引用なし
パスワード
  

    A   B    C
1  佐藤  011A  靴
2  鈴木  201A  手袋
3  中村  324B  靴下

の場合、列Bの数列の頭に0がある

行ごと削除出来る関数などはありますか?


この場合、行1が削除されます。


 

【5973】Re:悩んでます
回答  Jaka  - 03/6/11(水) 12:35 -

引用なし
パスワード
   こんにちは。

こんなのとか。
Range("B1").EntireRow.Delete

【5976】Re:悩んでます
回答  つん E-MAIL  - 03/6/11(水) 12:43 -

引用なし
パスワード
   こんな感じかな?

Sub test()

  Dim r As Range
  Dim i As Long
  
  For i = Range("b65536").End(xlUp).Row To 1 Step -1
    If Cells(i, 2).Value Like "0*" = True Then
      Cells(i, 2).EntireRow.Delete
    End If
  Next i

End Sub

一応全角で入力が前提で・・・・

【5985】Re:悩んでます
お礼  マミー  - 03/6/11(水) 13:45 -

引用なし
パスワード
   回答ありがとうございます。

今か試してみます。

【5987】Re:悩んでます
質問  マミー  - 03/6/11(水) 14:01 -

引用なし
パスワード
   コマンド実行してみたんですが

最後のNextに対するForがないと

エラーが出ました。

【5988】Re:悩んでます
質問  マミー  - 03/6/11(水) 14:06 -

引用なし
パスワード
   試してみたんですが

コマンド実行するごとに

一番上の行が削除されていきます。

【5991】おかしいですね。
発言  つん E-MAIL  - 03/6/11(水) 14:19 -

引用なし
パスワード
   こちらでは、ちゃんと動作しますが・・・

>最後のNextに対するForがないと
>エラーが出ました。

Forに対するNextもあるし、
Ifに対するEnd Ifもあるしなあ〜

なんか手加えはりました?

ところで今気が付きましたが、

 Dim r as Range

はぜーんぜん必要ないですね(^^;
何故、こんな変数宣言したんだろう?

【5994】Re:おかしいですね。
質問  マミー  - 03/6/11(水) 14:52 -

引用なし
パスワード
   再投入してみたのですが

やっぱりNextに対応するForが

ないとエラーがでます。

Sub test()

  Dim i As Long
 
  For i = Range("b65536").End(xlUp).Row To 1 Step -1
   If Cells(i, 2).Value Like "0*" = True Then
     Cells(i, 2).EntireRow.Delete
'   End If
  Next i
  
End Sub

【5995】Re:おかしいですね。
回答  こうちゃん E-MAIL  - 03/6/11(水) 15:00 -

引用なし
パスワード
   マミーさん、こんにちは
つんさん、横レスごめんなさいね。

>'   End If

このEnd Ifがコメントアウトされてるからじゃないですか?

【5996】Re:おかしいですね。
回答  つん E-MAIL  - 03/6/11(水) 15:03 -

引用なし
パスワード
   >Sub test()
>
>  Dim i As Long
> 
>  For i = Range("b65536").End(xlUp).Row To 1 Step -1
>   If Cells(i, 2).Value Like "0*" = True Then
>     Cells(i, 2).EntireRow.Delete
>'   End If
>  Next i
>  
>End Sub

End Ifのところがコメントになっています。
「'」を削除してください。
VBEに入力(コピペ)したときに、コメントになってると色が変わると思います。
それですぐ判ると思うのですが・・・
もし、変わらないようでしたら、
「ツール」−「オプション」−「エディタの設定」で設定出来ますので、
自分がわかりよい色に設定されたらいいと思いますよ。

【5997】Re:おかしいですね。
お礼  マミー  - 03/6/11(水) 15:05 -

引用なし
パスワード
   できました!!

ありがとうございます。

これで仕事もはかどります。

【5999】Re:おかしいですね。
お礼  マミー  - 03/6/11(水) 15:06 -

引用なし
パスワード
   ありがとうございました。

うまくいきました。

又何かあったらよろしくお願いします。

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