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

Страницы: 1
Ошибка EXCEL при открытии формы, Ошибка EXCEL при вызове формы из запароленного проекта...
 
Честно сказать, перед ошибкой модернизировал код немного, и по ошибке зациклил (типо такого: функция1 содержит ссылку на выполнение функции2, а функция 2 ссылку на выполнение функции 1). Сохранял с этим, но затем пофиксил... Вскоре после этого и возникла ошибка в EXCEL. Сейчас то код нормальный, а вылетает все-равно...
Ошибка EXCEL при открытии формы, Ошибка EXCEL при вызове формы из запароленного проекта...
 
Доброго всем дня! Вчера столкнулся с такой проблемой - при вызове формы из запароленного проекта в книге вылетает EXCEL... Сама книга с проектом открывается и работает нормально, форма тоже запускается, НО только если зайти в разработчик/VBA и ввести пароль для просмотра содержимого проекта VBA. Снятие пароля, сохранение и повторное открытие без пароля проблему не решают. Форму с кодом (пароль уже не ставил) копировал в другую книгу - открывается без проблем. Видимо загвоздка в доступе к форме в запароленный проект (даже если пароль в последствии снят). И еще - с книгой работают многие компьютеры по сети - у всех разом возникла эта проблема, даже при открытии той версии книги с формой (резервной копии), в которой ранее она открывалась без проблем. Кто сталкивался?
Изменено: Гена Рыбалкин - 21.06.2017 10:51:27
действие при клике происходит 3 раза..., В "Private Sub ListBox_click ()" действие A = A + ListBox.value происходит 3 раза!!!
 
Покомпактней))) по аналогии - все тоже самое - первая проблема с тройной вставкой исчезла - появилась другая ...
действие при клике происходит 3 раза..., В "Private Sub ListBox_click ()" действие A = A + ListBox.value происходит 3 раза!!!
 
1
2
3

При клике на 1 должно выводится "Тыры пыры: 1", затем следующий клик на 2 - должно быть "Тыры пыры: 1; 2" и т.д....
действие при клике происходит 3 раза..., В "Private Sub ListBox_click ()" действие A = A + ListBox.value происходит 3 раза!!!
 
по три раза один и тот же прибор вписывает... Зачем?
действие при клике происходит 3 раза..., В "Private Sub ListBox_click ()" действие A = A + ListBox.value происходит 3 раза!!!
 
быстрее быстрее и затупил)) Пардон
действие при клике происходит 3 раза..., В "Private Sub ListBox_click ()" действие A = A + ListBox.value происходит 3 раза!!!
 
Оригинал))

Забыл обьяснить - в макросы идем, кликаем данные, появляется форма - простановка приборов и далее проблема...  
Изменено: Гена Рыбалкин - 06.04.2015 16:28:40
действие при клике происходит 3 раза..., В "Private Sub ListBox_click ()" действие A = A + ListBox.value происходит 3 раза!!!
 
да, изначально правда & ставил - тот же самый эффект... могу в личку оригинал скинуть
действие при клике происходит 3 раза..., В "Private Sub ListBox_click ()" действие A = A + ListBox.value происходит 3 раза!!!
 
Есть переменная А. Задана в модуле книги через Public A As String.

Есть одна из вспомогательных форм с кодом:
Код
Private Sub ListBox_Click()
    If A = "" Then
        A = "Значение А: " & ListBox.Value
    Else
        A = A + ListBox.Value
    End If
    MAINFORM.TextBoxMAIN.Value = A 'В другую форму выводится "собирательное" значение из ListBox
End Sub

Допустим А=1, при клике выводится "111", или "Значение А: 111". Из-за чего такое получается? Как-то с таким сталкивался, но решилось само собой...
Автоматическое выделение данных в ListBox по признаку, Полученный в ListBox список чего-либо нужно как-то разделить по признаку...
 
