Выделение/удаление столбца
Roman777
Дата: Четверг, 12.03.2015, 12:17 |
Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
Добрый день! Хочу удалить определённый столбец (определяемый по условию). На каждом листе книги. Пишу: [vba]Код
sht.Cells(2, j1).Column.Select Selection.Delete Shift:=xlToLeft
[/vba] Как это можно осуществить правильно?
Добрый день! Хочу удалить определённый столбец (определяемый по условию). На каждом листе книги. Пишу: [vba]Код
sht.Cells(2, j1).Column.Select Selection.Delete Shift:=xlToLeft
[/vba] Как это можно осуществить правильно? Roman777
Много чего не знаю!!!!
Ответить
Сообщение Добрый день! Хочу удалить определённый столбец (определяемый по условию). На каждом листе книги. Пишу: [vba]Код
sht.Cells(2, j1).Column.Select Selection.Delete Shift:=xlToLeft
[/vba] Как это можно осуществить правильно? Автор - Roman777 Дата добавления - 12.03.2015 в 12:17
_Boroda_
Дата: Четверг, 12.03.2015, 12:22 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16711
Репутация:
6502
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Так? [vba]Код
For Each sh_ In ThisWorkbook.Worksheets sh_.Columns(j1).Delete Next sh_
[/vba]
Так? [vba]Код
For Each sh_ In ThisWorkbook.Worksheets sh_.Columns(j1).Delete Next sh_
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Так? [vba]Код
For Each sh_ In ThisWorkbook.Worksheets sh_.Columns(j1).Delete Next sh_
[/vba] Автор - _Boroda_ Дата добавления - 12.03.2015 в 12:22
Roman777
Дата: Четверг, 12.03.2015, 12:28 |
Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
_Boroda_ , Спасибо! Идеально! А что тогда задаёт Shift:=xlToLeft? я пробовал xltoRight и разницы не ощутил...
_Boroda_ , Спасибо! Идеально! А что тогда задаёт Shift:=xlToLeft? я пробовал xltoRight и разницы не ощутил...Roman777
Много чего не знаю!!!!
Ответить
Сообщение _Boroda_ , Спасибо! Идеально! А что тогда задаёт Shift:=xlToLeft? я пробовал xltoRight и разницы не ощутил...Автор - Roman777 Дата добавления - 12.03.2015 в 12:28
Roman777
Дата: Четверг, 12.03.2015, 12:32 |
Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
И выделить таким методом не получается Пишу: [vba]Код
sh_.Columns(j1).select
[/vba] Говорит о том, что неверно завершён метод.
И выделить таким методом не получается Пишу: [vba]Код
sh_.Columns(j1).select
[/vba] Говорит о том, что неверно завершён метод. Roman777
Много чего не знаю!!!!
Ответить
Сообщение И выделить таким методом не получается Пишу: [vba]Код
sh_.Columns(j1).select
[/vba] Говорит о том, что неверно завершён метод. Автор - Roman777 Дата добавления - 12.03.2015 в 12:32
_Boroda_
Дата: Четверг, 12.03.2015, 12:32 |
Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16711
Репутация:
6502
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
А как Вы себе представляете удаление столбца со смещением вправо? я думал, что J1 - это переменная. Если это ссылка на ячейку, тогда так [vba]Код
For Each sh_ In ThisWorkbook.Worksheets sh_.Columns("J").Delete Shift:=xlToRight Next sh_
[/vba]
А как Вы себе представляете удаление столбца со смещением вправо? я думал, что J1 - это переменная. Если это ссылка на ячейку, тогда так [vba]Код
For Each sh_ In ThisWorkbook.Worksheets sh_.Columns("J").Delete Shift:=xlToRight Next sh_
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение А как Вы себе представляете удаление столбца со смещением вправо? я думал, что J1 - это переменная. Если это ссылка на ячейку, тогда так [vba]Код
For Each sh_ In ThisWorkbook.Worksheets sh_.Columns("J").Delete Shift:=xlToRight Next sh_
[/vba] Автор - _Boroda_ Дата добавления - 12.03.2015 в 12:32
Roman777
Дата: Четверг, 12.03.2015, 12:35 |
Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
J1 - это переменная...). Я думал, что смещаться будет выделение. А не сам столбец). Но я понимаю что выделения тут вообще не происходит. Просто когда xlToLeft, хочется проверить что такое будет xlToRight, а он даже ошибки не выдал.
J1 - это переменная...). Я думал, что смещаться будет выделение. А не сам столбец). Но я понимаю что выделения тут вообще не происходит. Просто когда xlToLeft, хочется проверить что такое будет xlToRight, а он даже ошибки не выдал. Roman777
Много чего не знаю!!!!
Сообщение отредактировал Roman777 - Четверг, 12.03.2015, 12:36
Ответить
Сообщение J1 - это переменная...). Я думал, что смещаться будет выделение. А не сам столбец). Но я понимаю что выделения тут вообще не происходит. Просто когда xlToLeft, хочется проверить что такое будет xlToRight, а он даже ошибки не выдал. Автор - Roman777 Дата добавления - 12.03.2015 в 12:35
RAN
Дата: Четверг, 12.03.2015, 13:26 |
Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Варианты [vba]Код
Cells(1, 1).Offset(, 3).EntireColumn.Delete Cells(1, 1).EntireColumn.Delete Columns(i).Delete
[/vba]
Варианты [vba]Код
Cells(1, 1).Offset(, 3).EntireColumn.Delete Cells(1, 1).EntireColumn.Delete Columns(i).Delete
[/vba] RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Варианты [vba]Код
Cells(1, 1).Offset(, 3).EntireColumn.Delete Cells(1, 1).EntireColumn.Delete Columns(i).Delete
[/vba] Автор - RAN Дата добавления - 12.03.2015 в 13:26
Roman777
Дата: Четверг, 12.03.2015, 13:40 |
Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
RAN , Спасибо за столько вариант! А можно варианты с выделением столбцов? (иногда удобно видеть как код выделяет их, чтобы пошагово проверить корректность работы)
RAN , Спасибо за столько вариант! А можно варианты с выделением столбцов? (иногда удобно видеть как код выделяет их, чтобы пошагово проверить корректность работы)Roman777
Много чего не знаю!!!!
Ответить
Сообщение RAN , Спасибо за столько вариант! А можно варианты с выделением столбцов? (иногда удобно видеть как код выделяет их, чтобы пошагово проверить корректность работы)Автор - Roman777 Дата добавления - 12.03.2015 в 13:40
RAN
Дата: Четверг, 12.03.2015, 14:18 |
Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Delete удаляет, Select выделяет, Clear очищает. Остальное все то же.
Delete удаляет, Select выделяет, Clear очищает. Остальное все то же. RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Delete удаляет, Select выделяет, Clear очищает. Остальное все то же. Автор - RAN Дата добавления - 12.03.2015 в 14:18
Roman777
Дата: Четверг, 12.03.2015, 14:48 |
Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
RAN , Спасибо ещё раз! У меня просто не во всех случаях, где ставилось delete можно было ставить и Select и clear... (ваши варианты тоже проверил с первым и вторым - всё вроде работает, а вот с "Columns(i).Delete" .select не работает).
RAN , Спасибо ещё раз! У меня просто не во всех случаях, где ставилось delete можно было ставить и Select и clear... (ваши варианты тоже проверил с первым и вторым - всё вроде работает, а вот с "Columns(i).Delete" .select не работает).Roman777
Много чего не знаю!!!!
Ответить
Сообщение RAN , Спасибо ещё раз! У меня просто не во всех случаях, где ставилось delete можно было ставить и Select и clear... (ваши варианты тоже проверил с первым и вторым - всё вроде работает, а вот с "Columns(i).Delete" .select не работает).Автор - Roman777 Дата добавления - 12.03.2015 в 14:48
Manyasha
Дата: Четверг, 12.03.2015, 14:55 |
Сообщение № 11
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
901
±
Замечаний:
0% ±
Excel 2010, 2016
Roman777 , Здравствуйте. Если i - это целочисленная переменная (например, i = 3), тогда [vba]Код
i = 3 Columns(i).Delete'.Select
[/vba] А если i - это название столбца, тогда[vba]Код
Columns("i").Delete'.Select
[/vba]
Roman777 , Здравствуйте. Если i - это целочисленная переменная (например, i = 3), тогда [vba]Код
i = 3 Columns(i).Delete'.Select
[/vba] А если i - это название столбца, тогда[vba]Код
Columns("i").Delete'.Select
[/vba]Manyasha
ЯД: 410013299366744 WM: R193491431804
Ответить
Сообщение Roman777 , Здравствуйте. Если i - это целочисленная переменная (например, i = 3), тогда [vba]Код
i = 3 Columns(i).Delete'.Select
[/vba] А если i - это название столбца, тогда[vba]Код
Columns("i").Delete'.Select
[/vba]Автор - Manyasha Дата добавления - 12.03.2015 в 14:55
Roman777
Дата: Четверг, 12.03.2015, 15:19 |
Сообщение № 12
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
Manyasha , Добрый день! Я подставил тупо числом: [vba][/vba] Выдало ошибку.
Manyasha , Добрый день! Я подставил тупо числом: [vba][/vba] Выдало ошибку.Roman777
Много чего не знаю!!!!
Ответить
Сообщение Manyasha , Добрый день! Я подставил тупо числом: [vba][/vba] Выдало ошибку.Автор - Roman777 Дата добавления - 12.03.2015 в 15:19
Roman777
Дата: Четверг, 12.03.2015, 15:22 |
Сообщение № 13
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
И мб немного не в тему будет вопрос. Возможно ли выделение диапазона таким образом: [vba]Код
Set range1 = sht.Cells(3, j).Resize(i_n - 2) range1.Select
[/vba] ?
И мб немного не в тему будет вопрос. Возможно ли выделение диапазона таким образом: [vba]Код
Set range1 = sht.Cells(3, j).Resize(i_n - 2) range1.Select
[/vba] ? Roman777
Много чего не знаю!!!!
Ответить
Сообщение И мб немного не в тему будет вопрос. Возможно ли выделение диапазона таким образом: [vba]Код
Set range1 = sht.Cells(3, j).Resize(i_n - 2) range1.Select
[/vba] ? Автор - Roman777 Дата добавления - 12.03.2015 в 15:22
RAN
Дата: Четверг, 12.03.2015, 15:29 |
Сообщение № 14
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Не верю! А попробовать? RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Не верю! А попробовать? Автор - RAN Дата добавления - 12.03.2015 в 15:29
Roman777
Дата: Четверг, 12.03.2015, 15:37 |
Сообщение № 15
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
RAN , Manyasha , Прошу прощения, в этот раз попробовал [vba]Код
Sub проверка() Columns(5).Select End Sub
[/vba] Всё работает. Наверное что-то невнимательно проглядел в предыдущий раз. Хотя код безумно мелкий, что тут можно проглядеть то...) А вот с проверить. Попробовал [vba]Код
Sub ïðîâåðêà2() Dim range1 As Range Dim sht As Worksheet Set ActWB = ActiveWorkbook For Each sht In ActWB.Worksheets Set range1 = sht.Cells(3, 2).Resize(10) range1.Select Next sht End Sub
[/vba] Пишет на строчке Set range1 = sht.Cells(3, 2).Resize(10) "что неверное завершён метод Select из Range класса" Я потому и спрашиваю, как можно подобное выделение реализовать? именно при использовании .Resize?
RAN , Manyasha , Прошу прощения, в этот раз попробовал [vba]Код
Sub проверка() Columns(5).Select End Sub
[/vba] Всё работает. Наверное что-то невнимательно проглядел в предыдущий раз. Хотя код безумно мелкий, что тут можно проглядеть то...) А вот с проверить. Попробовал [vba]Код
Sub ïðîâåðêà2() Dim range1 As Range Dim sht As Worksheet Set ActWB = ActiveWorkbook For Each sht In ActWB.Worksheets Set range1 = sht.Cells(3, 2).Resize(10) range1.Select Next sht End Sub
[/vba] Пишет на строчке Set range1 = sht.Cells(3, 2).Resize(10) "что неверное завершён метод Select из Range класса" Я потому и спрашиваю, как можно подобное выделение реализовать? именно при использовании .Resize?Roman777
Много чего не знаю!!!!
Сообщение отредактировал Roman777 - Четверг, 12.03.2015, 15:40
Ответить
Сообщение RAN , Manyasha , Прошу прощения, в этот раз попробовал [vba]Код
Sub проверка() Columns(5).Select End Sub
[/vba] Всё работает. Наверное что-то невнимательно проглядел в предыдущий раз. Хотя код безумно мелкий, что тут можно проглядеть то...) А вот с проверить. Попробовал [vba]Код
Sub ïðîâåðêà2() Dim range1 As Range Dim sht As Worksheet Set ActWB = ActiveWorkbook For Each sht In ActWB.Worksheets Set range1 = sht.Cells(3, 2).Resize(10) range1.Select Next sht End Sub
[/vba] Пишет на строчке Set range1 = sht.Cells(3, 2).Resize(10) "что неверное завершён метод Select из Range класса" Я потому и спрашиваю, как можно подобное выделение реализовать? именно при использовании .Resize?Автор - Roman777 Дата добавления - 12.03.2015 в 15:37
Manyasha
Дата: Четверг, 12.03.2015, 15:58 |
Сообщение № 16
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
901
±
Замечаний:
0% ±
Excel 2010, 2016
[vba]Код
Set range1 = Cells(3, 2).Resize(10) range1.Select
[/vba] UPD. А в цикле вот так можно: [vba]Код
For Each sht In ActWB.Worksheets sht.Activate Set range1 = Cells(3, 2).Resize(10) range1.Select Next sht
[/vba]
[vba]Код
Set range1 = Cells(3, 2).Resize(10) range1.Select
[/vba] UPD. А в цикле вот так можно: [vba]Код
For Each sht In ActWB.Worksheets sht.Activate Set range1 = Cells(3, 2).Resize(10) range1.Select Next sht
[/vba] Manyasha
ЯД: 410013299366744 WM: R193491431804
Сообщение отредактировал Manyasha - Четверг, 12.03.2015, 16:24
Ответить
Сообщение [vba]Код
Set range1 = Cells(3, 2).Resize(10) range1.Select
[/vba] UPD. А в цикле вот так можно: [vba]Код
For Each sht In ActWB.Worksheets sht.Activate Set range1 = Cells(3, 2).Resize(10) range1.Select Next sht
[/vba] Автор - Manyasha Дата добавления - 12.03.2015 в 15:58
RAN
Дата: Четверг, 12.03.2015, 16:26 |
Сообщение № 17
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Select можно использовать только на активном листе. Если sht активный, будет работать, если нет, будет ошибка.
Select можно использовать только на активном листе. Если sht активный, будет работать, если нет, будет ошибка. RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Select можно использовать только на активном листе. Если sht активный, будет работать, если нет, будет ошибка. Автор - RAN Дата добавления - 12.03.2015 в 16:26
Roman777
Дата: Пятница, 13.03.2015, 10:18 |
Сообщение № 18
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
Manyasha , RAN , Спасибо большое! Весьма исчерпывающе.
Manyasha , RAN , Спасибо большое! Весьма исчерпывающе.Roman777
Много чего не знаю!!!!
Ответить
Сообщение Manyasha , RAN , Спасибо большое! Весьма исчерпывающе.Автор - Roman777 Дата добавления - 13.03.2015 в 10:18