excel нельзя установить свойство visible класса worksheet

Excel нельзя установить свойство visible класса worksheet

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

Книга открывается без пароля, но в VBA видно,что пароль есть. Я знаю пароль книги но как его ввести в VBA не знаю.

Листы без пароля. Не могу отобразить Лист №2. На снимках видно, что

скрыть отобразить литы не возможно, поскольку функция «НЕ АКТИВНА». Знаю, что виноват МАКРОС.

Но,что и как делать без понятия. Ни на одном форуме не нашел. Если меняю 0-xlSheetHiden на 1-xlSheetVisible вылазит сообщение:

» Нельзя установить свойство Visible класса Worksheet «.

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

Книга открывается без пароля, но в VBA видно,что пароль есть. Я знаю пароль книги но как его ввести в VBA не знаю.

Листы без пароля. Не могу отобразить Лист №2. На снимках видно, что

скрыть отобразить литы не возможно, поскольку функция «НЕ АКТИВНА». Знаю, что виноват МАКРОС.

Но,что и как делать без понятия. Ни на одном форуме не нашел. Если меняю 0-xlSheetHiden на 1-xlSheetVisible вылазит сообщение:

» Нельзя установить свойство Visible класса Worksheet «.

Не верьте, что Вы не рабы.

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

Книга открывается без пароля, но в VBA видно,что пароль есть. Я знаю пароль книги но как его ввести в VBA не знаю.

Листы без пароля. Не могу отобразить Лист №2. На снимках видно, что

скрыть отобразить литы не возможно, поскольку функция «НЕ АКТИВНА». Знаю, что виноват МАКРОС.

Но,что и как делать без понятия. Ни на одном форуме не нашел. Если меняю 0-xlSheetHiden на 1-xlSheetVisible вылазит сообщение:

» Нельзя установить свойство Visible класса Worksheet «.

Источник

Ошибка времени выполнения VBA 1004 Ошибка, определяемая приложением или объектом

С помощью форума Excel я создал форму входа в систему, в которой у меня 5 пользователей. Каждый пользователь может иметь доступ только к назначенным ему листам. Это нормально работает. Но теперь я защитил «структуру книги», чтобы избежать добавления / удаления листов пользователями. Затем я снова вхожу в систему, и вместо отображения формы входа в Excel VBA появляется сообщение об ошибке:

Ошибка-1004 Невозможно установить видимое свойство класса рабочего листа

Когда я отлаживаю, ошибка выделяется в следующих кодах, где для свойства visible листа установлено значение «True», «False» или «xlSheetVeryHidden».

Есть ли способ исправить это, чтобы я мог получить доступ к форме входа в систему, как это было до введения пароля, защищающего «структуру книги»?

Вот еще одно беспокойство по этому поводу.

Вы можете НЕ скрывать ВСЕ рабочих листов в книге. Таким образом, если вы знаете, что у вас будет хотя бы 1 лист, который ВСЕГДА будет виден, исключите его из процесса скрытия.

Была ли открыта еще одна рабочая книга Excel при ее тестировании? Здесь нет явной ссылки на книгу, которую вы ищете, поэтому, если вы запустите этот код с книгой, в которой лист «Всплеск» недоступен, макрос попытается сделать все листы скрытыми, что может вызвать эту ошибку.

Чтобы смоделировать это, откройте новый сеанс Excel и запустите этот макрос:

Если я лаю не на то дерево, вы получите ту же ошибку.

Чтобы решить эту проблему, просто добавьте имя книги в свой цикл, и это будет примерно так (очевидно, вы должны убедиться, что есть лист «Всплеск», иначе возникнет ошибка):

Вам придется снимать и повторно защищать код. Обратной стороной является то, что ваш пароль будет в коде.

Теперь Excel открывает файл без видимого рабочего листа.

Источник

Excel нельзя установить свойство visible класса worksheet

Обсуждаем вопросы только по Excel VBA
(программирование макросов, скриптов, пользовательских функций и т.п.).
Приветствуются ссылки на ресурсы и справочную литературу по теме.

Вопросы по работе с MS Excel, не относящиеся к программированию, задаем в теме Excel FAQ

Обратите внимание, этот топик для помощи в изучении и использовании VBA. Посему запросы типа «Напишите мне такой-то макрос, я VBA не знаю и знать не хочу» не приветствуются.
Древняя мудрость: «Накорми голодного рыбой и он погибнет, научи его ловить рыбу и ты спасешь его.»(R)

