VBA searching through rows and their associated columns and hide column if there is nothing

后端 未结 1 1895
悲&欢浪女
悲&欢浪女 2021-01-16 16:04

I am new to VBA programming. I would like to

  • search through the worksheet, and find \"N\" or \"TR\" on row 6
  • Then, For every cell in the column of \"
1条回答
  •  小鲜肉
    小鲜肉 (楼主)
    2021-01-16 16:42

    1. You don't need two loops.
    2. You mentioned you want to hide column but your code suggest you delete it (I kept solution which hides)
    3. You didn't mentioned which is empty range (which cells are blank) to decide to hide the column- I assumed everything below 11th row.
    4. Here is the code which is tried and tested with some comments inside it.

      Sub checkandhide()
      Dim r As Range
      Dim Cell As Range
      'don't run it for the complete row but from first to last cell in it
      Set r = Range("A6", Cells(6, Columns.Count).End(xlToLeft))
      
      For Each Cell In r
          'you don't need find if you simply need to check value of the cell
          'let's assume we check for 'N' & 'TR'  but not 'n' or 'tr'
          If Cell.Value = "N" Or Cell.Value = "TR" Then
      
              'there are few possibilities to check if there is any value below _
              row 11 (?!) in analysed column. I would use this one:
              If Cells(Rows.Count, Cell.Column).End(xlUp).Row < 12 Then
                  Cell.EntireColumn.Hidden = True
              End If
      
          End If
      Next
      End Sub
      

    0 讨论(0)
提交回复
热议问题