求Excel表格中VBA代码

1、从第三行开始,先判断A列有无数据,有,保留A列内的数据;没有,在G列有输入数据数据时,对应的A列将显示上面单元格的数据。如G3中有数据A3=A2,如G4中有数据,A4=A3。
2、A列的公式:A3=IF(G3="","",A2)
3、代码要具有通用性,同时要经得起删除、清除,插入等我
4,、我要的是像公式那样的自动计算

第1个回答  2011-05-14
Private Sub Worksheet_Change(ByVal Target As Range)
dim r&
if target.row>2 and target.column=1 and target.row mod 2=1 then
r=range("g65536").end(xlup).row+1
if cells(r,7)<> "" then
cells(r,1)=cells(r-1,1)
end if
end if
end sub
也就是说在单数行输入时,双数行判断G列
具体看您的要求。
[email protected]本回答被提问者采纳
第2个回答  2011-05-14
根据前人的代码改了一下:这个自动触发的代码不用加在你原有代码中
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range
For Each cel In Target

If cel.Column Mod 2 = 1 And cel.Column > 10 Then '当输入内容的单元格大于J列,且为奇数列时后一单元格写时间
If cel = "" Then
cel.Offset(0, 1).Clear
Else
If cel.Offset(0, 1) = "" Then cel.Offset(0, 1) = Date & " " & Time
End If
End If
Next cel
End Sub
第3个回答  2011-05-14
if里面嵌套isblank函数。然后继续嵌套if函数。。
第4个回答  2011-05-14
只是G、A两列的问题吗,其它不影响?
输入G4,A4就出现公式,删除G4,A4的公式自动删除?
存在G4,A4的修改无效?
……