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

Страницы: 1
Прокрутка формы SpinButton
 
Добрый вечер!
При прокрутке формы, один из объектов должен оставаться на своем месте. Объект остается, но дерганый, чем его успокоить, чтобы не дергался во время прокрутки?
Вот форма
Код
Sub форма_макр()
    Dim Line As Integer, i As Byte
    Dim кнопка As Object, скролл As Object, модуль As Object, форма As Object

    Set форма = ThisWorkbook.VBProject.VBComponents.Add(3)
    With форма
        .Properties("Width") = 300
        .Properties("Height") = 400
        .Properties("Caption") = ""
        .Properties("ScrollHeight") = 1500
    End With

    Set скролл = форма.Designer.Controls.Add("forms.SpinButton.1", "SpinButton1", True)
    Set кнопка = форма.Designer.Controls.Add("forms.CommandButton.1", "кнопка")
    With скролл
        .Height = 379
        .Width = 40
        .Left = 255
        .Top = 0
        .Delay = 1
        .SmallChange = 10
        .Max = 0
        .Min = -1000
        .BackColor = &H80000003
        .ForeColor = &H0&
    End With
    With кнопка
        .Height = 60
        .Width = 100
        .Left = 154
        .Top = 319
        .Caption = "должна стоять здесь и не рыпаться"
        .WordWrap = True
        .Font.Size = 12
        .BackColor = &H80000003
        .ForeColor = &H0&
    End With
    For i = 0 To 50
        Set кнопка = форма.Designer.Controls.Add("forms.CommandButton.1", "кнопка" & i, True)
        With кнопка
            .Height = 30
            .Width = 100
            .Left = 0
            .Top = i * 40
            .Caption = i
            .Font.Size = 14
            .BackColor = &H80000003
            .ForeColor = &H0&
        End With
    Next
    With форма.CodeModule
        Line = .CountOfLines
        .InsertLines Line + 1, "Private Sub SpinButton1_Change()"
        .InsertLines Line + 2, "Me.ScrollTop = -SpinButton1.Value"
        .InsertLines Line + 3, "SpinButton1.Top = -SpinButton1.Value"
        .InsertLines Line + 4, "'DoEvents"
        .InsertLines Line + 5, "кнопка.Top = Me.Height - кнопка.Height - SpinButton1.Value - 20 '20 - высота шапки формы"
        .InsertLines Line + 6, "End Sub"
    End With
    VBA.UserForms.Add(форма.Name).Show
    For Each модуль In ActiveWorkbook.VBProject.VBComponents
        On Error Resume Next
         If модуль.Name = "Module1" Then модуль.Collection.Remove модуль
    Next
End Sub
удаление объекта с userform
 
Добрый день! как удалить вызванный с методом add объект с формы? не скрыть а именно удалить, имитация delete
Код
Sub создать_форму()
Dim форма As Object, Line As Integer
Dim кнопка As CommandButton, рисунок As Image

Set форма = ThisWorkbook.VBProject.VBComponents.Add(3)
With форма
.Properties("Width") = 200
.Properties("Height") = 160
.Properties("Caption") = ""
End With

Set рисунок = форма.Designer.Controls.Add("forms.image.1", "Pic1", True)
Set кнопка = форма.Designer.Controls.Add("forms.CommandButton.1", "кнопка1")
With рисунок
.Height = 50
.Width = 176
.Left = 10
.Top = 10
.BackColor = &H80FF80
End With

With кнопка
.Height = 60
.Width = 100
.Left = 48
.Top = 70
.Caption = "нажать, чтобы объект сверху удалился"
.WordWrap = True
.Font.Size = 10
End With

With форма.CodeModule
Line = .CountOfLines
.InsertLines Line + 1, "Private Sub кнопка1_Click()"
.InsertLines Line + 2, "msgbox ""сюда макрос"""
.InsertLines Line + 3, "End Sub"
End With

VBA.UserForms.Add(форма.Name).Show
ThisWorkbook.VBProject.VBComponents.Remove форма
End Sub
календарь, оптимизировать
 
