Excel VBA質問箱 IV

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

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


35679 / 76738 ←次へ | 前へ→

【46255】Re:特定列の削除について
回答  りん E-MAIL  - 07/1/28(日) 12:04 -

引用なし
パスワード
   Isogai さん、こんにちわ。

>こんにちは、特定の列を削除したいと思って、いろいろと試してみましたが、うまくいかなくて、ここの掲示板へ投稿しました。
>
>Excelファイルの特定列(科目II、科目IV)
1行目のセルの内容について、科目IIまたは科目IVのものを変数にセットし、列全体を削除します。
該当セルを絞るのにFindメソッドを使う方法もありますが、今回は総当りで。

Sub test()
  Dim r1 As Range, Cmax As Long, CC As Long
  With Application.ActiveSheet '現在表示中のシート
   Cmax = .Range("IV1").End(xlToLeft).Column 'データが入った列の一番右
   For CC = 1 To Cmax '列方向に繰り返し
     Select Case Trim(.Cells(1, CC).Value) '念のため前後の空白消去
      Case "科目II", "科目IV" 'この文字がセルに入っていると削除対象
        If r1 Is Nothing Then
         Set r1 = .Cells(1, CC) '1つめのセルをセット
        Else
         Set r1 = Application.Union(r1, .Cells(1, CC)) 'セル追加
        End If
     End Select
   Next
   'ここで処理
   If Not r1 Is Nothing Then
     r1.EntireColumn.Delete '列全体を削除
   Else
     MsgBox "該当文字列なし", vbExclamation '該当の文字列がなかった
   End If
  End With
  Set r1 = Nothing
End Sub

こんな感じです。

0 hits

【46253】特定列の削除について Isogai 07/1/28(日) 11:32 質問
【46254】Re:特定列の削除について かみちゃん 07/1/28(日) 12:03 発言
【46255】Re:特定列の削除について りん 07/1/28(日) 12:04 回答
【46258】Re:特定列の削除について Isogai 07/1/28(日) 19:24 質問
【46259】Re:特定列の削除について かみちゃん 07/1/28(日) 20:29 発言
【46261】Re:特定列の削除について Isogai 07/1/28(日) 20:47 質問
【46667】Re:特定列の削除について Isogai 07/2/11(日) 16:18 お礼
【46262】Re:特定列の削除について りん 07/1/28(日) 22:03 回答

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