Читайте также:  чешется левый висок примета у мужчин

Предыдущие ветки топика: Часть 1

Добавление в главное меню своего пункта, ассоциированного с макросом
Создание ярлыка на рабочем столе
Снятие защиты листа при забытом пароле
Смена раскладки клавиатуры
Скролл формы колесом прокрутки мыши
Оптимизация кода по быстродействию использованием массивов
Найти «чужое» окно и нажать в нем кнопку ( вписать текст в текстовое поле )
Работа с UNICODE-символами в VBA: запись, чтение из ячейки, перевод в ASС и обратно
Как программно подключить дополнительные библиотеки (например, «Microsoft Scripting Runtime» или «Microsoft ActiveX Data Objects 2.8 Library) через References Всего записей: 3954 | Зарегистр. 29-07-2003 | Отправлено: 01:58 23-04-2007 | Исправлено: JekG, 22:32 10-01-2010

Alex209

Newbie

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Спасибо за ответ.
Применил эту команду в такой конструкции:

Private Sub CommandButton1_Click()
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=»», SubAddress:=»Лист4!R1C1″, TextToDisplay:=»Лист4″
End Sub

При нажатии на кнопку, на листе появляется ссылка на лист 4 и только при нажатии на эту ссылку происходит переход на лист 4.

Я бы хотел, чтобы:
1. переход на другой лист происходил непосредственно при нажатии на кнопку;
2. и адрес листа задавался бы не его порядковым номером в книге (SubAddress:=»Лист4!R1C1″), а именем листа.

Буду признателен за помощь

Всего записей: 5 | Зарегистр. 09-12-2008 | Отправлено: 14:05 09-12-2008
ITradar

| A | B | C | D
1 |Планы расходов. |Бюджет:|7385 |руб
2 |Приорите|Необходимо |Цена |Остаток
3 | 1 |Набор резцов|2000 |=D1-C3=5385
4 | 2 |Фоторамки |600 |=D3-C4=4785
5 | 3 |Привод DVD |900 |=D4-C5=3885
6 | 4 |HDD 300Гб |2500 |=D5-C6=1385

Sub SelectedUP()

‘ SelectedUP Макрос
‘ Макрос записан 18.10.2008 (Radmir)

‘ Сочетание клавиш: Ctrl+u

Dim UpRow As Integer

Ошибка:
Run-time error ‘424’
object required

Когда у меня был код по проще, у меня смена местами получалась, но результаты формул Остатков не менялись, так как менялись сами формулы, как бы привязываясь к строкам.

Sub SelectedUP()

‘ SelectedUP Макрос
‘ Макрос записан 18.10.2008 (Radmir)

‘ Сочетание клавиш: Ctrl+u

Dim UpRow As Integer

End Sub

Всего записей: 4 | Зарегистр. 31-03-2008 | Отправлено: 14:46 09-12-2008 | Исправлено: ITradar, 14:50 09-12-2008
TURNSKIN85

Junior Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору добрый день
нужна ваша помощь.
есть такая задача :
имееться: имя пациента, дата прибытия, дата отбытия и палата.
нужно на соседнем sheet’e заполнить своеобразный каллендарь, который выгледит вот так :
201 202 203 204 205 206 207 208 209 210 301 302 303
2008.12.01 x
2008.12.02 x
2008.12.03 x x
2008.12.04 x x x
2008.12.05 x x
2008.12.06 x x
2008.12.07 x
2008.12.08 x
2008.12.09 x x
2008.12.10 x
2008.12.11
т.е. палата 201 занята с первого декабря по 4ое
палата 207 с 4 по 9ое
302 с 3ого по 6ое и с 9 и до 10ого
как это реализовать в виде макроса?
я как бы могу найти строку с датой отбытия и прибытия пациента, могу найти столбез с палатой, но вот как в писать в эту своебразную матрицу креситики(или как либо по другому отметить) в занятые палаты.
Всего записей: 38 | Зарегистр. 17-03-2008 | Отправлено: 16:22 09-12-2008
miha7411

Newbie

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Alex209
На листе поместить кнопку и назначить ей макрос.
Вот как-то так.

Sub Перечень()
Sheets(«Перечень»).Select
End Sub

