В настоящее время я работаю над приложением, которое представляет собой комбинацию java + vba. Что я хочу сделать: Некоторые данные экспортируются в Excel с помощью библиотеки apache poi в виде таблицы. Я использую эту таблицу, чтобы определить пару подтаблиц, которые содержат ту же информацию, но не всю таблицу, например, моя основная таблица имеет столбцы от A до F и 300 строк информации, моя подтаблица имеет столбец от A до C со 150 строками информации. Что я делаю, так это объявляю через apache poi 2 разных именованных диапазона, один для заголовка таблицы, а второй для точного содержимого, которое я хочу. Моя цель - объединить эти 2 именованных диапазона в один, объединив ссылки, поскольку я хочу, чтобы это была отдельная таблица, которую я буду экспортировать в шаблон PowerPoint, содержащий заполнители для этих таблиц.
Что у меня есть : Я покажу только код vba, поскольку у меня нет проблем с частью java.
Public Sub test()
Dim rangeHeaderValue As Variant
Dim rangeContentValue As Variant
rangeHeaderValue = ThisWorkbook.Names("TABL1_Performance_Data_1").RefersTo
rangeContentValue = ThisWorkbook.Names("TABL2_Performance_Data_1").RefersTo
ThisWorkbook.Names.Add Name:="test", RefersTo:=Right(rangeHeaderValue, (Len(rangeHeaderValue) - 1)) &
";" & Right(rangeContentValue, (Len(rangeContentValue) - 1))
End Sub
То, что я получаю как ссылку на именованный диапазон:
="Performance_Data!$A$10:$Q$14;Performance_Data!$A$14:$Q$18"
Чего я ожидал: То же, но без кавычек, так как по какой-то причине не работает. В чем может быть проблема или есть какое-то лучшее решение? Я не очень разбираюсь в VBA, заранее извините. Пытался сделать это с помощью Union, но он дает мне ошибки, потому что ожидает, что диапазоны, а диапазоны именованных диапазонов изменяются динамически, то есть при каждом экспорте, поскольку данные разные.