Как сделать разрыв строки из списка и очистить этот код для краткости - PullRequest
0 голосов
/ 13 октября 2018

У меня есть следующий код, который довольно длинный и я хочу разбить его на три строки, но пробел и "-" не работают:

Range("C8:D38,H8:I38,M8:N38,R8:S38,W8:X38,AB8:AC38,AG8:AH38,AL8:AM38, _
    AQ8:AR38 , AV8:AW38 , BA8:BB38 , BF8:BG38 , BK8:BL38 , BP8:BQ38 , BU8:BV38 , BZ8:CA38 , _
        CE8: CF38 , CJ8: CK38 , CO8: CP38 , CT8: CU38 , CY8: CZ38 , DD8: DE38 ").ClearContents ""

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

вы можете использовать:

Intersect(Range("C:D, H:I, M:N, R:S, W:X, AB:AC"), Rows("8:38")).ClearContents
0 голосов
/ 13 октября 2018

Закройте раздел цитатой и объедините последующие цитируемые разделы до конца.

Range("C8:D38,H8:I38,M8:N38,R8:S38,W8:X38,AB8:AC38,AG8:AH38,AL8:AM38," & _
      "AQ8:AR38,AV8:AW38,BA8:BB38,BF8:BG38,BK8:BL38,BP8:BQ38,BU8:BV38," & _
      "BZ8:CA38,CE8:CF38,CJ8:CK38,CO8:CP38,CT8:CU38,CY8:CZ38,DD8:DE38").ClearContents

Альтернатива:

dim rng as range, i as long

set rng = Range("C8:D38")
for i = 8 to 108 step 5
    set rng = union(rng, cells(8, i).resize(31, 2))
next i
debug.print rng.address(0, 0)
...