Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Применение функции Public Function() - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Применение функции Public Function() (Макросы/Sub)
Применение функции Public Function()
tasdel Дата: Суббота, 20.12.2014, 18:27 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Здравствуйте уважаемые программисты!
Подскажите пожалуйста, как применить данную функцию.
Заранее спасибо.
К сообщению приложен файл: 6895043.xls (35.0 Kb)
 
Ответить
СообщениеЗдравствуйте уважаемые программисты!
Подскажите пожалуйста, как применить данную функцию.
Заранее спасибо.

Автор - tasdel
Дата добавления - 20.12.2014 в 18:27
tasdel Дата: Суббота, 20.12.2014, 19:17 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
_Boroda_, Я в пример взял простой код. Задача именно этого кода заключается, в перемещении данных с (Листа2) на (Лист1).
Не могу понять, как выдернуть переменную (rty ) из функции и применить ее к коду."Sub функция()".
 
Ответить
Сообщение_Boroda_, Я в пример взял простой код. Задача именно этого кода заключается, в перемещении данных с (Листа2) на (Лист1).
Не могу понять, как выдернуть переменную (rty ) из функции и применить ее к коду."Sub функция()".

Автор - tasdel
Дата добавления - 20.12.2014 в 19:17
tasdel Дата: Суббота, 20.12.2014, 19:41 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
_Boroda_, В приложенном файле суть задачи.Только выполняется она с помощью другого кода.
Как к этому примеру можно применить функцию.
К сообщению приложен файл: 4591390.xls (36.0 Kb)
 
Ответить
Сообщение_Boroda_, В приложенном файле суть задачи.Только выполняется она с помощью другого кода.
Как к этому примеру можно применить функцию.

Автор - tasdel
Дата добавления - 20.12.2014 в 19:41
RAN Дата: Суббота, 20.12.2014, 20:10 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Никак. Функции для этого не предназначены.
Для этого существуют процедуры (Sub).


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеНикак. Функции для этого не предназначены.
Для этого существуют процедуры (Sub).

Автор - RAN
Дата добавления - 20.12.2014 в 20:10
_Boroda_ Дата: Суббота, 20.12.2014, 20:25 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Не очень понимаю: а зачем, собственно. Возможно, это просто институтское задание.
Посмотрите такой вариант, но это как пригласить себе в постель сразу 100 женщин - понтов много, смысла мало
[vba]
Код
Dim rty, i

Sub функция()
     n = Worksheets(2).Range("A" & Rows.Count).End(xlUp).Row
     For i = 1 To n
         list1
         Worksheets(1).Cells(i, 1).Value = rty
     Next i
End Sub

Public Function list1()
         rty = Worksheets(2).Cells(i, 1).Value