Junior Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору TURNSKIN85

Range(«B2:K2»).Select ‘**********
Selection.Find(What:=mat(2, i), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
n1 = ActiveCell.Column

Range(«A3:A33»).Select ‘************
Selection.Find(What:=mat(0, i), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
r1 = ActiveCell.Row
Range(Cells(r1, n1), Cells(r1 + k, n1)) = «*»

Next
Range(«A1»).Select
End Sub

Junior Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору TURNSKIN85
Находишь сроку с датой и столбец с палатой
Обозначим n-номер строки с датой, m-номер столбца с палатой
cells(n,m)=»x»
Всего записей: 49 | Зарегистр. 15-10-2008 | Отправлено: 06:47 10-12-2008
TURNSKIN85

Код:

Set FoundCell = Worksheets(«Sheet2»).Range(«A1:A63»).Find _
(what:=DateValue(«2008.12.09»), LookIn:=xlFormulas)
Worksheets(«Sheet3»).Range(«A10») = FoundCell
FoundCell.Interior.Color = RGB(10, 0, 0)
Всего записей: 38 | Зарегистр. 17-03-2008 | Отправлено: 09:58 10-12-2008 | Исправлено: TURNSKIN85, 13:03 10-12-2008
ITradar

Junior Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ITradar

а так разве не РАБОТАЕТ?

a1 = Range(ActiveCell, ActiveCell).Value
a2 = Range(ActiveCell, ActiveCell).Offset(0, 1).Value

b1 = Range(ActiveCell, ActiveCell).Offset(-1, 0).Value
b2 = Range(ActiveCell, ActiveCell).Offset(-1, 1).Value

Range(ActiveCell, ActiveCell).Value = b1
Range(ActiveCell, ActiveCell).Offset(0, 1).Value = b2

Range(ActiveCell, ActiveCell).Offset(-1, 0).Value = a1
Range(ActiveCell, ActiveCell).Offset(-1, 1).Value = a2

Всего записей: 95 | Зарегистр. 16-07-2007 | Отправлено: 18:13 10-12-2008
Mont1

Junior Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору TURNSKIN85
Я незнаю как работает оператор Find, предлагаю другой способ

Dim FoundCell As Range
For Each FoundCell In Range(«A1:A63»)
If FoundCell.Value = «09.12.2008» Then
m = FoundCell.Column ‘Номер столбца
n = FoundCell.Row’ Номер строки
End If
Next

Всего записей: 49 | Зарегистр. 15-10-2008 | Отправлено: 03:41 11-12-2008
ITradar

Newbie

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Спасибо ОГРОМНОЕ за уделенное внимание. Всё отлично получилось! Привожу полностью завершенное решение, надеюсь табличка с этими макросами будет полезна при планировании покупок, расходов, или просто для планирования решения задач по степени их важности!

Sub SelectedUP()

‘ SelectedUP Макрос
‘ Макрос записан 18.10.2008 (Radmir)

‘ Сочетание клавиш: Ctrl+Shift+J

Dim UpRow As Integer

Sub SelectedDown()

‘ SelectedDown Макрос
‘ Макрос записан 10.12.2008 (Radmir)

‘ Сочетание клавиш: Ctrl+Shift+M

Источник

Excel нельзя установить свойство visible класса worksheet

Помню тут уже была подобная тема но я что-то ее пока не сумел найти.

Желательно что бы страницы соответствующие данному паролю были доступны для редактирования и просмотра другие не доступны для редактирования и просмотра.

Помню тут уже была подобная тема но я что-то ее пока не сумел найти.

Желательно что бы страницы соответствующие данному паролю были доступны для редактирования и просмотра другие не доступны для редактирования и просмотра.

Помню тут уже была подобная тема но я что-то ее пока не сумел найти.

Желательно что бы страницы соответствующие данному паролю были доступны для редактирования и просмотра другие не доступны для редактирования и просмотра.

koyaanisqatsi Дата: Пятница, 15.04.2016, 10:08 | Сообщение № 2

Хороший пример только видны все страницы. Хотелось бы чтоб под каждым паролем были доступны свои страницы.

Хороший пример только видны все страницы. Хотелось бы чтоб под каждым паролем были доступны свои страницы. koyaanisqatsi

Pelena Дата: Пятница, 15.04.2016, 10:16 | Сообщение № 4
koyaanisqatsi Дата: Пятница, 15.04.2016, 10:20 | Сообщение № 6
_Boroda_ Дата: Пятница, 15.04.2016, 10:31 | Сообщение № 7
koyaanisqatsi Дата: Пятница, 15.04.2016, 10:38 | Сообщение № 8
koyaanisqatsi Дата: Пятница, 15.04.2016, 11:09 | Сообщение № 9

_Boroda_,
На листе «доп» изобразил права доступа, помогите пожалуйста в соответствии с этим правилами раздать доступ.

_Boroda_,
На листе «доп» изобразил права доступа, помогите пожалуйста в соответствии с этим правилами раздать доступ.

Сообщение _Boroda_,
На листе «доп» изобразил права доступа, помогите пожалуйста в соответствии с этим правилами раздать доступ.

SLAVICK Дата: Пятница, 15.04.2016, 11:34 | Сообщение № 10

200?’200px’:»+(this.scrollHeight+5)+’px’);»> Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) <> «B2» Then Exit Sub
On Error Resume Next
p_ = WorksheetFunction.VLookup(Range(«B1»), Лист4.[A2:B999], 2, False)
shs = WorksheetFunction.VLookup(Range(«B1»), Лист4.[A2:c999], 3, False)
On Error GoTo 0
If Range(«B2») <> p_ Then MsgBox «Неверный пароль»: Exit Sub
sk_ = ThisWorkbook.Sheets.Count
sa_ = ActiveSheet.Name

