Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Записи участника (krosav4ig) - Мир MS Excel

Результаты поиска
krosav4ig Дата: Понедельник, 04.03.2019, 12:52 | Сообщение № 1901 | Тема: Определение надвинутых фигур
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
SergVrn, вместо sh.name нужно фигура2.name
[vba]
Код
Sub Макрос1()
    Dim фигура2 As Shape
    With ActiveSheet
        With .Shapes("Овал 1")
            'вычисление координат границ Овала 1
            'Здесь контекст- ActiveSheet.Shapes("Овал 1") , поэтому следующие 4 строчки отрабатывают корректно
            a = .Top
            b = .Top + .Height
            c = .Left
            d = .Left + .Width
        End With
        'проход фиклом по объектам в коллекции shapes
        For Each фигура2 In .Shapes
            If фигура2.Name <> "Овал 1" Then
                'вычисление координат границ фигуры2 и пересечения с овалом
                'а вот здесь контекст - activesheet и следующие 4 не будут работать (в классе worksheet нету свосйтв top и left)
                'чтобы работало нужно или обернуть их в конструкцию with фигура2 ... end with, или писать e=фигура2.top
                e = .Top
                f = .Top + .Height
                g = .Left
                h = .Left + .Width
                i = Application.Median(a, b, e, f)
                j = Application.Median(c, d, g, h)
                If i < a And i > b And j > c And j < d Then Надвинуто = True
            End If
        Next
    End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 04.03.2019, 12:55
 
Ответить
СообщениеSergVrn, вместо sh.name нужно фигура2.name
[vba]
Код
Sub Макрос1()
    Dim фигура2 As Shape
    With ActiveSheet
        With .Shapes("Овал 1")
            'вычисление координат границ Овала 1
            'Здесь контекст- ActiveSheet.Shapes("Овал 1") , поэтому следующие 4 строчки отрабатывают корректно
            a = .Top
            b = .Top + .Height
            c = .Left
            d = .Left + .Width
        End With
        'проход фиклом по объектам в коллекции shapes
        For Each фигура2 In .Shapes
            If фигура2.Name <> "Овал 1" Then
                'вычисление координат границ фигуры2 и пересечения с овалом
                'а вот здесь контекст - activesheet и следующие 4 не будут работать (в классе worksheet нету свосйтв top и left)
                'чтобы работало нужно или обернуть их в конструкцию with фигура2 ... end with, или писать e=фигура2.top
                e = .Top
                f = .Top + .Height
                g = .Left
                h = .Left + .Width
                i = Application.Median(a, b, e, f)
                j = Application.Median(c, d, g, h)
                If i < a And i > b And j > c And j < d Then Надвинуто = True
            End If
        Next
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 04.03.2019 в 12:52
krosav4ig Дата: Понедельник, 04.03.2019, 15:13 | Сообщение № 1902 | Тема: Определение надвинутых фигур
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Добрался таки до компа, вспомнил, что .Top отсчитывается сверху, поменял местами 2 знака > и < [vba]
Код
Option Explicit
Sub DetectIntersection()
    Dim a&, b&, c&, d&, e&, f&, g&, h&, i&, j&, k%, arr$(), Фигура2 As Object, sCallerName$
    Const ShName$ = "Oval 1" 'имя Фигуры1
    With Application
        'если макрос был запущен нажатием на шейп, пишем в переменную имя этого шейпа
        If TypeName(.Caller) = "Shape" Then sCallerName = .Caller.Name
        With ActiveSheet 'контекст - активный лист, (все вызовы .Свойство или .Метод на этом уровне вложенности обращаются к нему)
            With .Shapes(ShName) 'контекст - Шейп с именем ShName
                'вычисление координат границ Фигуры1
                a = .Top: b = a + .Height
                c = .Left: d = c + .Width
            End With ' co следующей строки контекст снова активный лист
            'проход циклом по объектам в коллекции shapes
            For Each Фигура2 In .Shapes
                'Если имя Фигуры1 <> имени Фигуры1 и <> sCallerName (имя шейпа, если этот макрос был запущен кликом по нему)
                If Фигура2.Name <> ShName And Фигура2.Name <> sCallerName Then
                    With Фигура2 'контекст - Фигура2
                        e = .Top: f = .Top + .Height
                        g = .Left: h = .Left + .Width
                    End With ' co следующей строки контекст снова активный лист
                    'вычисления медиан вертикальных и горизонтальных координат Фигуры1 и Фигуры2
                    i = Application.Median(a, b, f, e)
                    j = Application.Median(c, d, g, h)
                    'если точка с координатами = полученных медиан находится внутри шейпа ShName
                    If i > a And i < b And j > c And j < d Then
                        'Переопределяем размерность массива
                        ReDim Preserve arr(k)
                        'пишем в последний элемент массива имя Фигуры2
                        arr(k) = Фигура2.Name
                        k = k + 1
                    End If
                End If
            Next
            'область непустых ячеек, граничащих с N4
            With .[N4].CurrentRegion
                'смещаемся на 1 ячейку вниз и выбираем столбец N
                With Intersect(.Cells, .Offset(1), .Parent.Columns("N"))
                    'Очищаем значения выбранных ячеек
                    On Error Resume Next
                    .ClearContents
                    On Error GoTo 0
                End With
                'пишем новые значения из массива arr, если он не пуст
                If i Then .Offset(1).Resize(k).Value = Application.Transpose(arr)
            End With
        End With
    End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 04.03.2019, 15:17
 
