在每个循环中使用范围单元格和UsedRange

马丁·瓦切克(Martin Vacek)

我在xlsx中提取了数据库。我编写了遍历工作表的代码,并将各个单元格/字段写入管道分隔的文本文件中。首先,存在一个问题,该代码忽略以“空白”值开头的行之后的所有行。我使用UsedRange进行了更正。然后,另一个问题开始了-文件具有“固定”的列数,但有时最后3个单元格为空白。在这种情况下,它不起作用-最终会忽略空白单元格。

我认为问题在于每个循环的第二个问题(与myField有关);我花了大约5个小时的时间在Google上进行搜索,使用帮助,使用Range,单元格,End(xxx)尝试不同的组合,但无法解决。有人可以帮忙吗?

最后,代码必须遍历整个矩阵,但第一列和最后一列可能会有空白值。

我在下面粘贴部分代码。

    For Each myRecord In myWkSheet.Range("A1:A" & myWkSheet.UsedRange.Rows.Count)
    With myRecord
        For Each myField In myWkSheet.Range(.Cells, myWkSheet.Cells(.Row, myWkSheet.Columns.Count).End(xlToLeft))
        RplcText = myField.Text
        RplcText = Replace(RplcText, "|", "/") 'Replaces pipes from input file to slashes to avoid mismatches during ETL
        sOut = sOut & RplcText & DELIMITER
        Next myField
        OUTFILE_WRITELINE sOut
        sOut = Empty
    End With
Next myRecord`
用户4039065

如果第一行有一组标题标签,则.CurrentRegion可以使用。请参见Range.CurrentRegion属性(Excel)

dim totalRows as long, totalColumns as long, dataRange as range
with sheets("sheet1").cells(1, 1).currentregion
  totalRows = .rows.count
  totalColumns = .columns.count
  set dataRange = .offset(1, 0).resize(.rows.count -1, .columns.count)  'no header row
end with

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在一页中使用范围选择单元格导出为pdf

清除超出使用范围的单元格

请参考For循环中单元格值的命名范围

如何获取每个循环中的单元格的行号

使用范围和单元格时,数组似乎是从0开始而不是从1开始

垂直循环遍历范围内的每个单元格

用F:F使用范围结尾的空单元格替换0的公式

在Excel中删除行不会重置最后一个单元格(使用范围)

对整个列而不是一个单元格使用范围

Excel VBA使用范围属性设置命名单元格公式

单元格范围 - 每个单元格要复制和粘贴 n 次

如何使用jquery在循环中获取单元格的值

使用VBA比较循环中的单元格

证明在循环中使用范围运算符不会占用额外的内存

如何在 for 循环中使用范围大于 100 的 Windows PowerShell Write-Progress

使用单元格引用循环(范围内)打开和打印 Excel 工作簿

如何在excel中使用动态开始和结束单元格制作动态范围函数?

使用范围和相关年份从for循环中命名pandas数据框

VBA复制循环中的单元格

在类中使用 openpyxl 写入单元格范围

复制每个单元格后循环遍历单元格范围打印一张纸

R:根据每个循环中的行值显示列的单元格值

创建 VBA If Then 循环单元格范围

循环遍历单元格范围

C#擅长如何在使用范围内查找第一个单元格。

将循环从每个单元格更改为Excel VBA中的特定范围

动态范围Excel VBA:您可以库存一个单元格范围,然后使用范围功能再次调用它吗?

单元格范围和 vlookup 的问题

何时在python中使用范围函数进行循环