If Len(shs) = 0 Then
For i = 2 To ThisWorkbook.Sheets.Count
Sheets(i).Visible = xlSheetVisible
Next
Else
For i = 2 To ThisWorkbook.Sheets.Count
Sheets(i).Visible = IIf(InStr(1, shs, ThisWorkbook.Sheets(i).Name, vbTextCompare) = 0, xlSheetVeryHidden, xlSheetVisible)
Next
End If
End Sub

200?’200px’:»+(this.scrollHeight+5)+’px’);»> Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) <> «B2» Then Exit Sub
On Error Resume Next
p_ = WorksheetFunction.VLookup(Range(«B1»), Лист4.[A2:B999], 2, False)
shs = WorksheetFunction.VLookup(Range(«B1»), Лист4.[A2:c999], 3, False)
On Error GoTo 0
If Range(«B2») <> p_ Then MsgBox «Неверный пароль»: Exit Sub
sk_ = ThisWorkbook.Sheets.Count
sa_ = ActiveSheet.Name

If Len(shs) = 0 Then
For i = 2 To ThisWorkbook.Sheets.Count
Sheets(i).Visible = xlSheetVisible
Next
Else
For i = 2 To ThisWorkbook.Sheets.Count
Sheets(i).Visible = IIf(InStr(1, shs, ThisWorkbook.Sheets(i).Name, vbTextCompare) = 0, xlSheetVeryHidden, xlSheetVisible)
Next
End If
End Sub

200?’200px’:»+(this.scrollHeight+5)+’px’);»> Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) <> «B2» Then Exit Sub
On Error Resume Next
p_ = WorksheetFunction.VLookup(Range(«B1»), Лист4.[A2:B999], 2, False)
shs = WorksheetFunction.VLookup(Range(«B1»), Лист4.[A2:c999], 3, False)
On Error GoTo 0
If Range(«B2») <> p_ Then MsgBox «Неверный пароль»: Exit Sub
sk_ = ThisWorkbook.Sheets.Count
sa_ = ActiveSheet.Name

If Len(shs) = 0 Then
For i = 2 To ThisWorkbook.Sheets.Count
Sheets(i).Visible = xlSheetVisible
Next
Else
For i = 2 To ThisWorkbook.Sheets.Count
Sheets(i).Visible = IIf(InStr(1, shs, ThisWorkbook.Sheets(i).Name, vbTextCompare) = 0, xlSheetVeryHidden, xlSheetVisible)
Next
End If
End Sub

koyaanisqatsi Дата: Пятница, 15.04.2016, 11:42 | Сообщение № 11
koyaanisqatsi Дата: Среда, 18.05.2016, 14:00 | Сообщение № 12

SLAVICK, Здравствуй. Что-то я поломал. И не знаю куда искать где смотреть.
При выборе пользователя и ввода пароля 444 Макрос выдает ошибку дебаг или ЕНД
предлагает поискать проблему в этой строке.

