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

Вход

Регистрация

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

 

= Мир MS Excel/Запись истории нажатий - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запись истории нажатий (Макросы/Sub)
Запись истории нажатий
Xenus91 Дата: Понедельник, 06.12.2021, 07:50 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация: 13 ±
Замечаний: 0% ±

Excel 2016
Доброго времени суток!
Помогите пжл, нужен макрос по истории нажатий, при нажатии на кнопку нужно сохранять определенные данные с листа и располагать их вниз в таблице
описание в файле
заранее очень благодарен
К сообщению приложен файл: 3460214.xlsm (19.2 Kb)
 
Ответить
СообщениеДоброго времени суток!
Помогите пжл, нужен макрос по истории нажатий, при нажатии на кнопку нужно сохранять определенные данные с листа и располагать их вниз в таблице
описание в файле
заранее очень благодарен

Автор - Xenus91
Дата добавления - 06.12.2021 в 07:50
Nic70y Дата: Понедельник, 06.12.2021, 09:39 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Sub Кнопка1_Щелчок()
    Application.ScreenUpdating = False
    u = Cells(Rows.Count, "h").End(xlUp).Row
    f = Application.CountIf(Range("h2:h" & u), Range("n1"))
    g = 2
    For i = 1 To f
        s = Application.Match(Range("n1"), Range("h" & g & ":h" & u), 0)
        g = g + s
        y = Cells(Rows.Count, "t").End(xlUp).Row + 1
        Range("a" & g - 1 & ":h" & g - 1).Copy Range("t" & y)
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]
К сообщению приложен файл: 5607072.xlsm (19.0 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
Sub Кнопка1_Щелчок()
    Application.ScreenUpdating = False
    u = Cells(Rows.Count, "h").End(xlUp).Row
    f = Application.CountIf(Range("h2:h" & u), Range("n1"))
    g = 2
    For i = 1 To f
        s = Application.Match(Range("n1"), Range("h" & g & ":h" & u), 0)
        g = g + s
        y = Cells(Rows.Count, "t").End(xlUp).Row + 1
        Range("a" & g - 1 & ":h" & g - 1).Copy Range("t" & y)
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 06.12.2021 в 09:39
Xenus91 Дата: Вторник, 21.12.2021, 01:36 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация: 13 ±
Замечаний: 0% ±

Excel 2016
Nic70y, большое спасибо!
проверил, не вставляет данные из фикс ячеек K4,K5,K6 в столбцы R,Q,S
возможно исправить?
и что нужно изменить если массив для поиска h2:h находится на другом листе и строки для копирования на этом же листе
пример приложил
заранее огромное спасибо
К сообщению приложен файл: 5607072-1-.xlsm (23.8 Kb)


Сообщение отредактировал Xenus91 - Вторник, 21.12.2021, 02:12
 
Ответить
СообщениеNic70y, большое спасибо!
проверил, не вставляет данные из фикс ячеек K4,K5,K6 в столбцы R,Q,S
возможно исправить?
и что нужно изменить если массив для поиска h2:h находится на другом листе и строки для копирования на этом же листе
пример приложил
заранее огромное спасибо

Автор - Xenus91
Дата добавления - 21.12.2021 в 01:36
Nic70y Дата: Вторник, 21.12.2021, 08:14 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
не дочитал, держите
[vba]
Код
Sub Кнопка1_Щелчок()
    Application.ScreenUpdating = False
    u = Sheets("Лист2").Cells(Rows.Count, "h").End(xlUp).Row
    f = Application.CountIf(Sheets("Лист2").Range("h2:h" & u), Range("n1"))
    g = 2
    For i = 1 To f
        s = Application.Match(Range("n1"), Sheets("Лист2").Range("h" & g & ":h" & u), 0)
        g = g + s
        y = Cells(Rows.Count, "t").End(xlUp).Row + 1
        Sheets("Лист2").Range("a" & g - 1 & ":h" & g - 1).Copy Range("t" & y)
    Next
    a = Cells(Rows.Count, "q").End(xlUp).Row + 1
    b = Cells(Rows.Count, "t").End(xlUp).Row
    Range("q" & a & ":q" & b) = Range("k5").Value
    Range("r" & a & ":r" & b) = Range("k4").Value
    Range("s" & a & ":s" & b) = Range("k6").Value
    Application.ScreenUpdating = True
End Sub
[/vba]
К сообщению приложен файл: 26.xlsm (24.3 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Вторник, 21.12.2021, 08:21
 
Ответить
Сообщениене дочитал, держите
[vba]
Код
Sub Кнопка1_Щелчок()
    Application.ScreenUpdating = False
    u = Sheets("Лист2").Cells(Rows.Count, "h").End(xlUp).Row
    f = Application.CountIf(Sheets("Лист2").Range("h2:h" & u), Range("n1"))
    g = 2
    For i = 1 To f
        s = Application.Match(Range("n1"), Sheets("Лист2").Range("h" & g & ":h" & u), 0)
        g = g + s
        y = Cells(Rows.Count, "t").End(xlUp).Row + 1
        Sheets("Лист2").Range("a" & g - 1 & ":h" & g - 1).Copy Range("t" & y)
    Next
    a = Cells(Rows.Count, "q").End(xlUp).Row + 1
    b = Cells(Rows.Count, "t").End(xlUp).Row
    Range("q" & a & ":q" & b) = Range("k5").Value
    Range("r" & a & ":r" & b) = Range("k4").Value
    Range("s" & a & ":s" & b) = Range("k6").Value
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 21.12.2021 в 08:14
Xenus91 Дата: Среда, 22.12.2021, 05:47 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация: 13 ±
Замечаний: 0% ±

Excel 2016
Nic70y, огромное спасибо, перенес к себе в файл все отлично работает, остался крайний вопрос, что нужно поменять чтобы
скопированные массивы вставлялись как значения и например на другой лист книги
[vba]
Код
Sheets("Лист2").Range("a" & g - 1 & ":h" & g - 1).Copy Range("t" & y)
[/vba]
 
Ответить
СообщениеNic70y, огромное спасибо, перенес к себе в файл все отлично работает, остался крайний вопрос, что нужно поменять чтобы
скопированные массивы вставлялись как значения и например на другой лист книги
[vba]
Код
Sheets("Лист2").Range("a" & g - 1 & ":h" & g - 1).Copy Range("t" & y)
[/vba]

Автор - Xenus91
Дата добавления - 22.12.2021 в 05:47
Nic70y Дата: Среда, 22.12.2021, 08:43 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
как значения
[vba]
Код
Range("t" & y & ":z" & y) = Sheets("Лист2").Range("a" & g - 1 & ":h" & g - 1).Value
[/vba]
на другой лист
как-то так
Sheets("Лист2").Range(


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Среда, 22.12.2021, 08:44
 
Ответить
Сообщение
как значения
[vba]
Код
Range("t" & y & ":z" & y) = Sheets("Лист2").Range("a" & g - 1 & ":h" & g - 1).Value
[/vba]
на другой лист
как-то так
Sheets("Лист2").Range(

Автор - Nic70y
Дата добавления - 22.12.2021 в 08:43
Xenus91 Дата: Среда, 22.12.2021, 21:47 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация: 13 ±
Замечаний: 0% ±

Excel 2016
Nic70y, принял, все работает
огромное спасибо!
 
Ответить
СообщениеNic70y, принял, все работает
огромное спасибо!

Автор - Xenus91
Дата добавления - 22.12.2021 в 21:47
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запись истории нажатий (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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