Вернуться   Компьютерный форум > Компьютеры > Программы > Программирование
 
 
Опции темы
Старый 16.04.2014, 17:45   #1 (ссылка)
Новичок
 
Регистрация: 04.04.2012
Сообщений: 244
Репутация: 4
По умолчанию Как связать цикл макроса в Exel 2010

Подскажите как в Excel переменные используемые в цикле написанном в редакторе макроса связать с ячейками Excel, т.е. что бы данные для переменных брались из Excel и результат вычислений тоже выводился в ячейке Excel.
Neizvestno вне форума  
Старый 16.04.2014, 18:07   #2 (ссылка)
Стажёр
 
Аватар для CrazyPOVT
 
Регистрация: 05.11.2011
Сообщений: 1,527
Репутация: 128
По умолчанию

Если память не изменяет: cell(x,y)
Или cells(x,y)
CrazyPOVT вне форума  
Старый 16.04.2014, 18:23   #3 (ссылка)
Знаток
 
Аватар для himax
 
Регистрация: 17.10.2009
Сообщений: 2,873
Репутация: 207
По умолчанию

'Взять:
a = ActiveSheet.Range("A" & i)
'Положить:
ActiveSheet.Range("A" & i) = b
i = i + 1
himax вне форума  
Старый 18.04.2014, 09:24   #4 (ссылка)
Новичок
 
Регистрация: 04.04.2012
Сообщений: 244
Репутация: 4
По умолчанию

Спасибо, я взял первый способ cells(x,y), но только не понял как сослаться на другой лист или файл?
Neizvestno вне форума  
Старый 21.04.2014, 10:41   #5 (ссылка)
Новичок
 
Регистрация: 04.04.2012
Сообщений: 244
Репутация: 4
По умолчанию

Создал макрос, при запуске ни чего не происходит, подскажите в чём может быть дело.
Sub Podschet()
x = 4
Dim kp As Integer
kp = x
Dim kps As Integer
kps = x
Do While Cells(kp, 1).Value <> ""
Do While Cells(kps, 6).Value <> ""
If Cells(kps, 6).Value = Cells(kp, 1).Value Then
Cells(kp, 4).Value = Cells(kp, 4).Value + 1
End If
kps = kps + 1
Loop
kp = kp + 1
Loop
End Sub
Neizvestno вне форума  
Старый 21.04.2014, 12:11   #6 (ссылка)
Стажёр
 
Аватар для CrazyPOVT
 
Регистрация: 05.11.2011
Сообщений: 1,527
Репутация: 128
По умолчанию

Цитата:
Сообщение от Neizvestno Посмотреть сообщение
не понял как сослаться на другой лист
Примерно так:
Sheets("База").Cells(i, 1).Value
CrazyPOVT вне форума  
Старый 21.04.2014, 13:30   #7 (ссылка)
Знаток
 
Аватар для himax
 
Регистрация: 17.10.2009
Сообщений: 2,873
Репутация: 207
По умолчанию

Может так:
Do While ActiveSheet.Cells(kp, 1).Value <> ""
Do While ActiveSheet.Cells(kps, 6).Value <> ""
himax вне форума  
Старый 21.04.2014, 16:58   #8 (ссылка)
Новичок
 
Регистрация: 04.04.2012
Сообщений: 244
Репутация: 4
По умолчанию

спасибо
Цитата:
Сообщение от CrazyPOVT Посмотреть сообщение
Sheets("База").Cells(i, 1).Value
"База" это название листа?

---------- Добавлено в 14:58 ---------- Предыдущее сообщение было написано в 14:56 ----------

На счёт макроса вроде сам нашёл ошибку, забыл присвоить значение переменной начала цикла
Neizvestno вне форума  
Ads
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение макроса при фильтре Filberd Офис 0 10.09.2013 02:20
Access 2010 выполнение макроса denis.ta-com Офис 0 27.02.2013 15:26
Exel 2010, помогите кто хорошо шарит ShmeaogorL Офис 9 06.08.2012 02:08
слишком большой exel 2010 вадим м Программы 0 06.05.2011 17:07
Взятие содержимого ячейки из макроса Excel Alexei1986 Программирование 3 10.02.2010 13:40


Текущее время: 20:32. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.