2013-09-04 2 views
1

다음 예제에 대한 해결책을 찾고 있습니다. 321 개의 임의 길이의 스프레드 시트를 보내는 고객이 있습니다. 2 행에는 상점 번호가 있습니다. 각 열에는 다른 상점 번호가 있습니다. 각 열 사이에 빈 열을 삽입 한 다음 새 열의 셀 번호와 동일한 길이의 저장소 번호를 복사해야합니다.이전 열의 VBA 수

나는 열을 추가하려면 다음을 사용 :

Sub InsertColumns() 
Dim J As Integer, k As Integer 
    J = Range("A1").End(xlToRight).Column 
'j is the last column 
For k = J To 2 Step -1 
Range(Cells(1, k), Cells(1, k)).EntireColumn.Insert 
Next k 
난 그냥, 이전 열의 데이터에 기반을 계산 이전 저장소에서 값을 복사하고 열이 붙여 넣기위한 코드가 필요

이전 열의 행 수를 기반으로합니다.

감사합니다. 조

+0

나는 당신이 묻고 있다고 생각했던 것을 바탕으로 내 대답을 썼지 만, 나는 tigeravatar가 그것을 다르게 이해한다는 것을 알았습니다. 우리 중 어느 누구도 당신이 찾고있는 것을 생산하지 않는다면 간단한 "전후"데이터 샘플을 포함하도록 게시물을 편집 할 수 있습니까? – techturtle

+0

예, @techturtle이 바로 그 직후 게시했습니다. 몇 가지 설명이 순서대로있는 것 같습니다. – tigeravatar

답변

0
Sub tgr() 

    Dim cIndex As Long 

    For cIndex = Cells(2, Columns.Count).End(xlToLeft).Column To 2 Step -1 
     Columns(cIndex + 1).Insert 
     Range(Cells(1, cIndex + 1), Cells(Rows.Count, cIndex).End(xlUp).Offset(, 1)).Value = Cells(2, cIndex).Value 
    Next cIndex 

End Sub 
+0

그 덕분에, 고마워! –

0

를 추가해보십시오 방금 당신의 게시 된 코드 블록 아래에 다음

기본적으로
Range(Cells(2, 1), Cells(2, (J * 2))).Copy 
Range("B2").Select 
ActiveSheet.PasteSpecial Format:=1, Link:=1, DisplayAsIcon:=True, IconFileName:=False 

을 복사하면 추가 공백에 대한 계정 데이터 (이전 계산 열 시간이이 시점까지 두 번째 행), 첫 번째 빈 셀을 선택한 다음 "공백 건너 뛰기"속성이 켜져있는 선택하여 붙여 넣기를 수행합니다.

+0

작동하지만 값을 열의 첫 번째 셀에만 복사합니다. 내가 찾고 있던 첫 번째 열 (A3 : lastrow)의 셀 수를 계산할 수있는 방법이었고, A2의 값을 새 열의 동일한 수의 셀에 붙여 넣습니다. 그것이 내가 어리석은 곳입니다. –

+0

그래, 그게 니가 니가 생각했던 것 (* "이전 상점에서 값을 복사하기"*)을 기반으로 한 의도 였어. 그것이 우리가 더 많은 설명을 요구 한 이유이지만, tigeravatar의 버전이 당신을 위해 일한 것처럼 보입니다. – techturtle

관련 문제