ListBox.font - шрифт, ListBox.ForeColor - цвет шрифта... А чтобы это было в разных строках... - собсно в этом и вопрос!
Сортировка боюсь не вариант... в моем случае - много аспектов, которые я в примере опустил, не позволяют ее реализовать, да оно и не нужно...
Изменено: Гена Рыбалкин - 29.03.2015 17:19:13
Автоматическое выделение данных в ListBox по признаку, Полученный в ListBox список чего-либо нужно как-то разделить по признаку...
 
Добрый день форумчане)) Никак не могу реализовать оставшуюся часть своего проекта. Суть довольно проста. Допустим есть источник данных для ListBox на листе в книге (1 столбец - яблоки, груши,....; 2 столбец - фрукты, овощи... т.е. определение что есть что.) В ListBox попадает только 1 столбец (в моем проекте 2 столбец выводить не надо). Нужно как-то выделить данные в ListBox (яблоки, груши, томат...) в зависимости от того, чем они являются во втором столбце. Например, все фрукты в ListBox жирным шрифтом (яблоки, груши...), а все овощи (томаты, картофель и прочее) курсивом... ну либо цветами. Как прописать цвет и прочее я знаю, а как заставить определить ListBox что есть что согласно столбцу 2 - не знаю... Помогите)))

Поиск, информации подкинул, но по делу ничего не нашел...
поиск по символам и подсветка найденого (VBA)
 
Здравствуйте. Помогите пожалуйста: нужно в неком списке найти все значения, в которых встречается искомый символ (или символы, если поиск по нескольким символам) и подсветить их. Частично реализовал, опираясь на существующие темы, но найти сумел не все... Подсветка я так понимаю идет с помощью оператора Mid, но вот рикрутить его так и не получилось. Файлик с творчеством креплю)
Изменено: Гена Рыбалкин - 18.09.2013 20:44:27
Подправить код ListBox
 
Три столбца левее - это да, на быструю руку переносил форму и код из другого документа...
А про пробел, спасибо!!!
Подправить код ListBox
 
Цитата
Где-то так:
- выкидывает ошибку.
Подправить код ListBox
 
Попытался написать сам по другому - не выходит...


Код
Private Sub Find_Value(sValue As String, rFindRange As Range)
If sValue = "*" Then ListBox1.Clear:  Exit Sub
Dim N As Long
Dim rFndRng As Range
N = 0
Set rFndRng = rFindRange.Find(what:=sValue, LookIn:=xlValues, lookat:=xlWhole)
With ListBox1
For N = 0 To Me.ListBox1.ListCount - 1
If rFndRng Is Nothing Then GoTo Clear
Do
.AddItem ""
.List(N, 0) = rFndRng.Offset(0, -1).Value
.List(N, 1) = rFndRng
N = N + 1
End If
Set rFndRng = rFindRange.FindNext(rFndRng)
Next
End With
Clear: ListBox1.Clear
End Sub
Подправить код ListBox
 
Уважаемые корифеи написания програмного кода)
Есть диапазон:
1 апельсин
2 груша
3 яблоко
4 апельсин
....и т.д. (2 столбца)

Есть следующий код поиска в диапазоне (брал с форума. Но где, до сих пор найти не могу):

Код
Private Sub ОКНО_ПОИСКА_Change()
Call Find_Value(ОКНО_ПОИСКА.Value & "*", Range("ДИАПАЗОН"))
End Sub

-начинаем вводить текст в окно поиска, выполняется следующее:

Код
End SubPrivate Sub Find_Value(sValue As String, rFindRange As Range)
If sValue = "*" Then ListBox1.Clear:  Exit Sub
Dim rFndRng As Range
Dim sAddress As String
Set rFndRng = rFindRange.Find(what:=sValue, LookIn:=xlValues, lookat:=xlWhole)
If rFndRng Is Nothing Then Exit Sub
ListBox1.Clear
sAddress = rFndRng.Address
Do
ListBox1.AddItem rFndRng
Set rFndRng = rFindRange.FindNext(rFndRng)
Loop While sAddress <> rFndRng.Address
End Sub

-поиск с выводом искомого значения в ListBox1

Код
Private Sub ListBox1_Click()
On Error Resume Next
[a1] = Range("ДИАПАЗОН").Find(what:=ListBox1.Value, LookIn:=xlValues, lookat:=xlWhole).Value