Ответить
СообщениеДобрался таки до компа, вспомнил, что .Top отсчитывается сверху, поменял местами 2 знака > и < [vba]
Код
Option Explicit
Sub DetectIntersection()
    Dim a&, b&, c&, d&, e&, f&, g&, h&, i&, j&, k%, arr$(), Фигура2 As Object, sCallerName$
    Const ShName$ = "Oval 1" 'имя Фигуры1
    With Application
        'если макрос был запущен нажатием на шейп, пишем в переменную имя этого шейпа
        If TypeName(.Caller) = "Shape" Then sCallerName = .Caller.Name
        With ActiveSheet 'контекст - активный лист, (все вызовы .Свойство или .Метод на этом уровне вложенности обращаются к нему)
            With .Shapes(ShName) 'контекст - Шейп с именем ShName
                'вычисление координат границ Фигуры1
                a = .Top: b = a + .Height
                c = .Left: d = c + .Width
            End With ' co следующей строки контекст снова активный лист
            'проход циклом по объектам в коллекции shapes
            For Each Фигура2 In .Shapes
                'Если имя Фигуры1 <> имени Фигуры1 и <> sCallerName (имя шейпа, если этот макрос был запущен кликом по нему)
                If Фигура2.Name <> ShName And Фигура2.Name <> sCallerName Then
                    With Фигура2 'контекст - Фигура2
                        e = .Top: f = .Top + .Height
                        g = .Left: h = .Left + .Width
                    End With ' co следующей строки контекст снова активный лист
                    'вычисления медиан вертикальных и горизонтальных координат Фигуры1 и Фигуры2
                    i = Application.Median(a, b, f, e)
                    j = Application.Median(c, d, g, h)
                    'если точка с координатами = полученных медиан находится внутри шейпа ShName
                    If i > a And i < b And j > c And j < d Then
                        'Переопределяем размерность массива
                        ReDim Preserve arr(k)
                        'пишем в последний элемент массива имя Фигуры2
                        arr(k) = Фигура2.Name
                        k = k + 1
                    End If
                End If
            Next
            'область непустых ячеек, граничащих с N4
            With .[N4].CurrentRegion
                'смещаемся на 1 ячейку вниз и выбираем столбец N
                With Intersect(.Cells, .Offset(1), .Parent.Columns("N"))
                    'Очищаем значения выбранных ячеек
                    On Error Resume Next
                    .ClearContents
                    On Error GoTo 0
                End With
                'пишем новые значения из массива arr, если он не пуст
                If i Then .Offset(1).Resize(k).Value = Application.Transpose(arr)
            End With
        End With
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 04.03.2019 в 15:13
krosav4ig Дата: Понедельник, 04.03.2019, 20:32 | Сообщение № 1903 | Тема: Как ограничить диапазон FormulaR1C1?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
в начале кода [vba]
Код
dim bool as Boolean
        bool = Application.AutoCorrect.AutoFillFormulasInLists
        Application.AutoCorrect.AutoFillFormulasInLists = False
