请原谅我,如果我为此工作太过无聊,甚至没有任何意义。我正在为自己和我的一个朋友制作数据库。 (这些将是两个不合并的数据库。)我不是从头开始,所以这可能是我的一个问题。我正在使用我的工作时间表(不要担心,它只是一份副本)来学习/测试"我想用VBA做什么。基本上我想要做的是获取单元格的信息(值?)" A3:D3" &安培; " E2"并将这些值放入相应的列中。但我不希望它在下一个单元格中过度纠正代码。这就是我放入第10行和第11行的原因。它仍然不喜欢它。
另外,我想知道我是否可以得到这方面的帮助......如果信息可能是日期敏感的?即你在今天的小时输入,并记住你忘了记录昨天的小时,所以你输入日期在" DateToday"或A3框,它将信息记录在专用于该日期的行中,或者您跳过两天的工作并将日期放入,VBA会跳过两行?
这两个不同的要求吗?要么可能吗?任何帮助深表感谢!!提前谢谢!
Private Sub CommandButton1_Click()
Dim DateToday As Date, TimeIn As Integer, LunchLength As Integer, TimeOut As Integer, HoursToday As Integer
Worksheets("sheet1").Select
DateToday = Range("A3")
TimeIn = Range("B3")
LunchLength = Range("C3")
TimeOut = Range("D3")
HoursToday = Range("E2")
Worksheets("sheet1").Range("A141").Select
If Worksheets("sheet1").Range("A141").Offset(1, 0) <> "" Then
Worksheets("sheet1").Range("A141").End(x1Down).Select
End If
ActiveCell.Value = TimeIn
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = LunchLength
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = TimeOut
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = HoursToday
Worksheets("sheet1").Range("B2:D2").ClearContents
ThisWorkbook.Save
Worksheets("sheet1").Range("B2").Select
End Sub
最后一节&#34; Worksheets("sheet1").Range("B2").Select
&#34;更适合我的第二个项目,但对此也很好。除了我和我的朋友将输入部件号,定义,部件条件和其他内容之外,第二个项目将非常类似于此项目。再一次,非常感谢任何帮助!
答案 0 :(得分:0)
未测试:
Private Sub CommandButton1_Click()
Dim DateToday As Date, TimeIn As Integer, LunchLength As Integer
Dim TimeOut As Integer, HoursToday As Integer, sht as WorkSheet
Set sht = ThisWorkbook.Worksheets("sheet1")
DateToday = sht.Range("A3")
TimeIn = sht.Range("B3")
LunchLength = sht.Range("C3")
TimeOut = sht.Range("D3")
HoursToday = sht.Range("E2")
With sht.Cells(Rows.Count,1).End(xlUp).Offset(1,0).EntireRow
.Cells(1).Value = TimeIn
.Cells(2).Value = LunchLength
.Cells(3).Value = TimeOut
.Cells(4).Value = HoursToday
End With
sht.Range("B2:D2").ClearContents
ThisWorkbook.Save
sht.Range("B2").Select
End Sub
注意:通常在VBA工作时no need to Select
anything。