㈠ 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%等 。