[/vba]в конце [vba]
Код
Application.AutoCorrect.AutoFillFormulasInLists = bool
[/vba]

[vba]
Код
Sub Date_And_Time_GAZ_2()
    Dim start_time As Date, i As Integer, Arr(), bool As Boolean, calc&
    
    start_time = InputBox("Введите дату, с которой начнётся таблица. Например 01.01.2019")
    Arr = [transpose(transpose(mod(row(r1:r24),24)))/24]
    With Application
        bool = .AutoCorrect.AutoFillFormulasInLists
        .AutoCorrect.AutoFillFormulasInLists = False: calc = .Calculation
        .ScreenUpdating = 0: .EnableEvents = 0: .Calculation = xlCalculationManual
        With .ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(10010, 10)), , xlNo)
            .Name = "ГАЗ"
            For i = 2 To (.ListRows.Count \ 24) * 24 Step 24
                With .ListColumns(1).Range.Cells(i)
                    .Value = start_time + i \ 24
                    With .Offset(, 1).Resize(24)
                        .Value = Arr
                        .NumberFormat = "hh:mm"
                    End With
                    .Offset(23, 2).Resize(, 5).Borders(xlEdgeBottom).Weight = xlThick
                    With .Offset(23, 7).Resize(, 3)
                        .Interior.ColorIndex = 27
                        .Borders.Weight = xlThick
                        .Cells(1, 3).FormulaR1C1 = "= RC[-2]+RC[-1]"
                    End With
                End With
            Next
        End With
        Application.AutoCorrect.AutoFillFormulasInLists = bool
        .ScreenUpdating = 1: .EnableEvents = 1: .Calculation = calc
    End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 04.03.2019, 20:34
 
Ответить
Сообщениев начале кода [vba]
Код
dim bool as Boolean
        bool = Application.AutoCorrect.AutoFillFormulasInLists
        Application.AutoCorrect.AutoFillFormulasInLists = False
[/vba]в конце [vba]
Код
Application.AutoCorrect.AutoFillFormulasInLists = bool
[/vba]

