2013-03-13 6 views
0

필드의 데이터를 A, B 및 C 열로 전송할 사용자 정의 폼이 있지만 사용자가 전송할 때마다 다음 빈 행을 채워야합니다. Excel에서 셀 행 증분

내가 지금까지 무엇을, 나는

Private Sub Submit_Click() 
    Dim LastRow As Object 

    Set LastRow = Sheet1.Range("a65536").End(xlUp) 

    Sheet1.Range("A2").Value = MatchNum.Text 
    Sheet1.Range("B2").Value = TeamNum.Text 
    Sheet1.Range("C2").Value = AllianceTeamNum.Text 

    MsgBox "One record written to Sheet1" 

End Sub 
등, 나는 그것이 A3/B3/C3에/B2/C2 A2에서 갈 것이라고, 그래서 그것을 만들 넣어 될지 몰라

저는 Visual Basic (경험치 약 1 시간)으로 완전한 초보자입니다. 솔루션이 가능한 한 간단하면 좋을 것입니다. 어떤 도움을 많이 주시면 감사하겠습니다!

+0

현재 코드에 최소한의 변화를 포함하는이 솔루션은 어떻게 든 잘 생긴'LastRow' 객체를 사용하게 될 것으로 보인다 ; 현재 일부 메모리에 매달리는 것 이외에는 많이 사용되고 있지 않습니다. 채워지는 세 가지 범위에'LastRow'를 포함 시키려고 했습니까? – bernie

+0

역순으로 레코드가 마음에 들지 않으면 상단에 레코드를 삽입하면됩니다. 어떤 행을 쓸 것인지를 저장합니다. 아마 바닥에 그것을 추가하는 것만 큼 빠르지 않을 것입니다. – NickSlash

답변

3

시도 코드 아래 :

Private Sub Submit_Click() 
    With Sheet1 
     .Select 

     Dim LastRow As Long 
     LastRow = .Range("A65536").End(xlUp).Row + 1 

     .Range("A" & LastRow).Value = MatchNum.Text 
     .Range("B" & LastRow).Value = TeamNum.Text 
     .Range("C" & LastRow).Value = AllianceTeamNum.Text 

    End With 
    MsgBox "One record written to Sheet1" 

End Sub 
-1

이 시도 :

Dim start As Integer 

Private Sub CommandButton1_Click() 

    Dim LastRow As Object 

    Set LastRow = Sheet1.Range("a65536").End(xlUp) 

    Sheet1.Range("A" & start).Value = "a" 
    Sheet1.Range("B" & start).Value = "b" 
    Sheet1.Range("C" & start).Value = "c" 

    MsgBox "One record written to Sheet1" 

    start = start + 1 

End Sub 

Private Sub UserForm_Initialize() 
    start = 2 
End Sub 
+0

이 질문은 "빈 행"부분을 어떻게 처리합니까? –