Создание формулы в vba с использованием значений ячеек

Я почти уверен, что это можно сделать, но перепробовал все виды синтаксиса и не смог заставить его работать.

У меня есть следующая формула в ячейке «А1»:

='Z:\DataFiles[MyData.xlsm]Data'!$A$1

Он создается с помощью этой строки кода:

Sheets("MySheet").Range("A1") = "='Z:\DataFiles\[MyData.xlsm]Data'!$A$1"

В ячейке «B1» на MySheet находится «Z:\DataFiles».

В ячейке «C1» на MySheet находится «MyData.xlsm».

Мой вопрос: как мне написать VBA, чтобы использовать текст в ячейках «B1» и «C1» для создания формулы в «A1»?

Я бы порекомендовал прочитать разницу между свойством Range.Value и свойством Range.Formula . И, возможно, оператор амперсанд тоже…

Chronocidal 02.09.2024 00:30
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
1
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это должно работать:

Sub setFormula()
    With Sheets("MySheet")
        Range("A1").Formula = "='" & Range("B1").Value & "\[" & Range("C1").Value & "]Data'!$A$1"
    End With
End Sub

Вы должны добавить ведущую точку (.) к каждому вхождению Range, т. е. .Range, иначе код завершится ошибкой, если лист MySheet не является активным листом.

VBasic2008 02.09.2024 02:03

Другие вопросы по теме