Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Одинаковое исходное значение получает в TextBox разное значение на разных компьютерах
 
Подготовил файл c макросами и UserForm, в котором, в том числе, в зависимости от выбранных значений ListBox в TextBox отображается нужная сумма баллов (TextBox1.Value = Cells(x, y).Value. Потом баллы из TextBox копируются на другой лист Excel (баллы копируются уже как числовое значение, использую Cells(x, y).Value = Val(TextBox1.Value).
У меня и у большинства пользователей все прекрасно и корректно работает, но у некоторых сумма баллов неправильно отображается в TextBox и так же неправильно копируется из TextBox в ячейку листа - вместо 1,5 копируется 1,0, вместо 0,5 копируется 0. Формул в ячейках нет, ячейки отформатированы как числовые, с двумя знаками после запятой.
У всех стоит Windows 7 64-разрядная, у всех Офис 2016.
Файл, к сожалению, приложить не могу.
Если кто-нибудь сталкивался с такой проблемой, подскажите, в чем может быть причина?
Спасибо!
Можно ли задавать время задержки в долях секунд?
 
Excel 2010. При открытии книги вывожу на экран форму и делаю задержку макроса на 3 секунды. Увидел такой вариант задержки с использованием цифры 86400, насколько я понимаю, это количество секунд в сутках.  А есть ли в VBA возможность регулировать время в долях секунды и как это можно сделать? Спасибо!
Код
Private Sub Workbook_Open()
frmTitle.Show (0)
frmTitle.Repaint
Application.Wait Time:=Now + 3 / 86400
Изменено: Leo Grig - 17.10.2018 20:51:48
Ошибка про программном добавлении макроса в модуль нового листа
 

Добрый день!
У меня Excel 2010. Сделал макрос, который открывает файл формата html, переносит лист с загруженными данными в ThisWorkbook, переименовывает лист в "EGRN" и в модуль этого нового листа добавляет текст макроса для события SelectionChange. Лист "EGRN" периодически создается новый, поэтому и макрос для SelectionChange приходится все время добавлять на новый лист. Код для добавления текста макроса в модуль нашел в интернете.
Но макрос ведет себя странно - то все работает нормально, то возникает ошибка 9 в этой строке:
With ThisWorkbook.VBProject.VBComponents(ThisWorkbook.Sheets("EGRN").CodeName).CodeModule
и текст макроса для события SelectionChange в модуль листа EGRN не добавляется.
Точно отловить, в каком случае возникает ошибка, не получается. В большинстве случаев в первый раз после отладки (компиляции и сохранения файла) макрос срабатывает нормально, а потом, после удаления листа EGRN при загрузке нового html возникает ошибка. Но ошибка возникает не всегда!
Буду признателен на подсказку, что я сделал не так. Спасибо!

Код
 
 Sub OpenHTML()
 fff = Application.GetOpenFilename("Все веб-страницы,*.html")
 If fff = "False" Then Exit Sub
 Workbooks.Open (fff)
 ActiveWorkbook.Sheets(1).Name = "EGRN"
 ActiveWorkbook.Sheets("EGRN").Move After:=ThisWorkbook.Sheets("REPORT")
 Dim lLineNum As Long
 With ThisWorkbook.VBProject.VBComponents(ThisWorkbook.Sheets("EGRN").CodeName).CodeModule
     lLineNum = .CreateEventProc("SelectionChange", "Worksheet")
     lLineNum = lLineNum + 1
     .InsertLines lLineNum, "Static previous_selection As String"
     lLineNum = lLineNum + 1
     .InsertLines lLineNum, "If previous_selection <> """" Then"
     lLineNum = lLineNum + 1
     .InsertLines lLineNum, "Range(previous_selection).Interior.ColorIndex = xlColorIndexNone"
     lLineNum = lLineNum + 1
     .InsertLines lLineNum, "End If"
     lLineNum = lLineNum + 1
     .InsertLines lLineNum, "Target.Interior.Color = vbYellow"
     lLineNum = lLineNum + 1
     .InsertLines lLineNum, "previous_selection = Target.Address"
 End With
 ThisWorkbook.VBProject.VBE.mainwindow.Visible = False
 End Sub

Изменено: Leo Grig - 17.09.2018 12:47:51
Изменение защиты ячейки при копировании из Word
 
Уважаемые форумчане!  
С ячейки в Excel снята защита, но при копировании в нее текста из Word ячейка снова становится защищенной (кроме случаев, если делаю вставку значения).    
Кто-нибудь может объяснить, в чем дело и как с этим бороться?  
Спасибо!
Подсчет количества использованных форматов ячеек в Excel 2003
 
Уважаемые коллеги!  
Как я понял, Excel 2003 поддерживает до 4000 уникальных форматов ячеек в одной книге. При превышении возникает сообщение "Слишком много форматов". На практике после возникновения этого сообщения пользователь рискует потерять файл.  
Поискав на форуме, понял, как можно разрешить возникшую проблему, но как ее предупредить - не нашел.  
Есть ли какой-нибудь способ узнать количество уже использованных форматов в файле? Например, с помошью VBA? Если да, то подскажите направление, как это сделать?  
Спасибо!
Ошибка при делении одинаковых чисел
 
Уважаемые форумчане!  
Столкнулся с такой проблемой:  
Обрабатываю суммы поступлений, которые состоят из рублей и копеек, то есть всегда не более 2 десятичных знаков. Во время обработки суммы из ячеек складываются двумя разными способами и результат помещается в две отдельные ячейки.    
Первый итог получается в результате сложения всех сумм поступлений от контрагентов.  
Второй итог получается в результате сложения всех сумм поступлений от каждого контрагента и сложения всех этих сумм.  
Итоги совершенно одинаковые. Но в некоторых случаях при делении одного итога на другой вместо 1,0 получаю 0,999999999999999.  
Я уже делал так:  
При обработке в ячейках ставил формат денежный. Объявлял переменную как Decimal, присваивал ей значение из ячейки, очищал ячейку и помещал в нее обратно значение переменной. Все равно иногда вместо 1,0 получаю 0,999999999999999.  
Подскажите, пожалуйста, как этого можно избежать?
Проверка открытия файла другим пользователем
 
Здравствуйте!  
У меня такой вопрос.  
Имеется некоторое количество пользователей, которые готовят однотипную информацию и помещают ее в один файл xls на общем диске. Когда пользователи готовят информацию прямо в общем файле, это отнимает много времени. Решение – пользователи готовят данные в своих файлах такого же формата, а готовые данные отправляют на сетевой файл (файл открывается на короткое время, в него макросом копируются данные, потом файл сохраняется и закрывается). Однако, если файл открыт другим пользователем, то его редактирование будет невозможно.  
Я пробовал выяснить это через текущие атрибуты общего файла, но не сработало.  
Не подскажете, каким образом можно определить, что файл xls, находящийся на общем сетевом диске, открыт другим пользователем и, соответственно, не доступен для записи?  
Большое спасибо!
Страницы: 1
Наверх