열 참조를 사용하여 VBA의 셀 내용 지우기
열 참조를 사용하여 일부 셀의 데이터를 지우기 위한 코드를 가져오려고 합니다.다음 코드를 사용하고 있습니다.
Worksheets(sheetname).Range(.Cells(2, LastColData), .Cells(LastRowData, LastColData)).ClearContents
하지만 이를 위해 처음에는 오류가 발생합니다.세포과, 왜 그럴까요?
을 다사전 열범액수있다니습세를 하여 전체 수 .Worksheet.Columns
다음과 같은 것:
Worksheets(sheetname).Columns(1).ClearContents
A 열의 내용을 지워야 합니다.
또한 다음과 같은 기능도 있습니다.Worksheet.Rows
에 대해 합니다.
수신되는 오류는 블록이 누락되었기 때문일 수 있습니다.
블록에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
저처럼 머리글을 지울 수 없는 솔루션을 필요로 하는 사람들을 위해, 여기 저에게 맞는 라이너가 하나 있습니다.
ActiveSheet.Range("A3:A" & Range("A3").End(xlDown).Row).ClearContents
세 번째 행부터 시작합니다. 원하는 대로 변경합니다.
개리의 학생이 언급했듯이, 당신은 그 전에 점을 제거해야 할 것입니다.Cells
코드가 원래 작성한 대로 작동하도록 하는 것입니다.코드를 한 줄만 포함했기 때문에 확신할 수 없지만 점을 삭제할 때 발생한 오류는 변수를 정의한 방법과 관련이 있을 수 있습니다.
정수로 정의된 변수를 사용하여 코드 라인을 실행하면 다음과 같이 작동합니다.
Sub TestClearLastColumn()
Dim LastColData As Long
Set LastColData = Range("A1").End(xlToRight).Column
Dim LastRowData As Long
Set LastRowData = Range("A1").End(xlDown).Row
Worksheets("Sheet1").Range(Cells(2, LastColData), Cells(LastRowData, LastColData)).ClearContents
End Sub
나는 생각하지 않습니다.With
만약 한다면, , 당이하사면다용한나를신만약하이에인유술한드▁you▁is,면다▁statement.With
조작 중인 개체를 정의하는 줄의 시작 부분에 있습니다.불필요한 코드를 사용하여 다시 작성한 코드입니다.With
문:
With Worksheets("Sheet1").Range(Cells(2, LastColData), Cells(LastRowData, LastColData))
.ClearContents
End With
With
문은 코드 재입력을 방지하고 코드를 읽기 쉽게 하기 위해 설계되었습니다.개체에 대해 두 가지 이상의 작업을 수행하면 유용하고 적합해집니다.를 들어,테두리를 ▁a▁use▁for면,를 사용할 수 있습니다.With
다음과 같은 진술:
With Worksheets("Sheet1").Range(Cells(2, LastColData), Cells(LastRowData, LastColData))
.ClearContents
.Interior.Color = vbRed
.BorderAround Color:=vbBlack, Weight:=xlThick
End With
그렇지 않으면 다음과 같이 각 작업 또는 속성의 범위를 선언해야 합니다.
Worksheets("Sheet1").Range(Cells(2, LastColData), Cells(LastRowData, LastColData)).ClearContents
Worksheets("Sheet1").Range(Cells(2, LastColData), Cells(LastRowData, LastColData)).Interior.Color = vbRed
Worksheets("Sheet1").Range(Cells(2, LastColData), Cells(LastRowData, LastColData)).BorderAround Color:=vbBlack, Weight:=xlThick
나는 이것이 왜 게리의 학생이 컴파일러가 기대할 수 있다고 믿었는지 이해하기를 바랍니다.With
) 언제 a (어떠한 때에)를With
코드에 유용할 수 있습니다.
저는 방금 아주 간단한 시트 전체를 지우는 방법을 생각해냈습니다.
Sub ClearThisSheet()
ActiveSheet.UsedRange.ClearContents
End Sub
저는 이것이 원하는 행과 열 사이의 모양으로 청소하는 쉬운 방법이라는 것을 알았습니다.이것이 당신이 찾고 있는 것인지 확실하지 않습니다.도움이 되길 바랍니다.
Sub sbClearCellsOnlyData()
Range("A1:C10").ClearContents
End Sub
이 전에 With 문이 필요합니다.아니면 만들어요.셀을 셀로
데이터가 있는 모든 행을 지우려면 다음과 같은 두 변수를 사용합니다.필요하면 일정 범위의 열로 조정할 수 있기 때문에 마음에 듭니다.마지막 행을 정수로 Dim CRow를 정수로 Dim
CRow = 1
LastRow = Cells(Rows.Count, 3).End(xlUp).Row
Do Until CRow = LastRow + 1
Cells(CRow, 1).Value = Empty
Cells(CRow, 2).Value = Empty
Cells(CRow, 3).Value = Empty
Cells(CRow, 4).Value = Empty
CRow = CRow + 1
Loop
문제는 with 문이 아니라 Range 기능에 있으며 절대 셀 값을 허용하지 않습니다.범위("A4:B100")와 같아야 합니다.다음 스레드를 참조할 수 있습니다.
다음 코드가 작동해야 합니다.셀(1,1)을 "A1"로 변환하거나 그 반대로 변환합니다.
LastColData = Sheets(WSNAME).Range("A4").End(xlToRight).Column
LastRowData = Sheets(WSNAME).Range("A4").End(xlDown).Row
Rng = "A4:" & Sheets(WSNAME).Cells(LastRowData, LastColData).Address(RowAbsolute:=False, ColumnAbsolute:=False)
Worksheets(WSNAME).Range(Rng).ClearContents
언급URL : https://stackoverflow.com/questions/19593907/clear-contents-of-cells-in-vba-using-column-reference
'source' 카테고리의 다른 글
Postgres 대소문자 구분 (0) | 2023.06.30 |
---|---|
자바 API를 사용하여 mongodb를 "좋아요"로 쿼리하는 방법은 무엇입니까? (0) | 2023.06.30 |
파이어베이스와 파이어베이스 관리 npm 모듈의 차이점은 무엇입니까? (0) | 2023.06.30 |
git push 시 "OAuth App의 워크플로우 생성 또는 업데이트 허용 거부" 해결 방법 (0) | 2023.06.30 |
TensorFlow, 왜 파이썬이 선택된 언어였습니까? (0) | 2023.06.30 |