Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
7 / 7 / 2
Регистрация: 19.11.2009
Сообщений: 105
Word

Значение произведения двух ячеек

29.10.2019, 12:56. Показов 1465. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Прошу Помощи в разработке простейшего макроса. Нужен макрос, который бы вставлял в текущую ячейку таблицы Word произведение двух ячеек строкой выше. Пример на картинке: в ячейке с курсором должно быть произведение 6,52 и 652,7.
Изображения
 
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.10.2019, 12:56
Ответы с готовыми решениями:

Каждые 15 мин записывать в столбик время и значение двух ячеек
Здравствуйте форумчане ! ) Пока я новичек в программировнии в excel и на этом форуме Если вы встречали где подобную простую...

Нахождение произведения двух матриц (Excel)
Здравствуйте! Помогите пожалуйста: При помощи табличного процессора Excel разработайте приложение VBA . Помогите с текстом...

Вычисление алгоритмического произведения компонент двух векторов
Здравствуйте. помогите пожалуйста с кодом к этой задаче

9
 Аватар для Narimanych
2751 / 1725 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
29.10.2019, 14:00
M9sNik,

попробуйте
Visual Basic
1
2
3
4
5
Sub MMM()
With ThisDocument.Tables(1)
.Cell(2, 2).Range.Text = Left(.Cell(1, 2).Range.Text, VBA.Len(.Cell(1, 2).Range.Text) - 1) * Left(.Cell(1, 3).Range.Text, VBA.Len(.Cell(1, 3).Range.Text) - 1)
End With
End Sub
1
7 / 7 / 2
Регистрация: 19.11.2009
Сообщений: 105
29.10.2019, 14:37  [ТС]
Цитата Сообщение от Narimanych Посмотреть сообщение
M9sNik,

попробуйте
Visual Basic
1
2
3
4
5
Sub MMM()
With ThisDocument.Tables(1)
.Cell(2, 2).Range.Text = Left(.Cell(1, 2).Range.Text, VBA.Len(.Cell(1, 2).Range.Text) - 1) * Left(.Cell(1, 3).Range.Text, VBA.Len(.Cell(1, 3).Range.Text) - 1)
End With
End Sub
Пишет "Запрашиваемый номер семейства не существует"
0
Заблокирован
29.10.2019, 14:41
M9sNik, в картинках макросы не живут, а что за таблица у вас, Narimanychу неведомо.
1
7 / 7 / 2
Регистрация: 19.11.2009
Сообщений: 105
29.10.2019, 14:46  [ТС]
Цитата Сообщение от Остап Бонд Посмотреть сообщение
M9sNik, в картинках макросы не живут, а что за таблица у вас, Narimanychу неведомо.
Создаю в новом документе таблицу 3х2, заполняю как на картинке, и запускаю макрос.
0
 Аватар для Narimanych
2751 / 1725 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
29.10.2019, 14:48
Цитата Сообщение от M9sNik Посмотреть сообщение
Пишет "Запрашиваемый номер семейства не существует"
прикрепите файл...
0
7 / 7 / 2
Регистрация: 19.11.2009
Сообщений: 105
29.10.2019, 15:12  [ТС]
Цитата Сообщение от Narimanych Посмотреть сообщение
прикрепите файл...
Написал так:
Visual Basic
1
With ActiveDocument.Tables(1)
и стал находить таблицу.Но теперь ошибка к типу данных.
В выражении если вместо умножения поставить сложение, то работает, но складывает как текстовые строки.
0
 Аватар для Narimanych
2751 / 1725 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
29.10.2019, 15:41
M9sNik,

Измените тип данных...

Я не гадалка.
Если хотите помощи- прикрепите свой файл...

Добавлено через 15 минут
Visual Basic
1
.Cell(2, 2).Range.Text =Cstr(Cdbl(Left(.Cell(1, 2).Range.Text, VBA.Len(.Cell(1, 2).Range.Text) - 1)) * Cdbl((Left(.Cell(1,3).Range.Text, VBA.Len(.Cell(1, 3).Range.Text) – 1)))
1
371 / 269 / 93
Регистрация: 18.11.2015
Сообщений: 1,001
29.10.2019, 15:43
Не по теме:
Цитата Сообщение от Остап Бонд Посмотреть сообщение
в картинках макросы не живут
живут, живут... но это из радела информационной безопасности. ))))
0
7 / 7 / 2
Регистрация: 19.11.2009
Сообщений: 105
29.10.2019, 17:08  [ТС]
Всем спасибо за ответы, очень помогли! Прилагаю свой вариант, который адаптировал для работы:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub INC_CELL()
Dim a, b As Byte
Dim Str1, Str2, Str3 As String
With ActiveDocument.Tables(1)
     a = Selection.Rows(1).Index
     b = Selection.Columns(1).Index
     .Cell(a, b).Range.Text = ""
     Str1 = Replace(Left(.Cell(a - 1, b).Range.Text, VBA.Len(.Cell(a - 1, b).Range.Text) - 1), ".", ",")
     Str2 = Replace(Left(.Cell(a - 1, b + 1).Range.Text, VBA.Len(.Cell(a - 1, b + 1).Range.Text) - 1), ".", ",")
     Str3 = CStr(Round(CDbl(Str1) * CDbl(Str2) / 1000, 3))
     .Cell(a, b).Range.Text = Replace(Str3, ",", ".")
End With
 
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.10.2019, 17:08
Помогаю со студенческими работами здесь

Вычисление произведения двух матриц (динамический массив)
Здравствуйте, помогите пожалуйста написать программу, в которой нужно обеспечить: 1. ввод исходных данных через INPUTBOX 2. запись...

Умножение двух ячеек в excel
Начал познавать vba excel, и столкнулся с такой проблемой: Sub qq() For i = 0 To 10 Cells(i, 1) = Cells(i, 1) * 2 Next i End...

Умножение двух ячеек в VBA
Написал код, но код увы выдает ошибку. Может быть числа нужно как-нибудь обьявить? Скриншот прилагается N =...

Сравнение двух диапазонов ячеек на совпадение
Здравствуйте! Подскажите пожалуйста... Имеется 2 диапазона ячеек А1:A3 и C1:C3, в которых забиты цифры, допустим в ячейках А1:A3 (3,6,2...

Сравнение ячеек в двух разных таблицах
Имеются две очень объемные таблицы на разных листах одной книге , в первой таблице в третьем столбце название скважины, в четвертом столбце...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru