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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 32 След.
Итерация функции перенос кода с C# в VBA
 
Цитата
FunMat это функции
Я так понял, что переводом функции с C# на VBA у вас проблем не возникло?!
:D  
Стал вылетать Excel при включении макроса или при удалении вкладок
 
нашел в одном макросе одну процедуру Sub Макрос_СПБ_Проба_6()
запустил - отработала
два раза спросила разрешения удалять листы
За такие макросы руки надо поодбивать макрописцу:
Select, .Activate Зачем их столько?
Автозаполнение с пропуском строки
 
чтобы не грузить лист сложными формулами в таком случае я бы предпочел простенький макрос
Код
Sub imho()
    m = Лист1.UsedRange.Value
    ReDim rz(1 To UBound(m) * 2, 1 To 1)
    For r = 1 To UBound(m)
        rz(r * 2 - 1, 1) = m(r, 1)
    Next r
    Cells(1, 4).Resize(UBound(rz)) = rz
End Sub
Объединение таблиц по опорному столбцу
 
тупо в лоб макросом
Код
Option Explicit

Sub qwert()
    Dim r, i, lr, f, o, m1, m2, u, rz, slf: Set slf = CreateObject("Scripting.Dictionary")
    Dim slo: Set slo = CreateObject("Scripting.Dictionary")
    With Worksheets("1")
        lr = .UsedRange.Rows.Count
        m1 = .Cells(1, 1).Resize(lr, 2).Value
    End With
    With Worksheets("2")
        lr = .UsedRange.Rows.Count
        m2 = .Cells(1, 1).Resize(lr, 2).Value
    End With
    For r = 2 To UBound(m2)
        f = m2(r, 2)
        If Len(f) > 0 Then
            slf(f) = m2(r, 1)
        Else
            slo(m2(r, 1)) = r
        End If
    Next r
    ReDim rz(1 To UBound(m1) + UBound(m2), 1 To 3)
    rz(1, 1) = "имя"
    rz(1, 2) = "отчество"
    rz(1, 3) = "фамилия"
    For r = 2 To UBound(m1)
        rz(r, 1) = m1(r, 1)
        f = m1(r, 2)
        If slf.exists(f) Then
            rz(r, 2) = slf(f)
            slf.Remove f
        End If
        rz(r, 3) = m1(r, 2)
    Next r
    If slf.Count > 0 Then
        u = slf.keys
        For i = 0 To UBound(u)
            rz(r, 3) = u(i)
            rz(r, 2) = slf(u(i))
            r = r + 1
        Next i
    End If
    If slo.Count > 0 Then
        u = slo.keys
        For i = 0 To UBound(u)
            rz(r, 2) = u(i)
            r = r + 1
        Next i
    End If
    Worksheets.Add
    Cells(1, 1).Resize(UBound(rz), UBound(rz, 2)) = rz
    Cells(1, 1).Resize(UBound(rz), UBound(rz, 2)).Columns.AutoFit
End Sub
Изменено: Александр Моторин - 27.11.2022 01:15:43 (перезалил файл)
Разбить данные в ячейке по строкам и сформировать новый столбец
 
можно было бы попробовать макросом, но он не работает с картинками
Разный цвет текста в TextBox (UserForm)
 
может это поможет?
http://elcha-en.blogspot.com/2015/02/richtextbox-in-excel_2.html
Шаблон Тестирование в Excel
 
Цитата
написал:
Я бы даже предложил макрос самоудаления этого файла. Дабы не повадно...  
после просмотра файла согласен на 100%
Крутой тест!
Оставлю в примерах! Пригодится
Особенно надпись на кнопке!
Цитата
Следуюший Вапрос
Может бросить программирования а повторить учёбу начиная со 2 класса?
Excel - Хранимка - SQL <> формат дата, тип дата
 
Цитата
Не находит ее.  
Так объявите
Или Уберите Option Explicit что не рекомендую
Изменено: Александр Моторин - 04.11.2022 18:43:05
Шаблон Тестирование в Excel
 
Можно так:
Код
Sub пройти_тест_заново()
    Erase Otvet '
    sl_otvet.RemoveAll '
End Sub
:D  
Создание запроса или иной метод извлечения информации??, Проблема с автоматизированной выборкой информации
 
Цитата
написал:
переведу на русский
Мягко говоря перевод не помог
Я бы делал макросами
Но хозяин - барин
Тем более вопрос риторически и не требует ответа
Извините, но в чем вопрос?
Как макросом закрасить ячейки, ориентируясь на центры фигур
 
Это координаты центра фигуры
А надо найти номера строки и колонки ячейки где находится центр
У меня для этого функция, в которой перебираются ячейки диапазона и ищется ячейка где находится центр фигуры
И уже от этой ячейки плясать
Цитата
Вот для этой строки:
Нет пересчитывать не надо
Там достаточно проверять номера строк и столбцов чтобы амёба не вылезала за границы
Как макросом закрасить ячейки, ориентируясь на центры фигур
 
Код
                    Y = k.Row
                    X = k.Column
Это будет немного не корректно
надо искать ячейку где находится центр фигуры
Это допустимо если фигура помещается в ячейку
Изменено: Александр Моторин - 27.10.2022 22:18:52
Как макросом закрасить ячейки, ориентируясь на центры фигур
 
примерно так
Код
    For Each sh In ActiveSheet.Shapes
        n = sh.Name
        If sz.exists(n) Then
            zv = sz(n) 'цвет
            rr = sr(n) 'радиус
            x0 = sh.Left + sh.Width / 2 ' центр х
            y0 = sh.Top + sh.Height / 2 ' центр у

дальше ваш код и конец цикла перебора шапов
Изменено: Александр Моторин - 27.10.2022 21:48:43
Как макросом закрасить ячейки, ориентируясь на центры фигур
 
Код
                For r = Y - rr To Y + rr
                    For c = X - rr To X + rr
                        ri = Abs(r - Y): ci = Abs(c - X)
                        If ri * ri + ci * ci <= rr * rr Then
                            If r > 6 And r < 33 And c > 9 And c < 40 Then ' границы поля
                                Cells(r, c).Interior.Color = zv
                            End If
                        End If
                    Next c
rr - радиус
Цитата
куда радиус применять?
Сумма квадратов раззниц координат должна быть меньше квадрата радиуса
По принципу вхождения точки в круг
Изменено: Александр Моторин - 27.10.2022 21:38:26
Как макросом закрасить ячейки, ориентируясь на центры фигур
 
не то красит
Цитата
радиус от центра этой фигуры, на котором должны закрашиваться ячейки в этот цвет.
Как макросом закрасить ячейки, ориентируясь на центры фигур
 
я давно сделал как понял и предложил автору алгоритм решения на другом форуме
1. загнать в словари радиусы и цвета
2. перебрать шапы на листе
3. для каждого шапа назначить из словарей цвет и радиус
3. для каждого шапа рассчитать центр
4. с помощью дополнительной функции определить номер строки и номер колонки
5. в цикле от найденной строки - радиус до найденной строки + радиус
   6.  в цикле от найденной колонки - радиус до найденной колонки + радиус
       7. с проверкой на вхождение в радиус
           8. с проверкой на вхождение в заданный регион
               9. залить ячейку нужным цветом
           end if
       end if
   next c
next r

сделай за меня не считаю помощью
удочку дал
Изменено: Александр Моторин - 27.10.2022 20:06:32
Автоматический перенос информации из определенных ячеек при наступлении определенной даты
 
Цитата
без участия пользователя
комп и включиться должен сам?
Кто откроет файл?
На какое событие должен срабатывать макрос
Можно на открытие фоайла
А открывать файл планировщиком
Как макросом закрасить ячейки, ориентируясь на центры фигур
 
Цитата
Помогите
Дай шанс! хоть немного начни делать
Сделать за тебя не является помощью
хочешь чтоб за тебя сделали обращайся во фриланс
Парсинг кода с web-сервиса
 
просто размножил блок  <m:НеподписанныйДокумент>"..... "</m:НеподписанныйДокумент>"

Код
    a = Split("Номер,Сумма,УИД", ",") ' "список нужніх параметров через запятую без пробела
    u = Split(s, "<m:НеподписанныйДокумент>")
    For k = 0 To UBound(u)
        Debug.Print
        Debug.Print "Документ № " & k
        For i = 0 To UBound(a)
            Debug.Print a(i), get_dan(u(k), a(i))
        Next i
    Next k
поэтому данные одинаковые. лениво менять
Документ № 1
Номер         1234
Сумма         50.7
УИД           1234

Документ № 2
Номер         1234
Сумма         50.7
УИД           1234

Документ № 3
Номер         1234
Сумма         50.7
УИД           1234
Изменено: Александр Моторин - 27.10.2022 11:58:11
Парсинг кода с web-сервиса
 
если блоков <m:НеподписанныйДокумент много, то сначала разбить текст Split по "<m:НеподписанныйДокумент"
и потом в цикле обработать все элементы начиная с первого  
Парсинг кода с web-сервиса
 