добрый день! Надо оптимизировать код календаря, по возможности что-то упростить/улучшить в плане юзабельности. Окно большое, поэтому прикрутил зум.
Изменено: Renat898 - 23.12.2015 18:58:29
Узнать строку наибольшего значения
 
Добрый вечер. Подскажите, как узнать строки максимальных в диапазоне значений
Код
Dim I as byte, X as single
For I = 1 to 5
X = WorksheetFunction.large(myRange, 1)
next
find не подходит, так как некоторые значения могут быть одинаковыми
Изменено: Renat898 - 27.09.2015 23:33:08
With для нескольких объектов
 
Добрый день. Как выполнить With для нескольких объектов? например задать enabled = true для кнопка1, кнопка3 и кнопка14, например
Код
With  кнопка1 and кнопка3 and кнопка14
.enabled = true
End with

Может как то создать массив из этих кнопок и присвоить значение enabled  массиву..
Нужен код нажатия кнопки "войти" в яндекс почте
 
Добрый день! Надо зайти в почту через браузер, как нажать на кнопку "войти"?
Код
Dim oIE As Object, sHTML As String
Dim tmp, i As Long
Set oIE = CreateObject("InternetExplorer.Application")
oIE.Visible = 1
s = "https://mail.yandex.ru/"
oIE.Navigate (s)
Do While oIE.busy Or (oIE.ReadyState <> 4): DoEvents: Loop
Set maPageHtml = oIE.Document
Set NodeList = oIE.Document.getElementsbyTagname("Input")

NodeList(0).Value = "логин"
NodeList(1).Value = "пароль"
Невозможно отобразить связанный рисунок (в прайсе)
 
Добрый день. Проблема следующая:
Программа формирует прайс лист и добавляет фото к позициям. Когда сохраняю в пдф проблем нет, но клиенты просят в эксель, но в итоге вместо рисунков видят "не удается отобразить связанный рисунок и т.д...". Вот макрос добавления рисунков:
Код
For i = 4 To Sheets("Price").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("Price ").Range(Cells(i, 2).Address).Select
Dim x As Range
Set x = Selection    'Sheets("Price ").Range(Cells(Selection.Row, 3).Address)
Sheets("Price ").Range(Cells(i, 3).Address).Replace What:="""", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows   
imya = Sheets("Price ").Range(Cells(x.Row, 3).Address) 'имя позиции
If imya  <> "" Then
On Error Resume Next
With Sheets("Price ").Pictures.Insert(путь_к_папке_с_рисунками\" & imya  & ".jpg")
.ShapeRange.Height = 28 'ставим высоту рисунка
ширина  = .ShapeRange.Width
.Name = imya
End With
If Err Then
With Sheets("Price ").Pictures.Insert(путь_к_папке_с_рисунками/рисунок_отсутствует .jpg")
.ShapeRange.Height = 28 'ставим высоту рисунка
ширина = .ShapeRange.Width
.Name = imya
End With
End If
Sheets("Price ").Shapes.Range(Array(имя)).IncrementTop 2    'ставим рисунок чуть ниже, чтобы было видно границу ячейки
Sheets("Price ").Shapes.Range(Array(имя)).IncrementLeft (x.Width - ширина) / 2    'определяем ширину столбца и ставим рисунок посередине
End If
Next i 

Это не помогло:
Код
On Error Resume Next
Set Pic = RangePhoto.Worksheet.Shapes.AddPicture(FlName, msoFalse)
Изменено: Renat898 - 18.08.2015 11:35:30
Аналог текстбокс, в поле которого числовое значение
 
Добрый день! есть какой нибудь аналог textbox, но для работы с числами, чтобы не прописывать формат данных из текстбокса при каждом вычислении? Заливать файл не стал, весит 3 мб
Изменено: Renat898 - 05.06.2015 15:21:07
Закрепить за кнопкой на форме функцию бэкспейс, VBA
 
Добрый день!
Нужно закрепить за кнопкой на форме функцию бэкспейс, чтобы удалять символы из текстбокса, так как у пользователя не будет клавиатуры) Подскажите, как сделать
Изменено: Renat898 - 25.05.2015 13:32:41
Страницы: 1
Наверх