셀 범위를 복사하는 방법을 찾고 있지만 값이 들어있는 셀만 복사하는 방법을 찾고 있습니다.셀 범위를 복사하고 데이터가있는 셀만 선택하십시오.
내 Excel 시트에는 A1-A18에서 실행중인 데이터가 있고 B는 비어 있고 C1-C2입니다. 이제 값이 들어있는 모든 셀을 복사하고 싶습니다.
With Range("A1")
Range(.Cells(1, 1), .End(xlDown).Cells(50, 3)).Copy
End With
이 A1-C50에서 모든 것을 복사합니다,하지만 난 단지 이러한 데이터를 포함하는 것처럼 A1-A18와 C1-C2 볼 복사 할. 그러나 일단 B 또는 내 범위의 데이터를 가져 오면 복사본이 복사되는 방식으로 구성되어야합니다.
'So the range could be 5000 and it only selects the data with a value.
With Range("A1")
Range(.Cells(1, 1), .End(xlDown).Cells(5000, 3)).Copy
End With
고마워요! 진, 현재 코드
감사 :
Sub test()
Dim i As Integer
Sheets("Sheet1").Select
i = 1
With Range("A1")
If .Cells(1, 1).Value = "" Then
Else
Range(.Cells(1, 1), .End(xlDown)).Copy Destination:=Sheets("Sheet2").Range("A" & i)
x = x + 1
End If
End With
Sheets("Sheet1").Select
x = 1
With Range("B1")
' Column B may be empty. If so, xlDown will return cell C65536
' and whole empty column will be copied... prevent this.
If .Cells(1, 1).Value = "" Then
'Nothing in this column.
'Do nothing.
Else
Range(.Cells(1, 1), .End(xlDown)).Copy Destination:=Sheets("Sheet2").Range("B" & i)
x = x + 1
End If
End With
Sheets("Sheet1").Select
x = 1
With Range("C1")
If .Cells(1, 1).Value = "" Then
Else
Range(.Cells(1, 1), .End(xlDown)).Copy Destination:=Sheets("Sheet2").Range("C" & i)
x = x + 1
End If
End With
End Sub
A1 - A5가 데이터를 포함는 A6는 블랑이고, A7은 데이터를 포함합니다. 그것은 A6에서 멈추고 B 열로 향하고 똑같은 방식으로 계속됩니다.
NB : 귀하의 첫 번째 코드 예제는 범위 A1에서 모든 것을 복사합니다 : C67을, A1 : C50 ... –
당신의 질문은 대답을 한 후에 계속 변화하고 있습니다 ... –
미안 해요 :)하지만 당신은 그들 모두에게 대답했고, 그것에 대해 감사드립니다. – CustomX