powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как обратиться на другую книгу в Excell VBA
5 сообщений из 5, страница 1 из 1
Как обратиться на другую книгу в Excell VBA
    #34283460
nick_bmw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как в Excell VBA сделать так чтоб из одной книги Excell можно было сослаться на другую чтобы вытащить оттуда данные и присвоить их для первой книги Excell.
Pls!
Snks!
...
Рейтинг: 0 / 0
Как обратиться на другую книгу в Excell VBA
    #34283629
Taranaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
workbooks
...
Рейтинг: 0 / 0
Как обратиться на другую книгу в Excell VBA
    #34283673
Andrey911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если что-то не знаешь, тогда експерементируй сам:
1. меню > сервис > макрос > начать запись... (любое имья)
2. сделай дейсвтия которое тебя интересует
3. останови запись макроса (или через меню или на кнопку синего квадратика)
4. в меню выбери "Редактор Visual Basic" или нажми Alt+F11 и вот твой код

Точный ответ: Sheets("Лист2").Select

С уважением Андрей.
469-573-649
...
Рейтинг: 0 / 0
Как обратиться на другую книгу в Excell VBA
    #34283695
Andrey911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ops! извени. Я что-то поспешил. Не внимателен.
1. Простой вариант

dim Memory1 as string
orkbooks.Open Filename:= "Диск:\Путь\Книга2.xls"

Range("E8").Select ' к примеру выбираем ячейку E8
Memory1 = ActiveCell.FormulaR1C1
ActiveWorkbook.Close

Range("C12").Select
ActiveCell.FormulaR1C1 = Memory1
Думаю здесь все понятно

2. Чуть посложнее

1. Выделяем память на нужное количество ячеек
dim Memory(100,100)
dim X as integer
dim Y as integer
const YStr="ABCDEFGHIJKLMNOPQRSTVWXYZ"
Workbooks.Open Filename:= "Диск:\Путь\Книга2.xls"
'цыкл
For Y=1 to 100
For X=1 to Len(YStr)
Range(Mid(YStr,X,1)+Trim(Str(Y))).Select
Memory(X,Y)=ActiveCell.FormulaR1C1
Next X
Next Y

ActiveWorkbook.Close

'обратный процес
For Y=1 to 100
For X=1 to Len(YStr)
Range(Mid(YStr,X,1)+Trim(Str(Y))).Select
ActiveCell.FormulaR1C1=Memory(X,Y)
Next X
Next Y

3. Это тоже что и №2, только уже с AA, AB,AC...
это совсем просто. комбинируешь еще один дополнительный цикл и используешь сумирувание

сдесь добавь перед "А" пробел (я его черточкой обозначил)
const YStr="_ABCDEFGHIJKLMNOPQRSTVWXYZ"
цыкл переделаешь вот так:
For Y=1 to 100
X=0
For X1=1 to Len(YStr)
For X2=2 to Len(YStr)
X=X+1
if X>100 then goto Potom
Range(Trim(Mid(YStr,X1,1)+Mid(YStr,X2,1))+Trim(Str(Y))).Select
Memory(X,Y)=ActiveCell.FormulaR1C1
Next X2
Next X1
Potom:
Next Y
думаю теперь все!

На всякий случай скопируй вот это. У меня работает. Так как ранее написан код я не проверял на синтакс.ош.

Sub Kopirovka()
Dim Memory(100, 100)
Dim X As Integer
Dim Y As Integer
Const YStr = " ABCDEFGHIJKLMNOPQRSTVWXYZ"

Workbooks.Open Filename:= "C:\Kniga2.xls"

For Y = 1 To 100
X = 0
For X1 = 1 To Len(YStr)
For X2 = 2 To Len(YStr)
X = X + 1
If X > 100 Then GoTo Potom
Range(Trim(Mid(YStr, X1, 1) + Mid(YStr, X2, 1)) + Trim(Str(Y))).Select
Memory(X, Y) = ActiveCell.FormulaR1C1
Next X2
Next X1
Potom:
Next Y

ActiveWorkbook.Close

For Y = 1 To 100
X = 0
For X1 = 1 To Len(YStr)
For X2 = 2 To Len(YStr)
X = X + 1
If X > 100 Then GoTo Potom2
Range(Trim(Mid(YStr, X1, 1) + Mid(YStr, X2, 1)) + Trim(Str(Y))).Select
ActiveCell.FormulaR1C1 = Memory(X, Y)
Next X2
Next X1
Potom2:
Next Y
End Sub
...
Рейтинг: 0 / 0
Как обратиться на другую книгу в Excell VBA
    #34286577
nick_bmw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо все работает! Пришлось коечто исправить а так все то что я хотел узнать!
Еще раз спасибо!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как обратиться на другую книгу в Excell VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]