excel - 使用 Cell.Address 定义范围 - VBA
问题描述
我正在尝试复制一个大小不同的范围,该范围由数组中第一个和最后一个单元格的值定义。
我已经找到了限制范围的 Cell.Address,但是当我尝试将这些输入到我的 Range(Cell1, Cell2) 中时,我得到了错误。
我的 Cell1 由以下人员给出:
Cells.Find("ID").Offset(1,0).Address
我的 Cell2 由以下给出:
Cells.Find("Description of initiative").offset(1,0).end(xldown).Offset(0,cells.Find("ID").Column-cells.Find("Description of initiative").Column).address
我试过简单地将它们剪切并粘贴到 Range(Cell1, Cell2) 中,但我得到了错误。我尝试创建和定义变量,但没有运气。如果有人可以在这里帮助我,我将不胜感激。
谢谢
感谢您的回复 - 这是完整的代码:
Sub Refresh()
Dim wB As Workbook
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each Worksheet In Worksheets
Select Case Worksheet.Name
Case "Inputs", "Instructions"
Case "Project Dashboard"
Range("B29:B1000").ClearContents
Case Else
Worksheet.Delete
End Select
Next Worksheet
ufProgress.LabelProgress.Width = 0
ufProgress.Show
Dim i As Integer
For i = 10 To 17
pctdone = (i - 9) / 8
With ufProgress
.LabelCaption.Caption = "Processing Dashboard " & i - 9 & " of 8"
.LabelProgress.Width = pctdone * (.FrameProgress.Width)
End With
DoEvents
Set wB = Workbooks.Open(Range("G" & i), False, True)
wB.Sheets(Workbooks(ThisWorkbook.Name).Worksheets("Inputs").Range("F" & i).Value).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
wB.Close False
With Worksheets(Workbooks(ThisWorkbook.Name).Worksheets("Inputs").Range("F" & i).Value)
.Tab.ColorIndex = 15
.Name = Range("C" & i)
.Cells.UnMerge
.Range("B31:B" & .Cells(.Rows.Count, "C").End(xlUp).Row).Copy
End With
Worksheets("Project Dashboard").Range("B10000").End(xlUp).Offset(1, 0).PasteSpecial xlValues
If i = 17 Then Unload ufProgress
Next
Application.DisplayAlerts = True
End Sub
这是我试图动态化的线:(并用我的长单元格公式替换)
.Range("B31:B" & .Cells(.Rows.Count, "C").End(xlUp).Row).Copy
我检查了两个 Cell.Address 公式的结果,它们返回了正确的结果(我相信分别是 $B$31 和 $B$48)。基本上这些单元格不是静态的,但它们总是位于包含“ID”和“倡议描述”的单元格下方。我正在尝试将 ID 下面的第一个单元格和倡议描述的最后一个单元格(偏移回 ID 列)作为要复制的单元格范围。
这更有意义吗?
感谢您的帮助!
我的基本问题如下:
如何写出将单元格值作为范围限制的范围?例如(请耐心等待),假设单元格 X100 具有“A1”作为值,而单元格 Y200 具有“B5”作为值。有没有办法可以写范围(单元格 X100 值,单元格 Y200 值)?
在这种情况下,我想以 Range("A1:B5") 结束。
我需要 Range 来查看不同单元格中的值以确定自身的起点和终点。这更有意义吗?
谢谢!
解决方案
推荐阅读
- php - 如何在线更改 phpMyAdmin 的“无权限”?
- python - 如何根据某些条件对浮点数进行舍入(或切割)
- bash - 退出代码,返回echo与程序的退出代码不同。为什么?
- c++ - C++ unordered_map 自定义散列函数冲突
- html - 表格html底部从右到左的滚动条
- sql - 按列的行排序结果
- unity3d - 如何让 FSharpCore.Dll 在 Unity3D 中工作
- python - 可以使用 joblib 转储许多对象吗?
- python - Django 总共只允许一个用户会话
- php - Magento 可配置色板颜色选项(1.9.1 本机)不切换主产品页面中的图像