ceHnau  
 Дата: Среда, 23.06.2021, 10:16 | 
 Сообщение № 1     
   
 
  
   
 
 
 Группа: Пользователи  
 
 
 Ранг: Новичок  
 
 Сообщений:  18 
 
 
 
 
  Репутация:    
 0    
 ±  
 
  
 Замечаний:
 20%   ±  
   2016          
  
 
 
 Здравствуйте! Создаю рабочую таблицу. В VBA не силен, нашел нужный, настроил, но в последствии заметил, что при выполнении эта зараза жмет Num Lock, хотя в теле самого макроса упоминания этого не нашел. Сам код: [vba]Код
Sub Сортировать() ' Сортировать Макрос     Call Очистить_фильтр     Range("A3").Select     SendKeys "^+{END}"     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Clear     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "B3:B758"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "C3:C3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "D3:D3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "E3:E3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "F3:F3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "G3:G3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "H3:H3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     With ActiveWorkbook.Worksheets("Общий список").Sort         .SetRange Range("A3:N3000")         .Header = xlGuess         .MatchCase = False         .Orientation = xlTopToBottom         .SortMethod = xlPinYin         .Apply     End With End Sub
 [/vba] Если Num Lock отключен, то ничего не происходит. Но если вкл, то при выполнении начинает то включаться, то отключаться. Макрос подвязан к кнопке "Сортировать". Пример во вложении. Буду благодарен, если подскажите в чем проблема. Цифрами с NumLock пользуюсь постоянно, подобны переключения неприемлемы.  
 
 
Здравствуйте! Создаю рабочую таблицу. В VBA не силен, нашел нужный, настроил, но в последствии заметил, что при выполнении эта зараза жмет Num Lock, хотя в теле самого макроса упоминания этого не нашел. Сам код: [vba]Код
Sub Сортировать() ' Сортировать Макрос     Call Очистить_фильтр     Range("A3").Select     SendKeys "^+{END}"     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Clear     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "B3:B758"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "C3:C3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "D3:D3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "E3:E3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "F3:F3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "G3:G3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "H3:H3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     With ActiveWorkbook.Worksheets("Общий список").Sort         .SetRange Range("A3:N3000")         .Header = xlGuess         .MatchCase = False         .Orientation = xlTopToBottom         .SortMethod = xlPinYin         .Apply     End With End Sub
 [/vba] Если Num Lock отключен, то ничего не происходит. Но если вкл, то при выполнении начинает то включаться, то отключаться. Макрос подвязан к кнопке "Сортировать". Пример во вложении. Буду благодарен, если подскажите в чем проблема. Цифрами с NumLock пользуюсь постоянно, подобны переключения неприемлемы. ceHnau  
 
 
  
  
  
 Ответить 
Сообщение Здравствуйте! Создаю рабочую таблицу. В VBA не силен, нашел нужный, настроил, но в последствии заметил, что при выполнении эта зараза жмет Num Lock, хотя в теле самого макроса упоминания этого не нашел. Сам код: [vba]Код
Sub Сортировать() ' Сортировать Макрос     Call Очистить_фильтр     Range("A3").Select     SendKeys "^+{END}"     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Clear     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "B3:B758"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "C3:C3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "D3:D3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "E3:E3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "F3:F3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "G3:G3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     ActiveWorkbook.Worksheets("Общий список").Sort.SortFields.Add2 Key:=Range( _         "H3:H3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _         xlSortNormal     With ActiveWorkbook.Worksheets("Общий список").Sort         .SetRange Range("A3:N3000")         .Header = xlGuess         .MatchCase = False         .Orientation = xlTopToBottom         .SortMethod = xlPinYin         .Apply     End With End Sub
 [/vba] Если Num Lock отключен, то ничего не происходит. Но если вкл, то при выполнении начинает то включаться, то отключаться. Макрос подвязан к кнопке "Сортировать". Пример во вложении. Буду благодарен, если подскажите в чем проблема. Цифрами с NumLock пользуюсь постоянно, подобны переключения неприемлемы. Автор - ceHnau  Дата добавления - 23.06.2021  в 10:16   
 
 
 Serge_007  
 Дата: Среда, 23.06.2021, 10:32 | 
 Сообщение № 2     
   
 
  
   
 
 
 Группа: Админы  
 
 
 Ранг: Местный житель  
 
 Сообщений:  16475 
 
 
 
 
  Репутация:    
 2750    
 ±  
 
  
 Замечаний:
    ±  
   Excel 2016          
  
 
 
 Здравствуйте Num Lock отключается на строке [vba][/vba], хотя эта строка действительно не должна это делать Зачем она Вам?  
 
 
Здравствуйте Num Lock отключается на строке [vba][/vba], хотя эта строка действительно не должна это делать Зачем она Вам? Serge_007  
 
ЮMoney :41001419691823 |  WMR :126292472390    
  
  
  
 Ответить 
