Excel VBA質問箱 IV

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

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


50652 / 76732 ←次へ | 前へ→

【30965】Re:範囲指定etc
回答  こたつねこ  - 05/11/8(火) 11:03 -

引用なし
パスワード
   お世話になりますさん、こんにちは

Sub test()
  Dim lngRow As Long
  Dim i As Long
  
  With ActiveSheet
    'F列を必須入力として最終行取得
    lngRow = .Range("F65536").End(xlUp).Row
    
    'データが65536行まで入力してあった場合
    'もしくはデータが無い場合の処理
    If lngRow = 1 Then
      If .Range("F2").Value = "" Then
        Exit Sub
      Else
        lngRow = 65536
      End If
    End If
    
    '画面更新しない
    Application.ScreenUpdating = False
    
    For i = lngRow To 2 Step -1
      If .Range("E" & i).Value = "" Then
        'E列が未入力の場合
        'G列に○が入っている場合のみ行削除
        If .Range("G" & i).Value = "○" Then
          .Rows(i).Delete
        End If
      Else
        'E列が入力されている場合
        'G列に丸が入っている場合のみF&G列削除
        If .Range("G" & i).Value = "○" Then
          .Range("F" & i & ":G" & i).Delete Shift:=xlToLeft
          'もしくは
          '.Range("F" & i & ":G" & i).Value=""
        End If
      End If
    Next i
    
    '画面更新する
    Application.ScreenUpdating = True
  End With
End Sub

こんな感じでどうでしょう?

0 hits

【30944】範囲指定etc お世話になります 05/11/7(月) 17:09 質問
【30948】Re:範囲指定etc ちくたく 05/11/7(月) 18:23 回答
【30952】Re:範囲指定etc HiroHiro 05/11/7(月) 21:32 回答
【30962】Re:範囲指定etc お世話になります 05/11/8(火) 9:22 質問
【30965】Re:範囲指定etc こたつねこ 05/11/8(火) 11:03 回答
【30968】Re:範囲指定etc お世話になります 05/11/8(火) 14:09 お礼

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