programing

Excel VBA - 순차적이지 않은 열을 여러 개 선택합니다.

telecom 2023. 7. 19. 21:11
반응형

Excel VBA - 순차적이지 않은 열을 여러 개 선택합니다.

여러 열을 선택합니다.

예. 하고 싶습니다.

시도해 봤습니다.

Columns("A, B, D, E, G, H").select

오류 메시지가 표시됩니다.

Range("A:B,D:E,G:H").Select도움이 될 수 있음

노트 편집:방금 다른 열 시퀀스를 사용한 것을 확인했습니다. 답변을 업데이트했습니다.

내 머리 위에 있는 것들.

방법 1.

Application.Union(Range("a1"), Range("b1"), Range("d1"), Range("e1"), Range("g1"), Range("h1")).EntireColumn.Select

방법 2.

Range("a1,b1,d1,e1,g1,h1").EntireColumn.Select

방법 3.

Application.Union(Columns("a"), Columns("b"), Columns("d"), Columns("e"), Columns("g"), Columns("h")).Select

일부 코드는 제가 보기에 좀 복잡해 보입니다.이것은 두 개의 인접하지 않은 열 D와 H에서 사용된 행만 선택하는 매우 간단한 코드입니다.이는 열의 길이가 같지 않기 때문에 열의 길이가 같은 경우보다 더 유연하다고 가정합니다.

추정한 것처럼 4=열 D 및 8=열 H

Dim dlastRow As Long
Dim hlastRow As Long

dlastRow = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
hlastRow = ActiveSheet.Cells(Rows.Count, 8).End(xlUp).Row
Range("D2:D" & dlastRow & ",H2:H" & hlastRow).Select

당신이 유용하기를 바랍니다 - 제가 그랬던 것처럼 두 번째 칸 앞에 쉼표를 잊지 마십시오. 그렇지 않으면 폭발할 것입니다!

프로젝트를 진행하면서 저는 한동안 이 개념에 갇혀 있었습니다. 결국 잘 작동한 @GSERG의 방법 1과 유사한 답변을 얻었습니다.기본적으로 저는 (몇 가지 변수를 사용하여) 두 가지 공식 범위를 정의한 다음 연합 개념을 사용했습니다.제 예는 제가 작업 중인 더 큰 프로젝트에서 나온 것이지만 아래 코드 부분이 정의된 범위와 변수와 함께 유니온 개념을 사용하는 방법을 모를 수 있는 다른 사람들에게 도움이 될 수 있기를 바랍니다.코드 전체를 포함하지 않은 이유는 이 시점에서는 상당히 길기 때문입니다. 더 많은 통찰력을 원하는 사람이 있으면 언제든지 알려주십시오.

먼저 모든 변수를 공개로 선언했습니다.

그런 다음 각 변수를 정의/설정했습니다.

마지막으로 새 변수 "Select Range(범위 선택)"를 다른 두 공식 범위 사이의 유니언으로 설정합니다.

Public r As Long
Public c As Long
Public d As Long
Public FormulaRange3 As Range
Public FormulaRange4 As Range
Public SelectRanges As Range

With Sheet8




  c = pvt.DataBodyRange.Columns.Count + 1

  d = 3

  r = .Cells(.Rows.Count, 1).End(xlUp).Row

Set FormulaRange3 = .Range(.Cells(d, c + 2), .Cells(r - 1, c + 2))
    FormulaRange3.NumberFormat = "0"
    Set FormulaRange4 = .Range(.Cells(d, c + c + 2), .Cells(r - 1, c + c + 2))
    FormulaRange4.NumberFormat = "0"
    Set SelectRanges = Union(FormulaRange3, FormulaRange4)

기록된 매크로로.

range("A:A, B:B, D:D, E:E, G:G, H:H").select

언급URL : https://stackoverflow.com/questions/8888382/excel-vba-select-multiple-columns-not-in-sequential-order

반응형