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

Страницы: 1
Имя пользователя в ячейке, Короткий вопрос
 

Доброго времени суток!

Уважаемые, есть маленький шкурный вопрос:
в предидущей версии ёкселя код

Код
Option Explicit 
 Private Sub Workbook_Open()
     ActiveSheet.Range("F52").Value = Application.UserName
 End Sub 

после сохранения БЕЗ поддержки макросов отлично отрабатывал...
После глобальной обновы оффиса в офисе ( :) ) и попытки сохранения книги с расширением .xlsx код работать перестал - он просто исчез :(

Есть ли другой способ(без привлечения VBA) получить имя пользователя в ячейке?
Или способ заставить работать код в книге без макросов?

Спасибо за консультацию!
Невозможно сохранить данные. Временная ошибка 1004, Method 'Open' оf object 'Workbooks' failed
 
Доброго времени суток.

По этой ошибке нашел только один запрос, да и то не совсем то(извиняюсь за каламбур).

Проблемка следующая - файлик написан в 2018 на ёксель 2010 - все работало. В прошлом годе фирма переехала на Office 365 и началось...
К сообщению: "неизвесная ошибка, файл будет закрыт?" я уже привык как к "сохранить данные перед закрытием? да/нет". Но после очередного обновления ребята, которые юзали файл, начали жаловаться, что не могут сохранить данные - при нажатии кнопки вылетает Run-time error '1004':     Method 'Open' оf object 'Workbooks' failed. и строку Set WSh = Workbooks.Open("\\путь к файлу в общих папках.xlsx") светит...
Сам файл прикладывать не вижу смысла(да и не маленький). Выложу проблемную часть

Код
Option Explicit
Dim WSh As Workbook    'книга базы
Dim WShOpen As String  'доступ к базе
Dim WOB As Worksheet      'лист базы
Dim Fill As Worksheet     'лист списка
Dim WO As ListObject      'таблица базы
Dim FillTab As ListObject 'таблица списка
Dim WOr As ListRow        'строка базы
Dim FTR As ListRow        'строка списка

Sub сохранить()
'формировка таблиц
....
'    копия таблицы
 Range("Table11[[#Headers],[Дата]]").Select
    ActiveSheet.ListObjects("Table11").Range.AutoFilter Field:=6, Criteria1:= _
        "<>"
        If ThisWorkbook.Worksheets("data").Range("U35") = 0 Then
        ThisWorkbook.Worksheets("data").Visible = False
        MsgBox "Нет записей"
        Exit Sub
        Else
    Range("Table11").Select
    Selection.Copy
    
 'открыть базу
   Set WSh = Workbooks.Open("\\путь к файлу в общих папках.xlsx")
    
    Set WOB = WSh.Worksheets("WorkShift")

    WOB.Select
'    поиск конца таблицы и вставка
 Dim iLastRow As Long
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
Cells(iLastRow + 1, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
        WSh.Save
    WSh.Close
    Set WSh = Nothing
    
    ThisWorkbook.Worksheets("data").Visible = False
End If
End Sub

Самое странное то, что у меня на машине все работает без сбоев. У ребят к папке на серваке полный доступ...

Гуру, на Вас все надежды!
Формат даты в комбобоксе формы
 
Добрый день.

На созданной форме, при выборе даты комбобоксом, отображается дата в числовом формате.
Код
Private Sub Date1_Change()
   Me.Date1.Value = Format(Me.Date1.Value, "dd/mm/yyyy")
End Sub

выдает сообщение - can't execute code in break mode. Замена "Ме" на имя формы не помогает...
Что я делаю не так?

Спасибо!
Возврат на последний активный лист после отработки макроса
 
Добрый день!

Столкнулся с вроде маленькой, но не решаемой мной проблемкой...
В книге есть, условно, 6 листов. Люди преимущественно работают на первых 3х, на 4-6 вносят данные эпизодически.
Макросом прописано, что 3 раза в сутки(по расписанию) данные таблиц листов 4-6 очищаются.
Т.е. человек сидит, работает и тут бац - он уже на листе таблиц да еще и с выделенным диапазоном, да еще и сразу на 3х  8-0

Вопрос: как прописать возвращение на лист, на котором работал человек после отработки макроса очистки?

Спасибо.
Изменено: zasada - 23.08.2017 13:29:58
Страницы: 1
Наверх