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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2010, 22:43   #1
dimon305
Пользователь
 
Регистрация: 12.05.2010
Сообщений: 21
По умолчанию Вопрос по VBA в Excel

VBA в Excel нужно зделать программу которая переводит целые и дробные чила в разных системах счисления(2,10,16). Как самому написать прогу?Помогите из заданиям! Буду благодарен)
dimon305 вне форума Ответить с цитированием
Старый 12.05.2010, 23:09   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
' из 10-ричной системы в какую-то n-ричную
Function D2xz(d As Long, n As Long) As String
  Dim r As Integer, s As String
  r = Int(Log(d + 0.001) / Log(n))  'Для 64, 128 перевод в 2-ичную систему дало неожиданный результат: Log(128)/Log(2) = 7 - это
  'правильно, а Int(Log(128)/Log(2)) уже равно 6 и в старшем разряде получается "2"!!!, пришлось добавить нелогичный 0.001
  Do
    s = s & Int(d / n ^ r)
    d = d - Int(d / n ^ r) * n ^ r
    r = r - 1
  Loop Until r = -1
  D2xz = s
End Function

' и обратно
Function xz2D(s As String, n As Long) As Long
  Dim r As Integer, d As Long
  For r = 0 To Len(s) - 1
    d = d + Val(Mid(s, Len(s) - r, 1)) * n ^ r
  Next
  xz2D = d
End Function
Вот Вам две функции.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 12.05.2010, 23:11   #3
dimon305
Пользователь
 
Регистрация: 12.05.2010
Сообщений: 21
По умолчанию

Очень благодарен! Спс! А млжеш если не сложно сказать где ето уводить все)
dimon305 вне форума Ответить с цитированием
Старый 12.05.2010, 23:15   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

вводить непосредственно в модуль проекта.

Успехов в учебе и огромного счастья в личной жизни!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 12.05.2010, 23:25   #5
dimon305
Пользователь
 
Регистрация: 12.05.2010
Сообщений: 21
По умолчанию

Еще вопрос где VBA в 2007? не могу найти) в 2003 знаю где а тут не могу найти)))
dimon305 вне форума Ответить с цитированием
Старый 12.05.2010, 23:29   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Alt+F11 ...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 12.05.2010, 23:36   #7
dimon305
Пользователь
 
Регистрация: 12.05.2010
Сообщений: 21
По умолчанию

шото я туплю) Мож написать пожалуста алгоритм ввода кода и как запускать?
dimon305 вне форума Ответить с цитированием
Старый 13.05.2010, 00:39   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

С Вами все нормально. Это я протупил, что ввязался в переписку
Вложения
Тип файла: rar Книга329.rar (18.4 Кб, 14 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 13.05.2010, 01:20   #9
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

IgorGO, приведённая функция D2xz очевидно не будет работать для систем с основанием > 10 так как просто ничего не знает о добавочных цифрах
Aent вне форума Ответить с цитированием
Старый 13.05.2010, 01:35   #10
dimon305
Пользователь
 
Регистрация: 12.05.2010
Сообщений: 21
По умолчанию

Aent если вам не сложно можете представить свой вариант етого задания?
dimon305 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA Word,VBA Excel решить 2 задачи fafolo4ka Фриланс 6 05.03.2012 01:15
Вопрос по excel/vba sergey_wckd Microsoft Office Excel 15 05.11.2009 16:07
Excel VBA, Экспорт в txt, кодировка файла UTF-16 LE/UCS-2 Little Endian+еще один интересный вопрос Maxximus Microsoft Office Excel 17 04.09.2009 20:03
Как запретить запуск программы на VBA Excel 2003 в Excel 2007 kovalevskivf Microsoft Office Excel 2 15.05.2009 16:47