Сообщение Здравствуйте Num Lock отключается на строке [vba][/vba], хотя эта строка действительно не должна это делать Зачем она Вам? Автор - Serge_007  Дата добавления - 23.06.2021  в 10:32   
 
 
 ceHnau  
 Дата: Среда, 23.06.2021, 11:11 | 
 Сообщение № 3     
   
 
  
   
 
 
 Группа: Пользователи  
 
 
 Ранг: Новичок  
 
 Сообщений:  18 
 
 
 
 
  Репутация:    
 0    
 ±  
 
  
 Замечаний:
 20%   ±  
   2016          
  
 
 
 Num Lock отключается на строке SendKeys "^+{END}" , хотя эта строка действительно не должна это делать Зачем она Вам?
 Но ведь, действительно, не должна - она имитирует нажатие Ctrl+Shift+End, я просто не знаю команду на выделение всего диапазона, при наличии включенного фильтра. 
 
 
Num Lock отключается на строке SendKeys "^+{END}" , хотя эта строка действительно не должна это делать Зачем она Вам?
 Но ведь, действительно, не должна - она имитирует нажатие Ctrl+Shift+End, я просто не знаю команду на выделение всего диапазона, при наличии включенного фильтра.ceHnau  
 
  
  
  
 Ответить 
Сообщение Num Lock отключается на строке SendKeys "^+{END}" , хотя эта строка действительно не должна это делать Зачем она Вам?
 Но ведь, действительно, не должна - она имитирует нажатие Ctrl+Shift+End, я просто не знаю команду на выделение всего диапазона, при наличии включенного фильтра.Автор - ceHnau  Дата добавления - 23.06.2021  в 11:11   
 
 
 ceHnau  
 Дата: Среда, 23.06.2021, 11:38 | 
 Сообщение № 5     
   
 
  
   
 
 
 Группа: Пользователи  
 
 
 Ранг: Новичок  
 
 Сообщений:  18 
 
 
 
 
  Репутация:    
 0    
 ±  
 
  
 Замечаний:
 20%   ±  
   2016          
  
 
 
 Свойство Worksheet.UsedRange
 Спасибо! Работает, однако логику я пока не понимаю, не подскажите? [vba]Код
ActiveSheet.UsedRange.Select
 [/vba] выделяет всю "рабочую" область, включая закрепленную шапку таблицы. [vba][/vba] я ввел после команды [vba][/vba], т.к. мне требовалась именно рабочая область от А3 и ниже. Есть ли возможность выделения рабочего диапазона от нужной строки/столбца  не через команды имитации нажатий клавиш? 
 
 
Свойство Worksheet.UsedRange
 Спасибо! Работает, однако логику я пока не понимаю, не подскажите? [vba]Код
ActiveSheet.UsedRange.Select
 [/vba] выделяет всю "рабочую" область, включая закрепленную шапку таблицы. [vba][/vba] я ввел после команды [vba][/vba], т.к. мне требовалась именно рабочая область от А3 и ниже. Есть ли возможность выделения рабочего диапазона от нужной строки/столбца  не через команды имитации нажатий клавиш?ceHnau  
 
  
  
  
 Ответить 
Сообщение Свойство Worksheet.UsedRange
 Спасибо! Работает, однако логику я пока не понимаю, не подскажите? [vba]Код
ActiveSheet.UsedRange.Select
 [/vba] выделяет всю "рабочую" область, включая закрепленную шапку таблицы. [vba][/vba] я ввел после команды [vba][/vba], т.к. мне требовалась именно рабочая область от А3 и ниже. Есть ли возможность выделения рабочего диапазона от нужной строки/столбца  не через команды имитации нажатий клавиш?Автор - ceHnau  Дата добавления - 23.06.2021  в 11:38   
 
 
 ceHnau  
 Дата: Среда, 23.06.2021, 11:41 | 
 Сообщение № 6     
   
 
  
   
 
 
 Группа: Пользователи  
 
 
 Ранг: Новичок  
 
 Сообщений:  18 
 
 
 
 
  Репутация:    
 0    
 ±  
 
  
 Замечаний:
 20%   ±  
   2016          
  
 
 
 Есть ли возможность выделения рабочего диапазона от нужной строки/столбца не через команды имитации нажатий клавиш?
 Подумал и не смог придумать, для чего бы нужна была такая задача. Вопрос отпадает 
 
 
Есть ли возможность выделения рабочего диапазона от нужной строки/столбца не через команды имитации нажатий клавиш?
 Подумал и не смог придумать, для чего бы нужна была такая задача. Вопрос отпадаетceHnau  
 
  
  
  
 Ответить 
Сообщение Есть ли возможность выделения рабочего диапазона от нужной строки/столбца не через команды имитации нажатий клавиш?
 Подумал и не смог придумать, для чего бы нужна была такая задача. Вопрос отпадаетАвтор - ceHnau  Дата добавления - 23.06.2021  в 11:41