-при клике на найденые данные, в [a1] выводится найденое значение из ListBox1

НАДО: чтобы в [a1] выводился № найденого значения из диапазона. Например - (rFndRng.Offset(0,-1).Value). Куда добавить этот сдвиг? Пытался создать 2 столбца в ListBox1 (во втором коде после DO), первому присвоить (rFndRng.Offset(0,-1).Value) с шириной 0 чтоб не отображался, во втором (rFndRng). Тогда Private Sub ListBox1_Click наверное бы сработал...
Но очень туго с синтаксисом - не вышло... Помогите

P.S. - простите, если дублирую тему)

P.S.2 - в диапазоне бывают одинаковые значения в 2 столбце, поэтому строго нужен их номер из 1 столбца диапазона в ячеку [a1].
Изменение цвета кнопки на форме, в зависимости от значения ячейки на листе
 
Все отлично работает, огромное спасибо Юрий)
Посмотрел сейчас, видимо первоначальный ваш код:
Код
Private Sub Button1_Click()
    If [A1] > 0 Then
        Me.Button.BackColor = vbRed
    ElseIf [A1] = 0 Then
        Me.Button.BackColor = vbGreen
    Else
        Me.Button.BackColor = vbBlue
    End If
End Sub

был верен... Я так понимаю, "Ме." перед кнопкой делает ее активной)
В любом случае огромное спасибо))
Изменение цвета кнопки на форме, в зависимости от значения ячейки на листе
 
В примере она находится на форме и называется "кнопка зеленая" (Button - в коде)

Должно получиться так, как если бы кнопку CommandButton1 с листа перенесли бы на форму...
Код для CommandButton1 прописан в корне книги:

Private Sub Workbook_Open()
   With ActiveSheet
   If ActiveSheet.Name = "Лист1" Then
       If [a1] = 0 Then
           .CommandButton1.BackColor = vbGreen
           .CommandButton1.Caption = [c1]
       ElseIf [a1] > 0 Then
           .CommandButton1.BackColor = vbRed
           .CommandButton1.Caption = [c1]
       Else
           .CommandButton1.BackColor = vbBlue
           .CommandButton1.Caption = [c1]
       End If
   End If
   End With
End Sub

Private Sub WorkBook_SheetChange(ByVal sh As Object, ByVal Target As Range)
.....

Что поменять, если кнопка оказалась бы в форме?
Изменено: Гена Рыбалкин - 14.01.2013 15:16:03
Изменение цвета кнопки на форме, в зависимости от значения ячейки на листе
 
Юрий, не совсем понимаете задачу. Надо красить не ту кнопку, которую нажимаешь! Одну нажимаешь - она задает значение ячейке. А вот другая уже в зависимости от этого значения и окрашивается.

Private Sub Button1_Click() -> значение ячейки -> Другаякнопка.BackColor = vb.....
Изменение цвета кнопки на форме, в зависимости от значения ячейки на листе
 
т.е. Открыл форму -> ввел необходимое значение в ячейку -> кнопка(и) на форме отследили это и изменили свои свойства в зависимости от значения.
Изменение цвета кнопки на форме, в зависимости от значения ячейки на листе
 
Надо, чтобы в открытой форме при клике , например, на кнопку "0" (Button2), кнопка "кнопка зеленая" (Button) автоматически отслеживала изменение значения ячейки А1 на листе, а также при открытии книги и меняла свой цвет на необходимый. Вот))
Изменение цвета кнопки на форме, в зависимости от значения ячейки на листе
 
Доброго всем времени суток. Уважаемые форумчане, помогите немного с задачей. Задача такая: есть кнопка, цвет которой меняется в зависимости от значения ячейки на листе. Если кнопка расположена на листе, я знаю как это сделать (кстати благодаря вашему форуму), а если она на форме? Пытался делать через Private Sub UserForm_load, initialize, activate... Но видимо что-то не так прописываю... Скорректируйте пример, если кто-то знает. Заранее спасибо!
Страницы: 1
Наверх