2016-12-15 34 views
1

VBAおよび一般的なコーディングの新機能です。現在、マルチタブからブックに日付を転送しようとしていますが、実行時エラー424 :。。。オブジェクトに必要なVBAのExcelエラー "実行時エラー '424':オブジェクトが必要です

Dim sheetname As String 

Private Sub CommandButton2_Click() 
Dim LastRow As Long 
Dim sheetname As String 
Select Case MultiPage1.Value 
    Case 0`sheetname = "Hannah" 
    Sheets(sheetname).Select 
    LastRow = Range("A" & Rows.Count).End(xlUp).Row 
    Range("A1").Select`enter code here` 
    Selection.End(xlDown).Offset(1, 0).Select 
    ActiveCell.Value = Date 
    ActiveCell.Offset(0, 1).Value = Me.RequestorHR.Value 
    ActiveCell.Offset(0, 2).Value = Me.CaseHR.Value 
    ActiveCell.Offset(0, 3).Value = Me.TypeHR.Value 
    ActiveCell.Offset(0, 4).Value = Me.UrgencyHR.Value 
    ActiveCell.Offset(0, 5).Value = Me.ReasonsHR.Value 
    ActiveCell.Offset(0, 6).Value = Me.DeadlineHR.Value 
    Clear_Click 
    Case 1 
    sheetname = "John" 
    Sheets(sheetname).Select 
    LastRow = Range("A" & Rows.Count).End(xlUp).Row 
    Range("A1").Select 
    Selection.End(xlDown).Offset(1, 0).Select 
    ActiveCell.Value = Date 
    ActiveCell.Offset(0, 1).Value = Me.RequestorJM.Value 
    ActiveCell.Offset(0, 2).Value = Me.CaseJM.Value 
    ActiveCell.Offset(0, 3).Value = Me.TypeJM.Value 
    ActiveCell.Offset(0, 4).Value = Me.UrgencyJM.Value 
    ActiveCell.Offset(0, 5).Value = Me.ReasonsJM.Value 
    ActiveCell.Offset(0, 6).Value = Me.DeadlineJM.Value 
    Clear_Click 
+0

どのラインでエラーが発生していますか? – Rdster

+0

これはちょうどタイプミスですか? 'Case 0 \' sheetname = "Hannah" '? – SJR

+0

「 '」を取り除いて「:」で置き換えるか、ケース0の下でsheetname = "Hannah"を追加する必要があります。 – Ricky

答えて

0

を助けてください、私はあなたがするたびに値(仮定)すべてのテキストボックスを再入力維持する必要はありませんので、私は配列を追加し、私はことを願っていますが、あまり繰り返しコードを持っているので、下にいくつかの提案をしましたあなたが私に知らせてもらえれば、私はそれを修正することができます。

私はそれを修正することができます。ワークシートまたはモジュールで

' StartUpPosition > Manual 
Private Sub UserForm_Initialize() 
With Me 
    .Top = Int(((Application.Height/2) + Application.Top) - (.Height/2)) 
    .Left = Int(((Application.Width/2) + Application.Left) - (.Width/2)) 
End With 
End sub 

コード::ユーザーフォームのコードで

Private Sub CommandButton2_Click() 
    Dim LastRow As Long 
    Dim sheetname As String 
    Dim strList() As Variant 
    Dim i As Integer 

    strList = Array(, Me.RequestorHR.Value, Me.CaseHR.Value, Me.TypeHR.Value, _ 
        Me.UrgencyHR.Value, Me.ReasonsHR.Value, Me.DeadlineHR.Value) 

    Select Case MultiPage1.Value 

    Case 0 

    sheetname = "Hannah" 

    Sheets(sheetname).Select 

    LastRow = Sheets(sheetname).Range("A" & Rows.Count).End(xlUp).Row 

    Sheets(sheetname).Range("A1").End(xlDown).Offset(1, 0).Value = Date 

    For i = 1 To 6 
     With Sheets(sheetname) 
      .ActiveCell.Offset(0, i).Value = strList(i) 
     End With 
    Next i 

    Clear_Click 

    Case 1 

    sheetname = "John" 

    Sheets(sheetname).Select 

    LastRow = Sheets(sheetname).Range("A" & Rows.Count).End(xlUp).Row 

    Sheets(sheetname).Range("A1").End(xlDown).Offset(1, 0).Value = Date 

    For i = 1 To 6 
     With Sheets(sheetname) 
      .ActiveCell.Offset(0, i).Value = strList(i) 
     End With 
    Next i 

    Clear_Click 

Sub Open_Userform 
    UserForm1.Show False 
End sub 

素晴らしい一日を!

+0

ケース= 0あなたの問題でもあります – Ricky

+0

"コンパイルエラー:Subまたは関数が定義されていません"と表示されても、エラーが発生しました。最初の行は「Private Sub CommandButton2_Click()」と「Clear_Click」(0)の下に表示されています – Tquiroz

+0

どうすればよいですか? ...それは配列を追加するのですか? – Tquiroz

関連する問題