vba - For循环与另一个范围内的单元格范围
问题描述
试图弄清楚下面的代码在做什么,但无法弄清楚:
For Each c In Sheets("Control").Range("y3:y" & Range("y" &
Rows.Count).End(xlUp).Row).Cells
Sheets("forecast").Range("a5") = c
我认为正在发生的事情:
下面c
设置为某个单元格,其中包含一个名称。在每个单元格的上部,在工作表控件中,从y3
直到结束的范围,....然后混乱开始。接下来发生什么:
Range(".." & Range(".." & Rows.Count).End(x1Up).Row).Cells
我怎么读这个?
这是来自 Sheets("Control") 的表格:
解决方案
Range(".." & Rows.Count).End(x1Up).Row
- 你这里有一个错字,它是xlUp
( l
, 代表柠檬水,而不是1
)。使用Option Explicit
以避免此类错误!
无论如何,它的意思是这样的:在 column".."
中,在你的情况下y
,转到底部的最后一行。然后向上,直到遇到第一个非空白单元格并得到它的Row
.
因此,如果您在 range 中有值Y1:Y20
,那么从底部向上将在第 20 行结束,将您20
作为行号。
推荐阅读
- reactjs - 登录后反应路由器未正确路由
- php - 在 PHP 中为 JSON 创建 DateTime
- powerbi - PowerBi - 更新 PowerBi Cloud 上的报告
- azure-devops - Azure devops 发布测试结果以及需求链接
- webpack - 从 Expo 的 createWebpackConfigAsync 配置 Webpack 时,WebStorm 不解析别名
- python-3.8 - 无法在诗歌中添加插件
- php - PhpMailer,如何为多个 addCC 电子邮件地址正确写入变量值?
- flutter - 修复需要在 Flutter 中扩展的 Widget 的最小宽度
- csv - 将具有结构的 Hive 表写入 TSV 文件
- python - 我可以在 python 模块上运行 line_profiler 吗?