Vba 根据其他图纸选择选择新范围

Vba 根据其他图纸选择选择新范围,vba,excel,Vba,Excel,下面的代码很好,但它按照上一页的内容显示/选择单元格地址,请提供动态范围的代码,以便它根据新工作表中的当前选择而不是单元格地址显示/选择单元格 Sub MatchRange() Dim ady As String ady = Selection.Address Sheets("Sheet2").Select Range(ady).Select End Sub 链接到以前代码的来源: 很抱歉说得含糊不清,所以让我们假设在表a中我选

下面的代码很好,但它按照上一页的内容显示/选择单元格地址,请提供动态范围的代码,以便它根据新工作表中的当前选择而不是单元格地址显示/选择单元格

Sub MatchRange()    
    Dim ady As String    
    ady = Selection.Address    
    Sheets("Sheet2").Select    
    Range(ady).Select
End Sub
链接到以前代码的来源:


很抱歉说得含糊不清,所以让我们假设在表a中我选择了a1:b50范围,我想匹配表b中的选择大小。所以在这种情况下,它将是c51:d100

当您的代码读取选择的
地址时,您应该在其前面加上要用于源的工作表。因此:

Sub MatchRange()    
    Dim ady As String    
    ady = Sheets("sheet_name").Selection.Address    
    Sheets("Sheet2").Select    
    Range(ady).Select
End Sub

这个问题有点模糊,但我将给出一个示例,说明如何根据每张图纸中选定的单元格选择同等大小的范围。请尝试修改以满足您的需求,如果您有更具体的问题,请告知我们

Sub MatchSelectionArea()
    Dim rng As Range
    Dim nRows As Long
    Dim nCols As Long

    Set rng = Selection

    nRows = rng.Rows.Count
    nCols = rng.Columns.Count

    Sheets("Sheet2").Activate

    ActiveCell.Resize(nRows, nCols).Select
End Sub

我不确定您需要什么,但这是一个示例,可以获得另一个范围的相同维度的范围(希望有帮助)


你能举一个你想发生什么的例子吗?你的意思是你想在工作表a中选择一个范围,并将工作表B的单元格内容从相同的地址输入到工作表a中吗?
a1:b50
c51:d100
范围大小之间的相关性是什么,我希望在新图纸中选择与当前图纸相同的范围大小sheet@chancea好的,让我们在下一张表中说相同的列和范围的结尾。我应该问你为什么需要这个?许多操作(复制和粘贴等)不需要将目标选择设置为相同的大小。因此,为了澄清,这是基于第二张工作表中当前选定的R1C1单元格选择大小。问题中根本没有解释
Set ady = Range("A1:C3")
RngNumCol = ady.Columns.Count
RngNumRow = ady.Rows.Count

NewRngStart = ActiveCell.Address 'Here the starting cell of the new range
NewRngEnd = Range(NewRngStart).Offset(RngNumRow - 1, RngNumCol - 1).Address
Set NewRng = Range(NewRngStart, NewRngEnd)

'Test
For Each mycell In NewRng.Cells
    mycell .Value = "Test"
Next