Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для YuliaK
67 / 2 / 0
Регистрация: 29.04.2012
Сообщений: 32

Как сделать так, что бы если файл excel уже был отрыт не создавался заново, а дополнялся новой информацией

02.01.2013, 22:06. Показов 1733. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С помощью vba создаю программу, которая считает площадь пересечения 2-х фигур. Данные расчеты должны попадать в файл excel. Создала для этого на форме кнопку для перехода в Excel и для расчета.
Visual Basic
1
2
3
Dim oExcel As New Excel.Application
oExcel.Workbooks.Add
oExcel.Visible = True
Подскажите как сделать так, что бы если файл excel уже был отрыт не создавался заново, а дополнялся новой информацией? На какую кнопку лучше это прописать?
Почему появляется такая ошибка:в форме созданной в VBA в элементе TexBox число не целое,а вещественное (например: 567,56), когда информация переносится в Excel число заносится без запятой (например: 56756).
Вот так привязываю числа:
Visual Basic
1
oExcel.Cells(3, 3) = TextBox1.Text
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.01.2013, 22:06
Ответы с готовыми решениями:

Нужно что-бы при нажатии на кнопку создавался файл ini или же, если он уже есть, то ничего не происходило
Нужно что-бы при нажатии на кнопку создавался файл ini или же если он уже есть то ничего не происходило, вот не создается. Помогите unit...

Как сделать так чтобы при создании новой ветки создавался новый текстовый документ
Как сделать так чтобы при создании новой ветки создавался новый текстовый документ и в него сохранялось содержимое из memo. И так же при...

Как сделать так чтобы XML файл или txt файл создавался при запуске программы?
У меня имеется XML файл в котором около 300 строчек кода. Мне нужно что бы при запуске программы он сам создавался, даже если перед...

5
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
02.01.2013, 22:33
YuliaK, по поводу вещественных чисел.

В одних странах в дробных числах используется запятая (например, в России), в других странах - точка.
Это нужно учитывать при написании кода в VBA.

В вашем случае, дробное число в TextBoxе воспринимается программой Excel как текст, а не как число. Правда, не понятно, почему запятая удаляется.

Преобразуйте данные в TextBoxе в тип данных Double:
Visual Basic
1
2
3
4
5
Sub Procedure_1()
 
    ActiveCell.Value = CDbl("1,1")
 
End Sub

Чтобы занести данные в книгу Excel, нужно указать коду имя книги, с которой нужно работать. Если нужно работать с активной книгой, то для обращения к книге не обязательно использовать имя книги, можно использовать слово ActiveWorkbook.

Можно в самом коде книге дать имя в момент создания книги. Затем это имя использовать в коде:
Visual Basic
1
2
3
4
    Dim myBook As Excel.Workbook
    'Создаём книгу и даём этой книге имя "myBook".
    'Через это имя затем можно обращаться к книге.
    Set myBook = oExcel.Workbooks.Add
1
 Аватар для YuliaK
67 / 2 / 0
Регистрация: 29.04.2012
Сообщений: 32
02.01.2013, 22:50  [ТС]
Скрипт, Спасибо с цифрами получилось.
По второму вопросу, где лучше прописать изменения в excel файле (при нажатии кнопки Рассчитать или Excel? если оставить так как есть код, то при нажатии кнопки Excel создается заново новый документ, а надо, что бы информация изменялась в файле, если он был уже создан. Думаю надо сделать какую-то проверку при нажатии кнопки Excel открыт ли файл Excel, если да то информация заменяется. Если не создан, то создается заново. Вот не могу понять как это сделать.
0
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
02.01.2013, 22:53
Юлия, так форма с кнопкой у Вас где? В Ворде, Оутлуке или всё же уже в Экселе?
0
 Аватар для YuliaK
67 / 2 / 0
Регистрация: 29.04.2012
Сообщений: 32
02.01.2013, 22:59  [ТС]
Hugo121, Создавала с помощью vba в excel. Кнопки расположены на форме, а не на листе в excel.
0
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
02.01.2013, 23:06
Ну тогда значит одна книга уже есть - в которой код и форма.
Создаёте кодом книгу с определённым названием, если такой книги ещё нет. Если есть - используете.
Вообще задача в целом не ясна - зачем новый Application создавали, почему хотите использовать уже не новый, а старый и т.д.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.01.2013, 23:06
Помогаю со студенческими работами здесь

Как сделать так, чтобы макрос запускался в уже открытой вкладе Firefox, а не в новой?
Добрый день, товарищи! Пишу форму на vb.net. Другие варианты не получились, только этот. Запускаю макрос imacros из батника, а батник...

Как сделать так, что если файл существует return true, если нет - return false
Здравствуйте, я новичок в программировании. Мой вопрос очень прост: как сделать так, что если файл существует return true если нет return...

Как сделать так,что если этот файл не найден,то программа закрывалась выводя сообщение
Вообще-м ,программа работает с текстовым файлом и соответственно ее нужно кидать в папку с этим текстовым файлом. Если ее не кинуть и...

Как сделать чтобы город разрушался и заново был таким же?
Как сделать чтобы город разрушался и заново был таким же как и был в начале?

Если текстбокс пустое как сделать что бы ноль был?
Всем привет. У меня в форме значит есть текстбок и при нажатии на кнопку значит должно посчитать 2 текстбока. Но просто как сделать...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru