2017-01-04 4 views
1

Excelで毎日実行できる作業用の基本タイムカードを作成しました。私は助けを求めている2つの問題に走っています。Excel VBAタイムカード - クロックアウト機能のクロックでエラーが発生しました

  1. 私が作成したVBAは、動作させるために空白の間に「フィラー」が必要なようです。 IEの空白、フィラーデータ、空白、フィラーデータなど。それ以外の場合は、マクロボタンの実行時に初期化されません。これを行うための良い方法があるのでしょうか、これを引き起こしているコードにエラーがありますか?
  2. このコードを変更して、H1からH21の代わりに特定の範囲を許可することができますか?私は簡単な印刷のために実際のタイムカードを移動したいと思います。

Sub ClockInClockOut() 

'This code looks for empty cells in the range H1:H21 
'and allows the user to clock-in and clock-out. 
'It looks at cells one by one and enters time stamp. 

    Dim sourceCol As Integer, rowCount As Integer, currentRow As Integer 
    Dim currentRowValue As String 

    sourceCol = 8 'column H has a value of 8 
    rowCount = Cells(Rows.Count, sourceCol).End(xlUp).Row 

    'for every row, find the first blank cell and select it 
    For currentRow = 1 To rowCount 
     currentRowValue = Cells(currentRow, sourceCol).Value 
     If IsEmpty(currentRowValue) Or currentRowValue = "" Then 
      Cells(currentRow, sourceCol).Select 
      Exit For 

     End If 

    Next 

    ActiveCell.FormulaR1C1 = "=NOW()" 
    Selection.NumberFormat = "[$-en-US]mm/dd/yyyy hh:mm AM/PM;@" 
    Selection.Copy 
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
     :=False, Transpose:=False 
    Application.CutCopyMode = False 

End Sub 
+0

を働くかもしれあなたがH1で最初の空のセル画を見つけたいように見えます:H21そしてそれを現在のタイムスタンプで埋める。あなたがしたいことがあれば、コードは正常に実行されます – nightcrawler23

+0

私は唯一の問題は、col Hの最後の行が21でないことです。コードは基本的に1と最後の空でないセルの間の空のセルを探します。 – nightcrawler23

+0

こんにちはnc23、私はsourceColumnを変更し、代わりに範囲を使用することができますかと思います。コードは機能しますが、私が意図したとおりではありません。私はそのソースを現在のプレースホルダーとして使っていました。また、空白のセルの間に何かの必要性を取り除きたいのですが、なぜそれが必要なのか分かりません。ありがとう! – Mike

答えて

0

あなたは、具体的範囲H1を見ている場合:H21、コードの下にあなたのコードから

Sub ClockInClockOut2() 
    Dim c As Range 
    For Each c In Range("myTimestamps") 
     If IsEmpty(c) Or c.Value = "" Then 
      With c 
       .Value = Now() 
       .NumberFormat = "[$-en-US]mm/dd/yyyy hh:mm AM/PM;@" 
       Exit For 
      End With 
     End If 
    Next c 
End Sub 
関連する問題