vba - 如何通过 VBA 将动态范围从另一个工作表引用到活动工作表单元格
问题描述
我没有在公式中获得动态范围工作表名称。有人可以帮忙吗?我得到公式中的活动工作表范围为=COUNTIF(I3:I31,A3)
Sub Test_DaySumm()
Dim Rg As Range
wksMain.Select
Dim ws1 As Worksheet
Set ws1 = wksMain
If ws1.FilterMode = True Then ws1.ShowAllData
LastRow = ws1.Cells(Rows.Count, "I").End(xlUp).Row
Set MyRange = ws1.Range(Cells(3, 9), Cells(LastRow, 9))
wksDaySummary.Select
xRow = 3
Do Until wksDaySummary.Cells(xRow, 1) = ""
Set Rg = wksDaySummary.Cells(xRow, 2)
Rg.Formula = "=COUNTIF( " & MyRange.Address(0, 0) & "," & Rg.Offset(0, -1).Address(0, 0) & ")"
Rg.Value = Rg.Value
xRow = xRow + 1
DoEvents
Loop
End Sub
解决方案
看看Range.Address 属性纪录片
.Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo)
并使用External:=True
参数 get 获取地址中的工作表名称:
MyRange.Address(RowAbsolute:=False, ColumnAbsolute:=False, External:=True)
所以而不是例如I3:I31
结果会像'Main Sheet'!I3:I31
推荐阅读
- django - Django Rest Framework 模型序列化器字段级别验证
- r - ggplot y轴对齐与复杂的字符串
- html - 开启第一个 ::before 伪选择器?
- azure - 如何在 Kusto 时间表上缩放数据系列
- sql - 分区而不重新排序数据
- c# - 输入的标记助手 [asp-for] 不适用于字节的数组值(与 @Html.HiddenFor 相对)
- masstransit - 无法使用 Masstransit.Integration.AspNetCore 注册传奇
- android - Android Paging 库不适用于异步请求
- docker - Stikked Docker 容器 - 禁用验证码
- python - 使用 keras 自定义过滤器 CNN