End Function
[/vba]
К сообщению приложен файл: 4591390_1.xls (38.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНе очень понимаю: а зачем, собственно. Возможно, это просто институтское задание.
Посмотрите такой вариант, но это как пригласить себе в постель сразу 100 женщин - понтов много, смысла мало
[vba]
Код
Dim rty, i

Sub функция()
     n = Worksheets(2).Range("A" & Rows.Count).End(xlUp).Row
     For i = 1 To n
         list1
         Worksheets(1).Cells(i, 1).Value = rty
     Next i
End Sub

Public Function list1()
         rty = Worksheets(2).Cells(i, 1).Value
End Function
[/vba]

Автор - _Boroda_
Дата добавления - 20.12.2014 в 20:25
tasdel Дата: Суббота, 20.12.2014, 20:46 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
RAN, Непонятно по каким причинам эта функция работает. Она по сути почти такая же ,что в первом приложенном файле.

[vba]
Код
Public Function qwert()
n = 0
While Worksheets(15).Cells(n + 2, 2).Value <> ""
n = n + 1
Wend
For i = 2 To n + 1
a = Worksheets(15).Cells(1, 1).Value & " 11K " & Worksheets(15).Cells(i, 2).Value
b = Worksheets(15).Cells(1, 1).Value & " 11VK " & Worksheets(15).Cells(i, 2).Value
c = Worksheets(15).Cells(1, 1).Value & " 22K " & Worksheets(15).Cells(i, 2).Value
d = Worksheets(15).Cells(1, 1).Value & " 22VK " & Worksheets(15).Cells(i, 2).Value
If a = Worksheets(15).Cells(1, 8).Value Then
qw = Worksheets(15).Cells(i, 3).Value
ElseIf b = Worksheets(15).Cells(1, 8).Value Then
qw = Worksheets(15).Cells(i, 4).Value
ElseIf c = Worksheets(15).Cells(1, 8).Value Then
qw = Worksheets(15).Cells(i, 5).Value
ElseIf d = Worksheets(15).Cells(1, 8).Value Then
qw = Worksheets(15).Cells(i, 6).Value
End If
Next
qwert = qw
End Function
[/vba]
[moder]Пользуйтесь кодами оформления (для кода VBA кнопка #). Иначе будет замечание.
 
Ответить
СообщениеRAN, Непонятно по каким причинам эта функция работает. Она по сути почти такая же ,что в первом приложенном файле.

[vba]
Код
Public Function qwert()
n = 0
While Worksheets(15).Cells(n + 2, 2).Value <> ""
n = n + 1
Wend
For i = 2 To n + 1
a = Worksheets(15).Cells(1, 1).Value & " 11K " & Worksheets(15).Cells(i, 2).Value
b = Worksheets(15).Cells(1, 1).Value & " 11VK " & Worksheets(15).Cells(i, 2).Value
c = Worksheets(15).Cells(1, 1).Value & " 22K " & Worksheets(15).Cells(i, 2).Value
d = Worksheets(15).Cells(1, 1).Value & " 22VK " & Worksheets(15).Cells(i, 2).Value
If a = Worksheets(15).Cells(1, 8).Value Then
qw = Worksheets(15).Cells(i, 3).Value
ElseIf b = Worksheets(15).Cells(1, 8).Value Then
qw = Worksheets(15).Cells(i, 4).Value
ElseIf c = Worksheets(15).Cells(1, 8).Value Then
qw = Worksheets(15).Cells(i, 5).Value
ElseIf d = Worksheets(15).Cells(1, 8).Value Then
qw = Worksheets(15).Cells(i, 6).Value
End If
Next
qwert = qw
End Function
[/vba]
[moder]Пользуйтесь кодами оформления (для кода VBA кнопка #). Иначе будет замечание.

Автор - tasdel
Дата добавления - 20.12.2014 в 20:46
tasdel Дата: Суббота, 20.12.2014, 21:02 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Просто по VBA Excel опыта мало вот и лепишь горбатого к стене.
Буду искать другие пути.
Спасибо за ответы.
ТЕМА ЗАКРЫТА.
 
Ответить
СообщениеПросто по VBA Excel опыта мало вот и лепишь горбатого к стене.
Буду искать другие пути.
Спасибо за ответы.
ТЕМА ЗАКРЫТА.

Автор - tasdel
Дата добавления - 20.12.2014 в 21:02
RAN Дата: Суббота, 20.12.2014, 21:47 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Эта функция работает по той причине, что по сути, это не фунция, а процедура, неизвестно зачем объявленная функцией.
Нормально было бы написать
[vba]
Код
Public Sub qwert()
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЭта функция работает по той причине, что по сути, это не фунция, а процедура, неизвестно зачем объявленная функцией.
Нормально было бы написать
[vba]
Код
Public Sub qwert()
[/vba]

Автор - RAN
Дата добавления - 20.12.2014 в 21:47
alex77755 Дата: Воскресенье, 21.12.2014, 19:31 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Цитата
Нормально было бы написать

Разве?
И что? можно будет вызывать как функцию?
[vba]
Код
Debug.Print QWERT
[/vba]
И на это ругаться не будет в самой процедуре?
[vba]
Код
qwert = qw
[/vba]


Могу помочь в VB6, VBA
Alex77755@mail.ru


Сообщение отредактировал alex77755 - Воскресенье, 21.12.2014, 19:34
 
Ответить
Сообщение
Цитата
Нормально было бы написать

Разве?
И что? можно будет вызывать как функцию?
[vba]
Код
Debug.Print QWERT
[/vba]
И на это ругаться не будет в самой процедуре?
[vba]
Код
qwert = qw
[/vba]

Автор - alex77755
Дата добавления - 21.12.2014 в 19:31
RAN Дата: Воскресенье, 21.12.2014, 19:51 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
"Пилите, Шура, пилите!" (с) :D

beer


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Воскресенье, 21.12.2014, 20:51
 
Ответить
Сообщение"Пилите, Шура, пилите!" (с) :D

beer

Автор - RAN
Дата добавления - 21.12.2014 в 19:51
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Применение функции Public Function() (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!