我有一个包含多列和多行数据的工作表。当列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列中的单元格?在这种情况下?
答案 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
,LookIn
和LookAt
参数的值,并仔细选择
答案 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