2016-10-03 7 views
-4
Private Sub CommandButton1_Click() 

RowCount = Worksheets("sheet1").Range("A1").CurrentRegion.Rows.Count 
With Worksheets("sheet1").Range("A1") 

.Offset(RowCount, 1).Value = Me.TextBox1.Value 
.Offset(RowCount, 2).Value = Me.TextBox2.Value 

If TextBox1.Text & TextBox2.Text = "" Then 
Unload Me 
UserForm1.Show 
Else 

.Offset(RowCount, 3).Value = Format(Now, "dd/mmm/yyyy hh:mm") 

End If 
End With 
End Sub 

THIS Excelシートをご確認ください: enter image description hereVBA SERIAL NUMBER

私は私が私の各エントリのシリアル番号を必要とするユーザーフォームにデータを入力していますが。

エントリ

enter image description here

画像記述私は自分のCommandButton1のために、このコードを使用します。

Private Sub CommandButton1_Click() 
    RowCount = Worksheets("sheet1").Range("A1").CurrentRegion.Rows.Count 
    With Worksheets("sheet1").Range("A1") 
     .Offset(RowCount, 1).Value = Me.TextBox1.Value 
     .Offset(RowCount, 2).Value = Me.TextBox2.Value 
     If TextBox1.Text & TextBox2.Text = "" Then 
      Unload Me 
      UserForm1.Show 
     Else 
      .Offset(RowCount, 3).Value = Format(Now, "dd/mmm/yyyy hh:mm") 
     End If 
    End With 
End Sub 
+0

私のCommandButton1ます。Private Sub CommandButton1_Click() 行カウント=ワークシート( "シート1")のために、このコードを使用します。範囲( "A1")。ワークシートでCurrentRegion.Rows.Count ( "シート1")。範囲( "A1 「) .Offset(行カウント、1).Valueの= Me.TextBox1.Value .Offset(行カウント、2).Valueの= Me.TextBox2.Value TextBox1.Text&TextBox2.Text IF = "そして" ミーアンエルス UserForm1.Show .Offset(行カウント、3).Valueの=フォーマット(現在、 "ddは/ MMM/YYYY HH:MM") END IF E nd With End Sub – shabin

+0

あなたの質問をその情報で更新すれば、より良い応答を得ることができます。 – User632716

答えて

0

私はシリアル番号がないと思います。 vbaに格納されている固有の#です。

あなたができることは名前付き範囲があり、その中に最初の列がシリアル#であることです。この名前付き範囲の最初の行にダミーの値「1」を挿入します。

フォームを開くときに、この数字を+1します。ユーザーがボタンを押すと、名前付き範囲に保存されます。彼は、フォームを開く

次回は、ロードExcelの日付&時間でシリアル#2

1

を持っています範囲の最後の行は、シリアル番号の形式で保存されています。

dim id as double 
id = Int(CDbl(Now) * 100000) 

正確なIDが必要な場合は、100000で0を増やしてください。

+0

あなたは複製できません – shabin

+0

あなたは重複した番号を取得しましたか? –