열에서 다음 행으로 데이터를 놓으라는 제목이 필요합니다. 많은 연구 끝에 매크로를 사용하여이 작업을 수행 할 수 있다는 것을 알게되었고, 여기가 당신의 도움이 필요한 부분입니다.매크로를 사용하여 Excel에서 다음 행의 열 가져 오기
내가해야 할 일의예 :
내가 뭘 의미하는 것은 내가 4 열
A B C D
1 Data1 Data2 Data3 Data4
2 Data5 Data6 Data7 Data8
이 같은 다음 라인으로 이동하기 위해 모든 D 열 데이터 싶은와 엑셀 문서를 가지고있다 .
Sub Data1()
'
' Data1 Macro
'
'
'
ActiveCell.Offset(1, 0).Range("A1:D1").Select
Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
ActiveCell.Offset(-1, 3).Range("A1").Select
Selection.Cut
ActiveCell.Offset(1, -3).Range("A1").Select
ActiveSheet.Paste
End Sub
결과 :
A B C
1 Data1 Data2 Data3
2 Data4 // First Data of D column on below line moved on line 2
3 Data5 Data6 Data7
4 Data8 // Second Data of D column on below line moved on line 4.
는 그래서 새로운 2 코드를 상기 제 D를 "2"에 라인을 추가하고 해부 할 붙여 매크로 기록이있다
많은 것은 많은 시간을 거쳐야하므로 루프가 실제로 필요합니다. 내가 예상대로 지금 작동 나던 얼마나 스피하지만
그게 전부를 당신의 도움을 필요로하는 곳에
여기에 루프하지만 스피 스택을 사용하여 시도하고있다. 데이터와 2 차 수정 (작동하지 않는) 코드의 많은Dim x As Integer
Sub Data1()
'
' Data1 Macro
'
'
'
x = 1
Do While x <= 20 ' that i will change as how many columns i have.
ActiveCell.Offset(x, 0).Range("A1:D1").Select
Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
ActiveCell.Offset(x - 2, x + 2).Range("A1").Select
Selection.Cut
ActiveCell.Offset(x, x - 4).Range("A1").Select
ActiveSheet.Paste
x = x + 2 ' if it starts from cell no1 and we have a blank to fill with Data4 or Data8 of D row then we need x+2 i believe and not x+1.
Loop
End Sub
결과 : 사전에
감사합니다.
"그렇지만 이제는 제대로 작동하지 않습니다."더 자세히 설명 할 수 있습니까? 출력은 무엇입니까? – litelite
첫 번째 기록 된 매크로로 나는 이것을 얻는다. https://s32.postimg.org/xqofxu1lh/Work1.png 두 번째로 더 많은 데이터를 배열에 추가하면됩니다. https://s31.postimg.org/c1ffzj4nv/Notwork.png https://s32.postimg.org/5d0qlsvkl/sample.png – foutzos
질문을 수정하여 이미지를 유지하는 대신 추가해야합니다. 덧글 – litelite