ещё более колхоз:
Код
Sub qwert()
    Dim s
    s = "<soap:Envelope xmlns:soap=""""http://www.w3.org/2003/05/soap-envelope"""">"
    s = s & vbCrLf & "<soap:Body>"
    s = s & vbCrLf & "<m:getUPDListResponse xmlns:m=""""itPersona"""">"
    s = s & vbCrLf & "<m:return xmlns:xs=""""http://www.w3.org/2001/XMLSchema"""" xmlns:xsi=""""http://www.w3.org/2001/XMLSchema-instance"""">"
    s = s & vbCrLf & "<m:НеподписанныйДокумент>"
    s = s & vbCrLf & "<m:Номер>1234 </m:Номер>"
    s = s & vbCrLf & "<m:Дата>2020-09-05</m:Дата>"
    s = s & vbCrLf & "<m:Сумма>50.7</m:Сумма>"
    s = s & vbCrLf & "<m:УИД>1234</m:УИД>"
    s = s & vbCrLf & "<m:ИдентификторЭДО>1234</m:ИдентификторЭДО>"
    s = s & vbCrLf & "<m:ОбменЭДО>false</m:ОбменЭДО>"
    s = s & vbCrLf & "<m:Статус>Отправлен по почте</m:Статус>"
    s = s & vbCrLf & "<m:ДатаСтатуса>2020-09-30T10:48:14</m:ДатаСтатуса>"
    s = s & vbCrLf & "</m:НеподписанныйДокумент>"
    s = s & vbCrLf & "</m:return>"
    s = s & vbCrLf & "</m:getUPDListResponse>"
    s = s & vbCrLf & "</soap:Body>"
    s = s & vbCrLf & "</soap:Envelope>"
'    Debug.Print s
    
    Debug.Print "Номер", get_dan(s, "Номер")
    Debug.Print "Сумма", get_dan(s, "Сумма")
    Debug.Print "УИД", get_dan(s, "УИД")
    
    
End Sub

Function get_dan(s, kl)
    If InStr(1, s, kl) > 0 Then
        get_dan = Split(Split(s, kl & ">")(1), "<")(0)
    End If
End Function
большая часть кода формирование списка
в дебаггере
Номер         1234
Сумма         50.7
УИД           1234

или в цикле
Код
    a = Split("Номер,Сумма,УИД", ",")
    For i = 0 To UBound(a)
        Debug.Print a(i), get_dan(s, a(i))
    Next i
Изменено: Александр Моторин - 27.10.2022 11:19:04
Выполнить другой код, если файл не найден, помогите пожалуйста с данным заданием, я написала код, но он не совсем подходит, тк мне надо выдавать ошибку не только, когда путь к файлу совсем не указан, но и если этот путь ошибочный(делаю с помощью формы
 
Ну так же перед загрузкой картинки  Dir проверяй наличие картинки по пути
Как макросом закрасить ячейки, ориентируясь на центры фигур
 
Цитата
Ну а дальше нужно найти центры фигур
А какая в этом проблема?
Известны Left и Wldth!
Проблема к  Left прибавить половину Wldth!?
Хоть чуть-чуть вспомни школьную программу
Прибавление к значению ячейки 1 с изменением цвета текста, Как сделать так, чтобы красило только активной ячейке?
 
Цитата
Как сделать так, чтобы красило только активной ячейке.
И что в вашем понятии активная ячейка если выделен диапазон?
Для события Worksheet_BeforeRightClick нет понятия активной ячейки, но есть Target = выделенный диапазон
Прибавление к значению ячейки 1 с изменением цвета текста, Как сделать так, чтобы красило только активной ячейке?
 
может надо чтобы цвет менялся только если выделена только одна ячейка?
Код
  Set rg = Intersect(Target, [D4:G13])
  If rg Is Nothing Then Exit Sub Else Cancel = True
  For Each c In rg: c = c + 1: Next
  If Target.Cells.Count = 1 Then rg.Font.Color = RGB(107, 164, 44)
Вычесть из текущей даты дни и время
 
Берите значения дней и времени с листа из заданных ячеек
Но тогда во всех формулах будет вычитаться одно значение
Или вам надо чтобы в каждой формуле  были разные вычитаемые значения?
Изменено: Александр Моторин - 16.10.2022 22:18:51
Сложный макрос с несколькими переносами данных и вычислениями, Из одного исходного файла нужно будет переносить данные, делать вычисления в ещё 3 файла
 
имхо:
больше подходит для платного раздела
правила требуют:
  2.6. Один вопрос - одна тема. Не следует в открываемой теме обозначать и задавать сразу несколько вопросов.
В платном можно много
Изменено: Александр Моторин - 16.10.2022 22:12:55
Вычетание из одной таблицы другую с разным количеством строк, Вычетание из одной таблицы другую с разным количеством строк
 
да накосячил
выпимши был
сорри
Макрос для перехода по листам
 
Цитата
ПОЛНОСТЬЮ имитирующих нажатие мышкой
На какое событие должен срабатывать макрос?
Можно написать макрос добавляющий на панель или в контекстное меню список листов
Или запустить диалог выбора листа
Код
Sub WorkbookTabs()
  Application.CommandBars("Workbook tabs").ShowPopup
End Sub
Не понятен вопрос
Вычетание из одной таблицы другую с разным количеством строк, Вычетание из одной таблицы другую с разным количеством строк
 
Вариант с макросом
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 32 След.
Наверх