Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3357|回复: 9

[已解决]ECEXL保存数据到ACCESS里后自动清空EXCEXL当前数据

[复制链接]
发表于 2013-12-1 14:30 | 显示全部楼层 |阅读模式
求各位大侠帮忙写一个ECEXL保存数据到ACCESS里后自动清空EXCEXL当前数据。
下面附上保存代码。请帮忙添加保存后自动清空代码。谢谢!!!!
Private Sub CommandButton1_Click()
    Dim cnn As New ADODB.Connection
    Dim RST As New ADODB.Recordset
    Dim sq1 As String
    Dim x As Long
    x = [a65536].End(xlUp).Row
    For i = 3 To x
    cnn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.path & "\数据库.mdb"
    sq1 = "select * from 入库单"
    RST.Open sq1, cnn, adOpenKeyset, adLockOptimistic
    RST.AddNew
    RST.Fields("商品代码") = Range("a" & i)
    RST.Fields("商品名称") = Range("b" & i)
    RST.Fields("品牌名称") = Range("c" & i)
    RST.Fields("季节名称") = Range("d" & i)
    RST.Fields("单位") = Range("e" & i)
    RST.Fields("商品年份") = Range("f" & i)
    RST.Fields("XS") = Range("h" & i)
    RST.Fields("S") = Range("i" & i)
    RST.Fields("M") = Range("j" & i)
    RST.Fields("L") = Range("K" & i)
    RST.Fields("XL") = Range("L" & i)
    RST.Fields("XXL") = Range("M" & i)
    RST.Fields("XXXL") = Range("N" & i)
    RST.Fields("入库数量") = Range("O" & i)
    RST.Fields("选定价") = Range("P" & i)
    RST.Fields("选定金额") = Range("Q" & i)
    RST.Fields("备注") = Range("R" & i)
    RST.Update
    cnn.Close
    Set cnn = Nothing
    Next i
    MsgBox "保存成功"
End Sub
最佳答案
2013-12-1 18:16
tuibian_htf 发表于 2013-12-1 15:57
版主啊求求帮帮了!我在等呢!!
  1.     Dim i As Long
  2.     i = Cells(Rows.Count, 1).End(xlUp).Row
  3.     If i >2 Then Range("a3:r" & i).ClearContents
复制代码
QQ截图20131201142356.png
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-12-1 14:35 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2013-12-1 14:47 | 显示全部楼层
hwc2ycy 发表于 2013-12-1 14:35
保存后
activesheet.usedrange.clearcontents

不好意思版主我没说清楚。标题不能清空的。麻烦你帮忙。
回复

使用道具 举报

 楼主| 发表于 2013-12-1 15:57 | 显示全部楼层
hwc2ycy 发表于 2013-12-1 14:35
保存后
activesheet.usedrange.clearcontents

版主啊求求帮帮了!我在等呢!!
回复

使用道具 举报

发表于 2013-12-1 18:16 | 显示全部楼层    本楼为最佳答案   
tuibian_htf 发表于 2013-12-1 15:57
版主啊求求帮帮了!我在等呢!!
  1.     Dim i As Long
  2.     i = Cells(Rows.Count, 1).End(xlUp).Row
  3.     If i >2 Then Range("a3:r" & i).ClearContents
复制代码
回复

使用道具 举报

发表于 2013-12-1 18:18 | 显示全部楼层
用这一句更简洁,不需要判断。
  1. ActiveSheet.UsedRange.Offset(2).ClearContents
复制代码
回复

使用道具 举报

 楼主| 发表于 2013-12-1 22:30 | 显示全部楼层
hwc2ycy 发表于 2013-12-1 18:16

谢谢版主
回复

使用道具 举报

 楼主| 发表于 2013-12-1 22:39 | 显示全部楼层
tuibian_htf 发表于 2013-12-1 22:30
谢谢版主

版主为什么就保存1行的数据啊我要保存多行的
回复

使用道具 举报

发表于 2013-12-1 23:08 | 显示全部楼层
tuibian_htf 发表于 2013-12-1 22:39
版主为什么就保存1行的数据啊我要保存多行的

你是不是循环一次后就运行清空的代码了?


回复

使用道具 举报

 楼主| 发表于 2013-12-2 09:48 | 显示全部楼层
版主早上好!感谢你昨天给我的清空代码,我想要的是在我原来的那个代码里加入清空代码,意思就是我点保存按钮后也就清空数据同时数据也保存到数据库里了。我后来想了你给我的代码是单独一个按钮的。希望版主再次帮忙一下下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 07:27 , Processed in 0.313485 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表