[vba]
Код
Sub Date_And_Time_GAZ_2()
    Dim start_time As Date, i As Integer, Arr(), bool As Boolean, calc&
    
    start_time = InputBox("Введите дату, с которой начнётся таблица. Например 01.01.2019")
    Arr = [transpose(transpose(mod(row(r1:r24),24)))/24]
    With Application
        bool = .AutoCorrect.AutoFillFormulasInLists
        .AutoCorrect.AutoFillFormulasInLists = False: calc = .Calculation
        .ScreenUpdating = 0: .EnableEvents = 0: .Calculation = xlCalculationManual
        With .ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(10010, 10)), , xlNo)
            .Name = "ГАЗ"
            For i = 2 To (.ListRows.Count \ 24) * 24 Step 24
                With .ListColumns(1).Range.Cells(i)
                    .Value = start_time + i \ 24
                    With .Offset(, 1).Resize(24)
                        .Value = Arr
                        .NumberFormat = "hh:mm"
                    End With
                    .Offset(23, 2).Resize(, 5).Borders(xlEdgeBottom).Weight = xlThick
                    With .Offset(23, 7).Resize(, 3)
                        .Interior.ColorIndex = 27
                        .Borders.Weight = xlThick
                        .Cells(1, 3).FormulaR1C1 = "= RC[-2]+RC[-1]"
                    End With
                End With
            Next
        End With
        Application.AutoCorrect.AutoFillFormulasInLists = bool
        .ScreenUpdating = 1: .EnableEvents = 1: .Calculation = calc
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 04.03.2019 в 20:32
krosav4ig Дата: Вторник, 05.03.2019, 19:51 | Сообщение № 1904 | Тема: Размещение надписи по центру линии
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Glass4217, намучаетесь вы еще с такими именами переменных...
[vba]
Код
Sub Вариант_1()
    Dim c_x1y1 As Range, c_x2y2 As Range, x#, y#, i%, h#
    
    lastcol = Cells(2, Columns.Count).End(xlToLeft).Column
    
    Set c_x1y1 = Range(Cells(2, 2), Cells(3, lastcol))
    Set c_x2y2 = Range(Cells(6, 2), Cells(7, lastcol))
    
    With ActiveSheet.Shapes
        On Error Resume Next
        i = 1
        Do While Err = 0
            .Item("line " & i).Delete
            .Item("label " & i).Delete
            i = i + 1
        Loop
        On Error GoTo 0
        For i = 1 To lastcol - 1
            x = c_x1y1(1, i) + (c_x2y2(1, i) - c_x1y1(1, i) - c_x1y1(1, 1).Width) / 2
            y = c_x1y1(2, i) + (c_x2y2(2, i) - c_x1y1(2, i) - c_x1y1(7, 1).Height) / 2
            With .AddConnector(1, c_x1y1(1, i), c_x1y1(2, i), c_x2y2(1, i), c_x2y2(2, i))
                .Name = "line " & i
            End With
            With .AddTextbox(1, x, y, c_x1y1(1, i).Width, c_x1y1(7, i).Height)
                .Name = "label " & i
                h = .Height
                With .TextFrame
                    .Characters.Text = c_x1y1(7, i)
                    .HorizontalAlignment = xlHAlignCenter
                    .VerticalAlignment = xlVAlignCenter
                    .MarginBottom = 0: .MarginLeft = 0
                    .MarginRight = 0: .MarginTop = 0
                    .AutoSize = True
                End With
                If .Height <> h Then .Top = .Top - (.Height - h) / 2
            End With
        Next i
    End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеGlass4217, намучаетесь вы еще с такими именами переменных...
[vba]
Код
Sub Вариант_1()
    Dim c_x1y1 As Range, c_x2y2 As Range, x#, y#, i%, h#
    
    lastcol = Cells(2, Columns.Count).End(xlToLeft).Column
    
    Set c_x1y1 = Range(Cells(2, 2), Cells(3, lastcol))
    Set c_x2y2 = Range(Cells(6, 2), Cells(7, lastcol))
    
    With ActiveSheet.Shapes
        On Error Resume Next
        i = 1
        Do While Err = 0
            .Item("line " & i).Delete
            .Item("label " & i).Delete
            i = i + 1
        Loop
        On Error GoTo 0
        For i = 1 To lastcol - 1
            x = c_x1y1(1, i) + (c_x2y2(1, i) - c_x1y1(1, i) - c_x1y1(1, 1).Width) / 2
            y = c_x1y1(2, i) + (c_x2y2(2, i) - c_x1y1(2, i) - c_x1y1(7, 1).Height) / 2
            With .AddConnector(1, c_x1y1(1, i), c_x1y1(2, i), c_x2y2(1, i), c_x2y2(2, i))
                .Name = "line " & i
            End With
            With .AddTextbox(1, x, y, c_x1y1(1, i).Width, c_x1y1(7, i).Height)
                .Name = "label " & i
                h = .Height
                With .TextFrame
                    .Characters.Text = c_x1y1(7, i)
                    .HorizontalAlignment = xlHAlignCenter
                    .VerticalAlignment = xlVAlignCenter
                    .MarginBottom = 0: .MarginLeft = 0
                    .MarginRight = 0: .MarginTop = 0
                    .AutoSize = True
                End With
                If .Height <> h Then .Top = .Top - (.Height - h) / 2
            End With
        Next i
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 05.03.2019 в 19:51
krosav4ig Дата: Среда, 06.03.2019, 00:44 | Сообщение № 1905 | Тема: Чего вам не хватает на форуме?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Иногда очень хочется пожаловаться на свой пост (ляпнул не подумав/задублилось), а кнопочки нет


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 06.03.2019, 00:52
 
