![]() |
Выбор нескольких ячеек экселя с помощью переменной в макросе.
Здравствуйте.
Есть рабочий скрипт. Код:
Sub Unmerge() К сожалению, не смог разобраться, как это прописать. На Код:
ActiveSheet.Range("A" & rowCount: "В" & rowCount).Select Что я делаю не так? :) |
Цитата:
Цитата:
Я вот смотрю на код и думаю — что он, собственно, делает и зачем? Вам действительно нужно всё вот это: Код:
With Selection Убрал ненужный .Select(), остальное оставил как было. Код:
Option Explicit |
subuday77, я серьёзно спрашиваю по поводу:
Цитата:
Код:
With ActiveSheet |
Спасибо.
Про Select() я в курсе. Но грешен. Я ещё и <шопотом, оглядываясь> goto в батниках использую. Но в целом, да, как записал, так и работает. Ну, почти. В напрямую записанном виде он не работал, по причине превышения 64 битного размера. :) Пришлось слегка допилить. Ваш способ очень хорош, более того, позволяет более гибко обработать лист. Но в нём всё равно 2 прохода по листу. И всё таки, можно как-то скомбинировать буквы и переменные? Допустим, даже без Select. Код:
For iRowCount = 2 To 2200 Цитата:
А он не угробит содержимое всех ячеек, кроме верхней? UPD. Проверил. Нет, не угробит. :) |
Вложений: 1
Цитата Iska:
что он, собственно, делает и зачем? » Расскажу. Некое существо, ещё более криворукое, чем я, собрало кучу эксель листов копипастом с сайта. Всё ничего, но данные выглядят так: http://forum.oszone.net/attachment.p...1&d=1535471448 Их очень много. И чтобы привести всё это в божеский вид, пришлось срочно осваивать VBS. Часа за два сваял что-то, что разцепляет ячейки, не удаляя при этом содержимое, а потом сносит пустые строки. Как-то так. |
Цитата:
Цитата:
Код:
With ActiveSheet Код:
With ActiveSheet Цитата:
Скрытый текст
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Вот, привёл вот к такому виду:
Код:
Sub Unmerge() Ещё раз спасибо! :up: |
subuday77, удалить можно ещё так:
Код:
Dim objRange As Variant Почему именно .Range("A2:A2200"), а не .Range("A2:B2200")? Потому что Вы фильтруете по Field == 1. |
Время: 19:18. |
Время: 19:18.
© OSzone.net 2001-