引用全局命名范围而不引用工作表

时间:2014-08-13 11:02:57

标签: excel vba range

我想将工作簿x中的一组命名范围中的数据导出到工作簿y中的另一组范围。要导出和导出的范围的名称在表格中表示" Table_Export"。问题是我不想在这些相应的范围所在的工作表中加注,看到我不知道实际的工作表名称。但由于范围是全局的,因此应该可以在vba中引用它们而不引用相应的工作表?

相关代码可以在下面找到,其中if语句中的两个星号行中的任何一行都是我想要完成的。

Dim x As Workbook, y As Workbook    
Set x = ThisWorkbook
Set y = Workbooks.Open(Range("Export_to").Value)

Dim export_control As ListObject    
Set export_control = x.Sheets("Control").ListObjects("Table_Export")

Dim lr As Excel.ListRow    
For Each lr In export_control.ListRows
    If lr.Range(1).Value <> 0 Then    
        *'y.Names(lr.Range(2).Value).RefersToRange.Value = x.Names(lr.Range(1).Value).RefersToRange.Value*    
        *'y.Range(lr(Range(2).Value).Value = x.Range(lr(Range(1).Value).Value*    
    End If
Next

1 个答案:

答案 0 :(得分:9)

使用相应工作簿对象的属性名称来引用全局名称。