2013-07-17 3 views
-2

Im Monching,이 작품을 처음 접했기 때문에 내 Excel vbs 코드를 해결할 수있는 사람이 있습니까? "데이터베이스에 대한 사본에는 해결할 수없는 문제가 있습니다. 항목이 2 cbo에 종속되어 있어야합니다."사용자 양식에 데이터를 입력하면 데이터가 다른 데이터를 덮어 씁니다. 동일한 셀. 사용자 폼에 입력 할 금액이 cboMembers 및 cboMonth에 의존해야합니다. 멤버와 월 중 하나를 선택하면 해당 멤버와 월의 셀에 특정한 항목이 필요합니다. 여기 Excel 2010의 VBA 코드

Private Sub cboMembers_Change() 

End Sub 

Private Sub cboMonth_Change() 

End Sub 

Private Sub cmdCancel_Click() 
' Clear the form 
    For Each ctl In Me.Controls 
     If TypeName(ctl) = "TextBox" Or TypeName(ctl) = "ComboBox" Then 
      ctl.Value = "" 
     ElseIf TypeName(ctl) = "CheckBox" Then 
      ctl.Value = False 
     End If 
    Next ctl 
End Sub 

Private Sub cmdClose_Click() 
    Unload Me 

End Sub 

Private Sub cmdEnter_Click() 
Dim iRow As Long 
Dim ws As Worksheet 
If OptionButton1 Then Set ws = Worksheets("Share") 
If OptionButton2 Then Set ws = Worksheets("Salary") 
If OptionButton3 Then Set ws = Worksheets("Emer") 
If OptionButton4 Then Set ws = Worksheets("Bday") 
If OptionButton5 Then Set ws = Worksheets("Educ") 

On Error Resume Next 

iRow = ws.Cells.Find("*", Range("B2"), xlFormulas, , xlByRows, xlPrevious).Row 
On Error GoTo 0 
iRow = iRow + 0 

' Check user input 
    If Me.cboMembers.Value = "" Then 
     MsgBox "Please choose a Members.", vbExclamation, "UserForm1" 
     Me.cboMembers.SetFocus 
     Exit Sub 
    End If 
    If Me.cboMonth.Value = "" Then 
     MsgBox "Please choose a Month.", vbExclamation, "UserForm1" 
     Me.cboMonth.SetFocus 
     Exit Sub 
    End If 
    If Me.txtAmountPaid.Value = "" Then 
     MsgBox "Please enter an Amount.", vbExclamation, "UserForm1" 
     Me.txtAmountPaid.SetFocus 
     Exit Sub 
    End If 
    If Not IsNumeric(Me.txtAmountPaid.Value) Then 
     MsgBox "The Amount box must contain a number.", vbExclamation, "UserForm1" 
     Me.txtAmountPaid.SetFocus 
     Exit Sub 
    End If 

'copy the data to the database 
    RowCount = Worksheets("Share").Range("B2").CurrentRegion.Rows.Count 
     With Worksheets("Share").Range("B2") 
     .Offset(RowCount, 0).Value = Me.cboMembers.Value 
     .Offset(RowCount, 0).Value = Me.cboMonth.Value 
     .Offset(RowCount, 1).Value = Me.txtAmountPaid.Value 
     End With 

'clear the data 
Me.cboMembers.Value = "" 
Me.cboMonth.Value = "" 
Me.txtAmountPaid.Value = "" 
Me.OptionButton1.Value = "" 
Me.OptionButton2.Value = "" 
Me.OptionButton3.Value = "" 
Me.OptionButton4.Value = "" 
Me.OptionButton5.Value = "" 
End Sub 

Private Sub UserForm_Initialize() 
Dim cmonth As Range 
Dim ws As Worksheet 
Set ws = Worksheets("LookUpEntry") 

For Each cmonth In ws.Range("Month") 
    With Me.cboMonth 
     .AddItem cmonth.Value 
    End With 
Next cmonth 

End Sub 

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) 
If CloseMode = vbFormControlMenu Then 
Cancel = True 
MsgBox "Please Use the Close Button!" 
End If 
End Sub 

내가 회원과 해당 월을 선택할 때, 나는들에서 양을 지불 쓰기의 값을 원하는 내 useform, 회원과 달. 형태가있다 특이 세포. 공유를 선택하면 지불 한 금액의 값이 자동으로 공유 시트에 입력됩니다. F1에서 A4와 F1 달에 회원을 선택하면 지불 한 금액은 F4에 있습니다. 나는 그 코드가 필요하다.

내 양식 A234에

A2 내 회원

입니다 나는 문제가이 부분의 코드에 거짓말 같아요 M1에

B1 내 월

+1

분명 당신이 요구하는지. 구체적인 문제를 명확히하거나 추가 정보를 추가하여 필요한 것을 정확하게 강조하십시오. 현재 작성된 내용이므로 귀하가 원하는 내용을 정확하게 말하기는 어렵습니다. –

+1

질문을 편집하여 처음에 제목을보다 의미있게 만들 수 있습니까? (태그 정보가 전혀 없으며 묻는 질문에는 아무 것도 표시되지 않습니다.) 당신의 질문이 정확히 무엇인지 설명하십시오. 큰 코드 블록 (VBS가 아니라 VBS 임)을 게시하는 것은 실제로 충분하지 않습니다. 나는 실제 질문이 무엇인지 전혀 모른다. 감사. –

답변

0

입니다 :

With Worksheets("Share").Range("B2") 
    .Offset(RowCount, 0).Value = Me.cboMembers.Value 
    .Offset(RowCount, 0).Value = Me.cboMonth.Value 
    .Offset(RowCount, 1).Value = Me.txtAmountPaid.Value 
End With 

당신에게 cboMembers의 값을 (rowCount + 2, 2) 셀에 복사 중입니다. 그런 다음 cboMonth 값을 동일한 셀에 복사합니다. 이전에이 값을 덮어 쓴 cboMembers의 값을 덮어 씁니다.

그것은 당신이 뭘 하려는지 100 % 분명하지만,이 코드는 잘 작동 할 수 있습니다

With Worksheets("Share").Range("B2") 
    .Offset(RowCount, 0).Value = Me.cboMembers.Value 
    .Offset(RowCount, 1).Value = Me.cboMonth.Value 
    .Offset(RowCount, 2).Value = Me.txtAmountPaid.Value 
End With