Ответить
СообщениеИногда очень хочется пожаловаться на свой пост (ляпнул не подумав/задублилось), а кнопочки нет

Автор - krosav4ig
Дата добавления - 06.03.2019 в 00:44
krosav4ig Дата: Среда, 06.03.2019, 00:58 | Сообщение № 1906 | Тема: Как оформлять сообщения?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Да я и так все, что нужно разглядел :) Сформировать код таблицы из буфера обмена не составляет сложности (собственно, это ужо сделано), но вот сайт его не принимает, видимо те посты писались через wysiwyg-редактор или нужны привилегии.


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 06.03.2019, 23:46
 
Ответить
СообщениеДа я и так все, что нужно разглядел :) Сформировать код таблицы из буфера обмена не составляет сложности (собственно, это ужо сделано), но вот сайт его не принимает, видимо те посты писались через wysiwyg-редактор или нужны привилегии.

Автор - krosav4ig
Дата добавления - 06.03.2019 в 00:58
krosav4ig Дата: Среда, 06.03.2019, 23:59 | Сообщение № 1907 | Тема: Чего вам не хватает на форуме?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
в продолжение к #217 и тут
Дописал я скрипт для вставки bb-кодов таблиц, добавил код для преобразования bb-кодов в таблицы. Вот пара таблиц для теста, без установленного скрипта будут отображаться только коды


вот так эти таблицы выглядят у меня с установленным скриптом в tampermonkey
К сообщению приложен файл: 4353220.png (86.1 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Четверг, 07.03.2019, 00:04
 
Ответить
Сообщениев продолжение к #217 и тут
Дописал я скрипт для вставки bb-кодов таблиц, добавил код для преобразования bb-кодов в таблицы. Вот пара таблиц для теста, без установленного скрипта будут отображаться только коды


вот так эти таблицы выглядят у меня с установленным скриптом в tampermonkey

Автор - krosav4ig
Дата добавления - 06.03.2019 в 23:59
krosav4ig Дата: Четверг, 07.03.2019, 23:42 | Сообщение № 1908 | Тема: Сломались теги формул
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[offtop]
А не растут ли ноги отсюда?

Неа :) , мой скрипт-то чисто клиентский[/offtop]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Четверг, 07.03.2019, 23:42
 
Ответить
Сообщение[offtop]
А не растут ли ноги отсюда?

Неа :) , мой скрипт-то чисто клиентский[/offtop]

Автор - krosav4ig
Дата добавления - 07.03.2019 в 23:42
krosav4ig Дата: Пятница, 08.03.2019, 02:10 | Сообщение № 1909 | Тема: Сломались теги формул
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
_Boroda_, Александр, примерно в 23:50 с чем-то я пооткрывал сайт со всех своих браузеров, дабы посмотреть на работу тегов в них, во всех, кроме одного (с которого я сидел до этого) теги не работали, после перезагрузки страницы перестали работать и в нем


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение_Boroda_, Александр, примерно в 23:50 с чем-то я пооткрывал сайт со всех своих браузеров, дабы посмотреть на работу тегов в них, во всех, кроме одного (с которого я сидел до этого) теги не работали, после перезагрузки страницы перестали работать и в нем

