㈠ excel 自动更新记录VBA
在工程资源管理器中双击“操作表”单元格,然后粘贴下列代码进去
DimDumpData(1To10,1To6)AsInteger
PrivateSubWorksheet_Change(ByValTargetAsRange)
DimLogShtAsWorksheet,iRowAsInteger,iColumnAsInteger,TrgColmnAsInteger,jAsInteger
TrgColmn=Target.Column
IfTrgColmn<9OrTrgColmn>14ThenExitSub
SetLogSht=Worksheets("日志")
iColumn=4*(TrgColmn-9)+1
DimiAsInteger
i=3
Do
IfLogSht.Cells(i,iColumn)=""ThenExitDo
i=i+1
LoopUntilFalse
LogSht.Cells(i,iColumn)=Now
LogSht.Cells(i,iColumn+1)=DumpData(Target.Row-4,TrgColmn-8)
LogSht.Cells(i,iColumn+2)=Target.Text
LogSht.Cells(i,iColumn+3)=Target.Address
Fori=1To10
Forj=1To6
DumpData(i,j)=Cells(i+4,j+1)
Next
Next
EndSub
第一次变动修改前会出现数据缺失,需人工干预调整
㈡ 如何在EXCEL中,用VBA实现数据自动更新到ACCESS中
以下是我用了实现从Excel导数据进ACCESS的代码,你参考一下,应该就可以做出来了:(Excel和Access两个文件放一个文件夹下)
Public Sub 客户正常供价批量维护()
If Cells(4, 6) = "" Then
MsgBox "请先选择需要维护价格的系统!", vbInformation
Cells(4, 6).Select
Exit Sub
Else
Dim i As Integer, j As Integer, k As Integer, sht As Worksheet 'i,j,k为整数变量;sht 为excel工作表对象变量,指向某一工作表
Dim cn As New ADODB.Connection '定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用
Dim rs As New ADODB.Recordset '定义记录集对象,保存数据表
Dim strCn As String, strSQL As String '字符串变量
Dim mdbFile As String
On Error GoTo add_err
mdbFile = ActiveWorkbook.Path & "\DY_DATA.mdb"
strCn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdbFile '定义数据库链接字符串
cn.Open strCn '与数据库建立连接,如果成功,返回连接对象cn
Set rs = New ADODB.Recordset
rs.Open "dbl直营客户正常供价表", cn, adOpenKeyset, adLockOptimistic
k = Cells(4, 8) + 8
For i = 9 To k
If Cells(i, 7) = "" Then
Else
rs.AddNew
rs(1) = Cells(i, 2)
rs(2) = Cells(i, 7)
rs(3) = Cells(i, 8)
rs.Update
Cells(i, 7) = ""
Cells(i, 8) = ""
End If
Next
MsgBox "数据记录添加成功!", vbInformation
Cells(4, 6).Select
ActiveWorkbook.RefreshAll
add_exit:
Exit Sub
End If
add_err:
MsgBox Err() & vbCrLf & Error()
Resume add_exit
End Sub
㈢ VBA自动更新票据号
这个不建议写入到代码,如果要写入到代码,那么,应该写入到工作表的激活事件中,或者写入到工作薄的开启事件中。
如此规律的编号,建议使用函数自动编号。
但又不知道你的入库记录中哪一列是记录这个编号的,所以也不好作答。
参考:
=IF(COUNTIF(A:A,"№:L2016*")=0,"№:L2016000001","№:L2016"&TEXT(MAX(VALUE(RIGHT(A:A,6)))+1,"000000"))
注意:1、上述公式没有附件工作表名的引用;
2、上述公式是假设你的入库明细表的A列为编号列。
㈣ 求 EXCEL 自动获取全部股票近几天的收盘价的 VBA程序
我只会从安装的本地文件下载的数据中获得数据转化成Excel的表格。
㈤ 怎么利用vba获取财经网上股票股价的实时数据
你愿意出钱吗,愿意出钱的话我可以帮你写
㈥ 在Excel中如何用VBA代码实现秒的实时动态更新
在A1输入
=NOW()
设置单元格格式,定义为你要的格式。
同时按Alt和F11进入宏界面,双击左上窗口的ThisWorkbook,在右边输入
Private Sub Workbook_Open()
abc
End Sub
再点菜单的插入,模块,粘贴如下代码:
Sub abc()
Application.OnTime Now + 1 / 24 / 3600, "abc"
Sheets("Sheet1").Range("A1").Calculate
End Sub
存盘退出(如果是2007版以上得另存为可以启动宏的工作簿),再打开就可以了。
㈦ Excel VBA 自动刷新问题!请高手指教!
你说的是公式的自动重算吧?
可以在工具--选项--公式 把手工计算改成自动重算,就不用按F9了
VBA中的语句如下:
手工计算
With Application
.Calculation = xlManual
.MaxChange = 0.001
End With
自动重算:
With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
㈧ Excel 中 VBA自动更新的方法
那就用VBA在他们打开EXCEL时设置个检测更新的宏,通过OPEN语句打开然后对比。是否可以?
自动宏
㈨ excel股票自动刷新,VBA代码如何写啊
我测试了下发现是鼠标放上去悬停才能触发刷新数据的动作。。。
sheet1里写:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
宏2
End Sub
模块1里写:
Sub 宏2()
'
' 宏2 宏
ActiveWorkbook.RefreshAll
If Sheet1.[G1] <> "停止刷新" Then Application.OnTime (Now + TimeSerial(0, 0, 2)), "宏2"
End Sub
亲测OK。
TimeSerial(0, 0, 2) 里面的2就是每2秒刷新一次,可以改成你想要的数值。
这个是我录制宏,再稍微修改下,几分钟完成的。
㈩ EXCEL如何用VBA自动获取每个股票近几天的涨幅
一般网页上的数据都可以通过VBA进行抓取,应用得好,可以实现对很很多资料的动态监测。
涨幅就是指目前这只股票的上涨幅度。
涨幅的计算公式:涨幅=(现价-上一个交易日收盘价)/上一个交易日收盘价*100%
例如:某只股票价格上一个交易日收盘价100,次日现价为110.01,就是股价涨幅为(110.01-100 )/100*100%=10.01%.一般对于股票来说 就是涨停了!如果涨幅为0则表示今天没涨没跌,价格和前一个交易日持平。如果涨幅为负则称为跌幅。
比如:一支股票的涨幅是:10%、-5%等 。