2014-10-06 6 views
-1

Im 전체 newb 여기에 있고 내가 Excel에서 간단한 작업이라고 생각한 것을 달성하려고합니다.열의 연속적인 셀에 특정 데이터를 삽입하는 방법

내가해야 할 일은 "Rakennus"라는 텍스트를 첫 번째 사용 가능한 셀에 삽입하고 시간과 날짜를 다음 두 셀에 삽입하는 것입니다. 나는 이미 시트 1에서 시트 2로 데이터를 복사하는 매크로를 가지고있다.이 새로운 데이터는 시트 2, 컬럼 A에 연속적으로 삽입되어야한다.

Application.Sheets("Taul2").Select.LastRow .Range("A" & Rows.Count) = "Rakennus".End(x1up).Row + 1 
    Application.Sheets("Taul2").Select.LastRow .Range("A" & Rows.Count) = Now.End(x1up).Row + 2 
    Application.Sheets("Taul2").Select.LastRow .Range("A" & Rows.Count) = Date.End(x1up).Row + 3 

내 능력은 매우 제한적이며이 내가 수집하고 수정 한 것입니다, 그냥

평가 통찰력의 모든 종류를 동작하지 않습니다!

답변

0

.End(xlUp)으로 마지막으로 사용한 행을 찾은 후 .Offset(1, 0)을 사용하여 1 행 아래로 이동하여 텍스트 값을 삽입하십시오. 그 작업이 끝나면 비슷한 기술을 사용하여 해당 셀을 찾습니다. 날짜는 .Offset(0, 1)이고 시간은 .Offset(0, 2)입니다.

With Sheets("Taul2") 
    .Cells(Rows.count, 1).End(xlUp).Offset(1, 0) = "Rakennus" 
    .Cells(Rows.count, 1).End(xlUp).Offset(0, 1) = Date 
    .Cells(Rows.count, 1).End(xlUp).Offset(0, 2) = Time 
End With 

3 개의 값이 수직으로 표시되는 경우 원래 오프셋을 계속하면됩니다.

With Sheets("Taul2") 
    .Cells(Rows.count, 1).End(xlUp).Offset(1, 0) = "Rakennus" 
    .Cells(Rows.count, 1).End(xlUp).Offset(1, 0) = Date 
    .Cells(Rows.count, 1).End(xlUp).Offset(1, 0) = Time 
End With 

단일 코드 라인에서 일을 얻을 것 세 가지 값의 배열에 .Transpose(...)와 함께 .Resize(3, 1) 사용.

With Sheets("Taul2") 
    .Cells(Rows.count, 1).End(xlUp).Offset(1, 0).Resize(3, 1) = Application.Transpose(Array("Rakennus", Date, Time)) 
End With 
+0

이것은 매우 통찰력이 있습니다. 감사합니다. 지금은 열에 정보를 추가합니다. 열을 "A"가 아닌 아래쪽으로 따라 올 때 사용합니다. – Jesse

+0

@Jesse - 오프셋 명령은 단순히'.Offset (, )'입니다. 3 개의 값을 세로로 쌓아두기를 원한다면 각각에 대해'.Offset (1, 0)'을 사용하십시오. – Jeeped

관련 문제