Автор - krosav4ig
Дата добавления - 08.03.2019 в 02:10
krosav4ig Дата: Пятница, 08.03.2019, 13:36 | Сообщение № 1910 | Тема: С праздником 8-го марта!
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Сегодня — день любви и красоты,
И женщины прекрасны, как цветы!
Пускай не меркнет эта красота,
Любая исполняется мечта,
И пусть 8 Марта входит в дом
С улыбками, весельем и теплом!
С 8 Марта!
К сообщению приложен файл: 5097437.jpg (25.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеСегодня — день любви и красоты,
И женщины прекрасны, как цветы!
Пускай не меркнет эта красота,
Любая исполняется мечта,
И пусть 8 Марта входит в дом
С улыбками, весельем и теплом!
С 8 Марта!

Автор - krosav4ig
Дата добавления - 08.03.2019 в 13:36
krosav4ig Дата: Пятница, 08.03.2019, 15:11 | Сообщение № 1911 | Тема: Сумматор с пределами
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
что есть
OSNR

отношение сигнал/шум, если память не изменяет


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
что есть
OSNR

отношение сигнал/шум, если память не изменяет

Автор - krosav4ig
Дата добавления - 08.03.2019 в 15:11
krosav4ig Дата: Пятница, 08.03.2019, 16:47 | Сообщение № 1912 | Тема: Сломались теги формул
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Nic70y, этот кусок от другой темы в вопросах по Excel отчекрыжен


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеNic70y, этот кусок от другой темы в вопросах по Excel отчекрыжен

Автор - krosav4ig
Дата добавления - 08.03.2019 в 16:47
krosav4ig Дата: Пятница, 08.03.2019, 16:57 | Сообщение № 1913 | Тема: Тип данных Recordset не известен ???
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
RAN, дратути
мне Object Browser вот чего показывает
да и объявление as Recordset и as Recordset2 нормально отрабатывают
а, ну да, MS office Access database engine objects у меня подключен умолчательно
К сообщению приложен файл: 4387841.png (73.8 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 08.03.2019, 17:19
 
Ответить
СообщениеRAN, дратути
мне Object Browser вот чего показывает
да и объявление as Recordset и as Recordset2 нормально отрабатывают
а, ну да, MS office Access database engine objects у меня подключен умолчательно

Автор - krosav4ig
Дата добавления - 08.03.2019 в 16:57
krosav4ig Дата: Пятница, 08.03.2019, 18:07 | Сообщение № 1914 | Тема: Сумматор с пределами
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Alexgol8,
К сообщению приложен файл: 9455837.png (107.0 Kb) · 0512314.png (92.6 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеAlexgol8,

Автор - krosav4ig
Дата добавления - 08.03.2019 в 18:07
krosav4ig Дата: Пятница, 08.03.2019, 18:23 | Сообщение № 1915 | Тема: Ввести текущий месяц и дату в комбобоксы.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
[vba]
Код
Private Sub UserForm_Initialize()
    With FormLogbook
        With .ComboBox1
            .List = [transpose(proper(text(row(r1:r12)*30,"[$-419]mmm")))] 'Заполнение данными ComboBox11
            .ListIndex = Month(Date) - 1
        End With
        With .ComboBox2
            .List = [transpose(row(r1:r31))] 'Заполнение данными ComboBox2
            .Value = Day(Date)
        End With
    End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте
[vba]
Код
Private Sub UserForm_Initialize()
    With FormLogbook
        With .ComboBox1
            .List = [transpose(proper(text(row(r1:r12)*30,"[$-419]mmm")))] 'Заполнение данными ComboBox11
            .ListIndex = Month(Date) - 1
        End With
        With .ComboBox2
            .List = [transpose(row(r1:r31))] 'Заполнение данными ComboBox2
            .Value = Day(Date)
        End With
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 08.03.2019 в 18:23
krosav4ig Дата: Пятница, 08.03.2019, 18:48 | Сообщение № 1916 | Тема: Ввести текущий месяц и дату в комбобоксы.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Цитата Сергей13, 08.03.2019 в 18:46, в сообщении № 3 ()
текущая дата при таком варианте не отображается

тогда вместо [vba]
Код
.Value = Day(Date)
[/vba]написать[vba]
Код
.ListIndex = Day(Date) - 1
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 08.03.2019, 18:48
 
Ответить
Сообщение
Цитата Сергей13, 08.03.2019 в 18:46, в сообщении № 3 ()
текущая дата при таком варианте не отображается

тогда вместо [vba]
Код
.Value = Day(Date)
[/vba]написать[vba]
Код
.ListIndex = Day(Date) - 1
[/vba]

Автор - krosav4ig
Дата добавления - 08.03.2019 в 18:48
krosav4ig Дата: Пятница, 08.03.2019, 21:05 | Сообщение № 1917 | Тема: Ввести текущий месяц и дату в комбобоксы.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Сергей13, тока proper там не надо, это ПРОПНАЧ()

upd.
и [$-419] для дней тоже лишнее


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 08.03.2019, 23:12
 
Ответить
СообщениеСергей13, тока proper там не надо, это ПРОПНАЧ()

upd.
и [$-419] для дней тоже лишнее

Автор - krosav4ig
Дата добавления - 08.03.2019 в 21:05
krosav4ig Дата: Пятница, 08.03.2019, 22:12 | Сообщение № 1918 | Тема: Тип данных Recordset не известен ???
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
можно так попробовать - подключение MS Office версия.0 Access database engine objects library (если не подключена) [vba]
Код
VBE.ActiveVBProject.References.AddFromFile Environ("systemdrive") & "\PROGRA~1\COMMON~1\MICROS~1\OFFICE" & Val(Application.Version) \ 1 & "\ACEDAO.DLL"
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 08.03.2019, 22:14
 
Ответить
Сообщениеможно так попробовать - подключение MS Office версия.0 Access database engine objects library (если не подключена) [vba]
Код
VBE.ActiveVBProject.References.AddFromFile Environ("systemdrive") & "\PROGRA~1\COMMON~1\MICROS~1\OFFICE" & Val(Application.Version) \ 1 & "\ACEDAO.DLL"
[/vba]

Автор - krosav4ig
Дата добавления - 08.03.2019 в 22:12
krosav4ig Дата: Пятница, 08.03.2019, 23:09 | Сообщение № 1919 | Тема: Не правильно распознавание даты
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
[vba]
Код
Private Sub TextBox1_Change()
[a2].Formula = CDate(TextBox1.Value)
End Sub

Private Sub TextBox2_Change()
[a3].Formula = CDate(TextBox2.Value)
End Sub

Private Sub UserForm_Initialize()
TextBox1.Value = [a2].Text
TextBox2.Value = [a3].Text
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте
[vba]
Код
Private Sub TextBox1_Change()
[a2].Formula = CDate(TextBox1.Value)
End Sub

Private Sub TextBox2_Change()
[a3].Formula = CDate(TextBox2.Value)
End Sub

Private Sub UserForm_Initialize()
TextBox1.Value = [a2].Text
TextBox2.Value = [a3].Text
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 08.03.2019 в 23:09
krosav4ig Дата: Суббота, 09.03.2019, 14:28 | Сообщение № 1920 | Тема: Программное удаление всех строк динамической таблицы.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Сергей13, проверку на пустоту можно так сделать
[vba]
Код
    With [tabl_logbook].ListObject
        If .InsertRowRange Is Nothing Then .DataBodyRange.Delete
    End With
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеСергей13, проверку на пустоту можно так сделать
[vba]
Код
    With [tabl_logbook].ListObject
        If .InsertRowRange Is Nothing Then .DataBodyRange.Delete
    End With
[/vba]

Автор - krosav4ig
Дата добавления - 09.03.2019 в 14:28
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!