用单元格位置声明变量

时间:2017-01-13 15:10:08

标签: excel vba

我有一个包含多列和多行数据的工作表。当列a中的单元格具有一些文本(例如,ident)时,数据的相关部分开始。

我正在尝试使用if来遍历单元格,直到找到带有“ident”的单元格并返回其行号(并为此行号指定变量)

我正在使用的代码:

For Each Cell In ActiveSheet.Range("A")
            If ActiveSheet.Cells.Value = "Ident" Then
                start1 = ActiveCell.Row
                Exit For
            End If
        Next Row

问题是,单元格术语给了我一个错误(我可能引用它错了)。在“for each”之后我需要使用什么来浏览A列中的单元格?在这种情况下?

2 个答案:

答案 0 :(得分:2)

import zlib
stream = b"êΩnƒ Ñ{ûbÀKq¬æ\âê"  # binary stream here
data = zlib.decompress(stream) # Here you have your clean decompressed stream

你也可以考虑这两个进一步的改进步骤(从逻辑和速度的角度来看):

  • 第1步

    仅通过具有一些常量文本值的单元格循环

    For Each cell In ActiveSheet.Range("A:A")
        If cell.Value = "Ident" Then
            start1 = cell.Row
            Exit For
        End If
    Next
    
  • 第2步

    使用For Each cell In ActiveSheet.Range("A:A").SpecialCells(xlCellTypeConstants, xlTextValues) If cell.Value = "Ident" Then start1 = cell.Row Exit For End If Next 方法并避免循环

    Find()

    您必须总是指定Set cell = ActiveSheet.Range("A:A").SpecialCells(xlCellTypeConstants, xlTextValues).Find(what:="ident", lookat:=xlWhole, LookIn:=xlValues, MatchCase:=True) If Not cell Is Nothing Then start1 = cell.Row LookInLookAt参数的值,并仔细选择

答案 1 :(得分:0)

循环遍历列的另一个选项。

Option Explicit

Public Sub TestMe()

    Dim cell As Range

    For Each cell In ActiveSheet.Columns(1).Cells
        If cell.Value = "Ident" Then
            Debug.Print cell.Row
            Exit For
        End If
    Next cell

End Sub