Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.10.2010, 14:53   #81
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
люди кто-нибудь может дать совет?
Легко.

Просто откажитесь от идеи регистрации программы (особенно учитывая, что программы как таковой и нет, если нет кода) - и проблем не будет.
EducatedFool вне форума
Старый 27.10.2010, 09:03   #82
Freddy19
Пользователь
 
Аватар для Freddy19
 
Регистрация: 08.07.2010
Сообщений: 81
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Легко.

Просто откажитесь от идеи регистрации программы (особенно учитывая, что программы как таковой и нет, если нет кода) - и проблем не будет.
Интересно конечно же, но это как бы на благо института. Таких программ еще десяток есть, они закрепленны за определенной спец аудиторией, было бы замечательно их зарегистрировать.
Freddy19 вне форума
Старый 20.12.2010, 10:03   #83
Freddy19
Пользователь
 
Аватар для Freddy19
 
Регистрация: 08.07.2010
Сообщений: 81
Подмигивание Можно так на графике?

Здрасти всем. А можно ли чтобы эксел показывал координаты точки пересечения 2-х графиков? и еще при задании одной координаты он может показывать вторую?
Freddy19 вне форума
Старый 20.12.2010, 11:59   #84
Freddy19
Пользователь
 
Аватар для Freddy19
 
Регистрация: 08.07.2010
Сообщений: 81
Печаль Логарифм

Dim a As Integer

For a = 0 To 400 Step 0.1
If (3.14 * Range("K15") * Range("F31")) / (Range("J28") * (Ln(a / Range("K13").Value) - 1)) = a Then
[F32] = a
End If
Next a

Как задать логарифм натуральный в коде?
Freddy19 вне форума
Старый 20.12.2010, 14:27   #85
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

WorksheetFunction.Ln(...
аналитика вне форума
Старый 20.12.2010, 14:37   #86
Freddy19
Пользователь
 
Аватар для Freddy19
 
Регистрация: 08.07.2010
Сообщений: 81
По умолчанию

Private Sub CommandButton1_Click()

Dim a As Integer

For a = 0 To 400 Step 0.1
If (3.14 * Range("K15") * Range("F31")) / (Range("J28") * (WorksheetFunction.Ln(a / Range("K13")) - 1)) = a Then
[F32] = a
End If
Next a

End Sub

Невозможно получить значение. Что не так?
Freddy19 вне форума
Старый 20.12.2010, 14:53   #87
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

ln(0) = -∞
аналитика вне форума
Старый 21.12.2010, 09:13   #88
Freddy19
Пользователь
 
Аватар для Freddy19
 
Регистрация: 08.07.2010
Сообщений: 81
Радость

Private Sub CommandButton1_Click()
Dim a As Integer
For a = 1 To 400 Step 1
If (3.14 * Range("K15") * Range("F31")) / (Range("J28") * (WorksheetFunction.Ln(a / Range("K13")) - 1)) = a Then
[F32] = a
Else
[F32] = ""
End If
Next a
End Sub

Получилось! Спасибо! Только вот бы еще формулу округлить до целого.
Долгая блин процедура. Циклы так всегда?
Freddy19 вне форума
Старый 21.12.2010, 09:26   #89
Freddy19
Пользователь
 
Аватар для Freddy19
 
Регистрация: 08.07.2010
Сообщений: 81
По умолчанию

Private Sub CommandButton1_Click()
Dim a As Integer
For a = 1 To 400 Step 1
If Round((3.14 * Range("K15") * Range("F31")) / (Range("J28") * (WorksheetFunction.Ln(a / Range("K13")) - 1))) = a Then
[F32] = a
End If
Next a
End Sub

Все отлично. А долго это изза очистки ячейки походу.
Freddy19 вне форума
Старый 21.12.2010, 09:41   #90
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

С логарифмом можно обойтись средствами VBA - если немного почитать встренную справку:

Цитата:
Log Function

Returns a Double specifying the natural logarithm of a number.


You can calculate base-n logarithms for any number x by dividing the natural logarithm of x by the natural logarithm of n as follows:

Logn(x) = Log(x) / Log(n)
Вот что у меня получилось (код выполняется за доли секунды)
Код:
Private Sub CommandButton1_Click()
    K15 = [K15]: F31 = [F31]: J28 = [J28]: K13 = [K13]    ' считываем значения ячеек только один раз
    Dim a As Integer: Const PI = 3.1415926
    For a = 1 To 400
        If Round((PI * K15 * F31) / (J28 * (Log(a / K13) - 1))) = a Then
            f32 = a    ' пишем в переменную, а не в ячейку
        End If
    Next a
    [f32] = f32
End Sub
EducatedFool вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по мелочи Syltan Общие вопросы C/C++ 6 29.09.2009 00:19
Вопрос по мелочи Golovastik Общие вопросы C/C++ 8 23.07.2009 22:47
Задачи вызывают затруднение... матрица и сумма ряда. GorNikSar Паскаль, Turbo Pascal, PascalABC.NET 2 21.12.2008 12:51
Задачи вызывают затруднение... матрица и сумма ряда. GorNikSar Помощь студентам 2 19.12.2008 07:11