VBA:复制可变范围中的单元格值
在下面的代码中,我最难识别变量范围“rngCell”中的特定单元格。在“If”语句中,我想复制rngCell(活动单元格所在)所在列或行中的特定单元格,而不是rngCell的值。我尝试过使用偏移量,但一直失败。示例:如果rngCell位于e42,我可能需要e2或a42中的值 多谢各位VBA:复制可变范围中的单元格值,vba,excel,Vba,Excel,在下面的代码中,我最难识别变量范围“rngCell”中的特定单元格。在“If”语句中,我想复制rngCell(活动单元格所在)所在列或行中的特定单元格,而不是rngCell的值。我尝试过使用偏移量,但一直失败。示例:如果rngCell位于e42,我可能需要e2或a42中的值 多谢各位 Dim rngCell As Range Dim lngLstRow As Long Dim ws As Worksheet, resultsWS As Worksheet lngLstRow = ws.Used
Dim rngCell As Range
Dim lngLstRow As Long
Dim ws As Worksheet, resultsWS As Worksheet
lngLstRow = ws.UsedRange.Rows.Count
Worksheets("FileShares").Select
j = 4
p = 1
q = 4
g = 6
Dim k&
For k = 9 To 50
With ws
For Each rngCell In .Range(.Cells(8, k), .Cells(lngLstRow, k))
For i = LBound(maxKeywords) To UBound(maxKeywords)
If rngCell.Value = maxKeywords(i) And rngCell.Interior.ColorIndex = 3 Then
resultsWS.Cells(g, 2).Offset(j + p, 0) = rngCell.Value
g = g + 1
j = q + p - 5 'Used to start at row 8 and every row after
End If
Next i
Next rngCell
End With
Next k
如果
rngCell
为E42,则:
rngCell.EntireRow.Cells(1) '>>A42
rngCell.EntireColumn.Cells(2) '>>E2
或
请注意,这只是代码的一部分。您向我们展示的代码将出现运行时错误91,因为从未分配
ws
。也没有任何必要。选择文件共享
表。我也对暗淡的k和感到震惊,因为你没有在任何地方使用。为什么不给它一个显式的命名类型,就像其他类型一样?@Mat'smugh我没有发布整个代码。刚刚发布了相关内容。我以后会记住不要使用类型提示,因为它们非常不受欢迎。谢谢你的建议。谢谢你,蒂姆。你2秒钟的思考让我省去了5个小时的头痛。
ws.Cells(rngCell.Row, 1) '>>A42
ws.Cells(2, rngCell.Column) '>>E2