Привет, просто быстрый вопрос. Мне нужно знать, как я могу эффективно хранить значение ActiveCell
? Я пытался:
Dim acStore As String
acstore = ActiveCell.Cells(1, 1)
Но это не работает. Обычно я получаю сообщение об ошибке несоответствия.
Я даже пробовал Dim acstore As Range
, но безрезультатно.
Что я хочу сделать, это сократить этот код:
ActiveCell.Cells(1, 5).Copy _
Destination:=wsTest.Range("A" & Rows.Count).End(xlUp).Offset(1)
Примерно так:
acStore.Copy Destination:=wsTest.Range("A" & Rows.Count).End(xlUp).Offset(1)
2 ответа
Ah рассмотрел ваш вопрос, и правильный способ сделать это:
Dim acstore As Range
Set acstore = ActiveCell(1, 5)
Затем вы можете использовать код, который вы хотите.
Если значение активной ячейки является строкой, то будет работать следующее:
acStore$ = ActiveCell.Value
Если значение не является строкой, но вы хотите, чтобы оно было сохранено как одно, используйте:
acStore$ = CStr(ActiveCell.Value)
Похожие вопросы
Новые вопросы
vba
Visual Basic для приложений (VBA) — это управляемый событиями объектно-ориентированный язык программирования для написания макросов, используемый для всего пакета Office, а также для других приложений. VBA не эквивалентен VB.NET или VBS; если вы работаете в Visual Studio, используйте [vb.net]. Если ваш вопрос конкретно касается программирования какого-либо приложения MS Office, также используйте соответствующий тег: [excel], [ms-access], [ms-word], [outlook], [visio] или [ms-project].