|
|
|
Как обратиться на другую книгу в Excell VBA
|
|||
|---|---|---|---|
|
#18+
как в Excell VBA сделать так чтоб из одной книги Excell можно было сослаться на другую чтобы вытащить оттуда данные и присвоить их для первой книги Excell. Pls! Snks! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2007, 20:24 |
|
||
|
Как обратиться на другую книгу в Excell VBA
|
|||
|---|---|---|---|
|
#18+
workbooks ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2007, 23:36 |
|
||
|
Как обратиться на другую книгу в Excell VBA
|
|||
|---|---|---|---|
|
#18+
Если что-то не знаешь, тогда експерементируй сам: 1. меню > сервис > макрос > начать запись... (любое имья) 2. сделай дейсвтия которое тебя интересует 3. останови запись макроса (или через меню или на кнопку синего квадратика) 4. в меню выбери "Редактор Visual Basic" или нажми Alt+F11 и вот твой код Точный ответ: Sheets("Лист2").Select С уважением Андрей. 469-573-649 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 00:43 |
|
||
|
Как обратиться на другую книгу в Excell VBA
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 01:33 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34283629&tid=2164622]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
439ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 781ms |

| 0 / 0 |