Что привело к поломке не знаю. Добавлял страницы удалял ненужные. Добавлял в список отображаемых еще страниц.
Но уже в сломанном файле делал многое чтобы понять в чем причина и список страниц корректировал убавлял его до одной. Пока ничего не помогло.

Ошибка: Нельзя установить свойство Visible класса Workshieet

Причем если сначала зайти под админом а потом зайти под пользователем то ошибку не выдает.

К сожалению файл уже вырос до 200кб.

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

200?’200px’:»+(this.scrollHeight+5)+’px’);»> Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Private Sub Workbook_Open()

If ActiveSheet.Name = «Лист5» Then
Application.OnKey «^v», «»: Application.OnKey «^V», «»
Application.OnKey «^x», «»: Application.OnKey «^X», «»
End If

2-ой код (пытался что-то зарепортить чтобы хоть как-то подружить эти два кода.

200?’200px’:»+(this.scrollHeight+5)+’px’);»> ‘Option Explicit
‘Private WithEvents Appl As Application ‘ объявляем объект Application для того, чтобы можно было отлавливать события других книг

‘ Sub Reload_Appl(): Set Appl = Application: End Sub ‘ «патч» (у меня почему-то иногда теряется определение Appl)

SLAVICK, Здравствуй. Что-то я поломал. И не знаю куда искать где смотреть.
При выборе пользователя и ввода пароля 444 Макрос выдает ошибку дебаг или ЕНД
предлагает поискать проблему в этой строке.

Что привело к поломке не знаю. Добавлял страницы удалял ненужные. Добавлял в список отображаемых еще страниц.
Но уже в сломанном файле делал многое чтобы понять в чем причина и список страниц корректировал убавлял его до одной. Пока ничего не помогло.

Ошибка: Нельзя установить свойство Visible класса Workshieet

Причем если сначала зайти под админом а потом зайти под пользователем то ошибку не выдает.

К сожалению файл уже вырос до 200кб.

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

200?’200px’:»+(this.scrollHeight+5)+’px’);»> Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Private Sub Workbook_Open()

If ActiveSheet.Name = «Лист5» Then
Application.OnKey «^v», «»: Application.OnKey «^V», «»
Application.OnKey «^x», «»: Application.OnKey «^X», «»
End If

2-ой код (пытался что-то зарепортить чтобы хоть как-то подружить эти два кода.

200?’200px’:»+(this.scrollHeight+5)+’px’);»> ‘Option Explicit
‘Private WithEvents Appl As Application ‘ объявляем объект Application для того, чтобы можно было отлавливать события других книг

‘ Sub Reload_Appl(): Set Appl = Application: End Sub ‘ «патч» (у меня почему-то иногда теряется определение Appl)

Сообщение SLAVICK, Здравствуй. Что-то я поломал. И не знаю куда искать где смотреть.
При выборе пользователя и ввода пароля 444 Макрос выдает ошибку дебаг или ЕНД
предлагает поискать проблему в этой строке.

Что привело к поломке не знаю. Добавлял страницы удалял ненужные. Добавлял в список отображаемых еще страниц.
Но уже в сломанном файле делал многое чтобы понять в чем причина и список страниц корректировал убавлял его до одной. Пока ничего не помогло.

Ошибка: Нельзя установить свойство Visible класса Workshieet

Причем если сначала зайти под админом а потом зайти под пользователем то ошибку не выдает.

К сожалению файл уже вырос до 200кб.

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

200?’200px’:»+(this.scrollHeight+5)+’px’);»> Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Private Sub Workbook_Open()

If ActiveSheet.Name = «Лист5» Then
Application.OnKey «^v», «»: Application.OnKey «^V», «»
Application.OnKey «^x», «»: Application.OnKey «^X», «»
End If

2-ой код (пытался что-то зарепортить чтобы хоть как-то подружить эти два кода.

200?’200px’:»+(this.scrollHeight+5)+’px’);»> ‘Option Explicit
‘Private WithEvents Appl As Application ‘ объявляем объект Application для того, чтобы можно было отлавливать события других книг

‘ Sub Reload_Appl(): Set Appl = Application: End Sub ‘ «патч» (у меня почему-то иногда теряется определение Appl)

Источник

Читайте также:  какую рыбу нельзя при грудном вскармливании
Портал про кино и шоу-биз