Допустим, Я выделяю мышью строки 1-3, далее через Selection.EntireRow.Select выделяю данный мне диапазон со всеми колонками на листе. Мне же нужно выделить руками значения в строках 1-3, и нажатием макроса диапазон в колонках от самой крайней заполненной слева, и так же справа. Подскажите варианты
А так же, если использовать такой выборочный диапазон, то увеличится ли скорость обработки данных Екселем, либо же особо разницы с EntireRow нет?
Допустим, Я выделяю мышью строки 1-3, далее через Selection.EntireRow.Select выделяю данный мне диапазон со всеми колонками на листе. Мне же нужно выделить руками значения в строках 1-3, и нажатием макроса диапазон в колонках от самой крайней заполненной слева, и так же справа. Подскажите варианты
А так же, если использовать такой выборочный диапазон, то увеличится ли скорость обработки данных Екселем, либо же особо разницы с EntireRow нет?rever27
смотря что вы имеете ввиду под "обработка данных"... например, если вы потом в цикле перебираете все эти ячейки, то, естественно увеличится (есть же разница, или по 20-ти ячейкам "пройтись" или по 20-ти тыс.) а если вам нужно просто удалить выделенные строки (целиком или только строки вашей таблицы), то особой разницы нет [vba]
Код
Selection.EntireRow.Delete ' так будут удалены строки, целиком Intersect(Selection.EntireRow, Selection.CurrentRegion).Delete ' а так ячейки (строки вашей таблицы)
смотря что вы имеете ввиду под "обработка данных"... например, если вы потом в цикле перебираете все эти ячейки, то, естественно увеличится (есть же разница, или по 20-ти ячейкам "пройтись" или по 20-ти тыс.) а если вам нужно просто удалить выделенные строки (целиком или только строки вашей таблицы), то особой разницы нет [vba]
Код
Selection.EntireRow.Delete ' так будут удалены строки, целиком Intersect(Selection.EntireRow, Selection.CurrentRegion).Delete ' а так ячейки (строки вашей таблицы)
Все не совсем то. Приложил пример. Кода нет. В данном примере нужно при выделении любых ячеек выделить c ними также и колонки в дапазоне B по AL
Т.е. я выделяю 316-318 строчки, и после нажатия макроса должен выделиться B316:AL318
Естественно диапазон колонок всегда разный. Потом этот диапазон я буду обрабатывать сортировкой, поиском значений и т.п. Поэтому и интересует дальнейшая скорость работы либо с таким, либо со всем EntireRow, при условии, что остальные ячейки все равно пустые
Все не совсем то. Приложил пример. Кода нет. В данном примере нужно при выделении любых ячеек выделить c ними также и колонки в дапазоне B по AL
Т.е. я выделяю 316-318 строчки, и после нажатия макроса должен выделиться B316:AL318
Естественно диапазон колонок всегда разный. Потом этот диапазон я буду обрабатывать сортировкой, поиском значений и т.п. Поэтому и интересует дальнейшая скорость работы либо с таким, либо со всем EntireRow, при условии, что остальные ячейки все равно пустыеrever27
Вставляйте макрос в код нужного листа и пользуйтесь [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, ActiveSheet.UsedRange) Is Nothing Then Exit Sub With Target Range("B" & .Row & ":AL" & .Row + .Rows.Count - 1).Select End With End Sub
[/vba]
Вставляйте макрос в код нужного листа и пользуйтесь [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, ActiveSheet.UsedRange) Is Nothing Then Exit Sub With Target Range("B" & .Row & ":AL" & .Row + .Rows.Count - 1).Select End With End Sub
KSV, нет, я же говорил, что неизвестный, это был пример, ибо просили. Известен только начальный столбец - 2. Но мой вариант отлично работает, приятно, что "допетрил" сам ) Еще раз спасибо за помощь )
[offtop] KSV, вы так и не посмотрели мои вопросы по прошлой моей теме [spoiler]Сравнение значений в ячейках и выделение их
KSV, нет, я же говорил, что неизвестный, это был пример, ибо просили. Известен только начальный столбец - 2. Но мой вариант отлично работает, приятно, что "допетрил" сам ) Еще раз спасибо за помощь )
[offtop] KSV, вы так и не посмотрели мои вопросы по прошлой моей теме [spoiler]Сравнение значений в ячейках и выделение ихrever27