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

Страницы: 1
Ошибка при обращении к объекту ActiveX
 
Ребята, укажите пожалуйста что не так.  
Суть:  
Есть Элемент АктивХ, Combobox с именем dat1 Прямо на листе Лист1.  
Код:  
 
Dim x As Object  
Set x = Sheets("Лист1").OLEObjects("dat1")  
MsgBox x.Value  
 
Результат: Object doesn't support this property or method (Error 438)  
 
А такой Код работает:  
 
Dim x As Object  
Set x = Sheets("Лист1").OLEObjects("dat1")  
MsgBox x.Name  
 
Что не так?
Создание гипер ссылок в нескольких тысячах ячеек.
 
Всем доброго дня!  
 
Я соорудил макрос, который формирует гиперссылки на основании Id ссылки (столбец D).  
Вот сам макрос:  
 
Sub Ссылки()  
' Создаю переменную и присваиваю ей статическую часть ссылки  
Dim ssilka As String  
ssilka = Sheets("Data").Range("A10").Value  
 
Dim i As Integer  
Dim iLastRow As Integer  
' узнаю номер последней непустой строки, и присваиваю цифру переменной  
iLastRow = Cells(Rows.Count, 4).End(xlUp).Row  
' запускаю цикл и формирую ссылки в столбце "С"  
For i = 11 To iLastRow  
Sheets("Активация").Hyperlinks.Add Anchor:=Cells(i, 3), Address:=ssilka & Cells(i, 4), TextToDisplay:="Ссылка"  
Next i  
End Sub  
 
Все бы было хорошо, но есть одна проблема, если строк несколько тысяч и если в других листах есть еще данные, то на формирование одной ссылки уходит почти секунда, весь массив может отрабатываться до 15 минут.  
 
Подскажите, есть ли другой способ провести эту же операцию, но быстрее?  
Возможно ли например загрузить весь массив в переменную типа Variant, обработать каждый элемент массива и потом выгрузить в ячейки?  
Прошу прощения, если вопрос задан не корректно, я в VBA не силен.
Сохранение области (диапозона) в отделный файл
 
С праздником!  
 
Ребята, прошу помощи.  
Необходимо помочь в написании маленького макроса, который бы смог сохранить определенный диапазон ячеек, с присвоенным именем "Область" в отдельную книгу, но скопировать необходимо только значения и форматирование. На листе присутствуют элементы управления (Кнопки и т д) и макрос, они копироваться не должны. Новый файл с именем текущей даты, нужно поместить в папку рядом с файлом с названием "Документы", если такой папки нет, ее необходимо создать.  
Я перечитал много похожих тем, но собрать из них макрос отвечающий этим критериям не смог.  
Буду очень благодарен за помощь.
Авторизация (Регистрация) пользователей в EXCEL
 
Всем доброго дня!  
Просмотрел несколько тем об авторизации, но в основном они касаются защиты или ограничения доступа.    
А мне необходимо организовать простую систему регистрации пользователей (по имени профиля), так что-бы пользователю, который в первый раз открывает файл, выскочила форма, в которую предлагается ввести Настоящее имя и инициалы и при нажатии кнопки "Сохранить" данные об имени профиля и Настоящем имени сотрудника вносилась отдельный лист (базу сотрудников). При последующих открытиях файла с этого с того же профиля, производилась проверка и переменной, которая отвечает за имя сотрудника (Например name_uzer) присваивалось "настоящее имя" (Например Сидоров В. в место имени профиля или компьтера Sidorov_uchotnaia_gruppa_12354GTRJ ), а формочка с просьбой внести данные, больше не выскакивала (не зачем лишний раз беспокоить пользователя).  
Ранее я решал проблему таким образом:  
 
Private Sub Workbook_Open()  
'-----------------------------------------------  
Dim u_name As String  
' Присваиваем переменной u_name имя профиля сотрудника  
u_name = CreateObject("WScript.Network").UserName  
 
Производим проверку, если значение u_name было внесено, присваиваем Человеко - понятное имя сотрудника, переменной nam либо используем имя профиля, если имени в списках нет  
Select Case u_name  
 
 Case "i.krasnova"  
     nam = "Краснова И. Е."  
 
 Case "v.horbunova"  
     nam = "Горбунова В. С."  
 Case "r.oliinyk"  
     nam = "Олийнык Р. И."  
 Case Else  
     nam = Application.UserName  
End Select  
 
'----------------------------------------------  
 
End Sub  
 
Однако, при добавлении сотрудника, приходиться снова лезть в макросы, а после того как к нам присоединились еще несколько десятков предприятий, такой способ стал бесполезен.  
Если кто нибудь сталкивался с таким вопросом, прошу у Вас помощи.  
Заранее благодарен!
Страницы: 1
Наверх