excel VBA高手请进,关于让表格自动刷新的问题~

2024-05-19 03:17

1. excel VBA高手请进,关于让表格自动刷新的问题~

可以用worksheet_change事件,把代码复制到你要操作的sheet,不是放在单独模块里面
重点是要注意先屏蔽worksheet_change对宏内事件的相应
你试试看,可以追问
Private Sub Worksheet_Change()
Application.EnableEvents = False '屏蔽事件响应
'此处加入你的代码
Application.EnableEvents = True '恢复事件响应

End Sub

excel VBA高手请进,关于让表格自动刷新的问题~

2. excel VBA高手请进,关于让表格自动刷新的问题?

Private Sub Workbook_BeforePrint(Cancel As Boolean) 改为 Private Sub Workbook_Open() 就好了 ================ 然后 这段程序 还是保留, 就是要有2段 程序 Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim xStr As String xStr = Right(Sheets("单据").Range("P4"), 11) If Left(xStr, 8) = Format(Date, "yyyymmdd") Then xStr = Format(Date, "yyyymmdd") & Application.Text(Right(xStr, 3) + 1, "000") Else xStr = Format(Date, "yyyymmdd") & "001" End If Sheets("单据").Range("P4") = xStr End Sub

3. excel vba 自动刷新网页数据,监视单元格内容达到特定值

比如 你想 把 sheet1 中A1 单元格 复制给 X变量 那么
X = sheets("sheet1").range("a1")
比如你又要把 某个 运算结果 的变量值 Y 复制给 sheet1的 A1 那么:
sheets("sheet1").range("a1")=Y

excel vba 自动刷新网页数据,监视单元格内容达到特定值

4. Excel随机数,指定条件自动刷新问题,求高手赐教

这个随机的数据的大小没有要求?下面以F列为100~999随机数值为例: (测试通过)

按ALT+F11后,将以下内容复制进去,再点运行宏运行GetRnd,即可

Sub GetRnd()
Randomize
For i = 1 To 150
    Do
        temp = Int(Rnd() * 899) + 100
        If temp  Cells(i, 3) Then
            Exit Do
        End If
    Loop
    
    Cells(i, 5) = temp
Next i
End Sub

5. excel方面自动刷新保存的问题。如下描述,请高手指教~

你的情况就是把Ecxle里的表当做一个数据库了,
如果你只是存储可以每一次都整个覆盖数据表就行了
如果你要读取就必须打开Excle才可以

excel方面自动刷新保存的问题。如下描述,请高手指教~

6. 求excel vba代码,打开工作表依据条件自动执行宏的代码二

Private Sub Workbook_Open()Dim sPath$, sFile$sPath = ThisWorkbook.PathsFile = ThisWorkbook.NameIf (GetAttr(sPath & "\" & sFile) And vbReadOnly) = 1 Then Application.QuitIf Right("" & Minute(Now()), 1) = "5" Then    Call X    ThisWorkbook.RemovePersonalInformation = False    ThisWorkbook.Save    ThisWorkbook.RemovePersonalInformation = True    ThisWorkbook.Saved = True    ThisWorkbook.CloseEnd IfEnd Sub不知道ReadOnly和5分钟时是退出整个Excel还是关闭这个文件,暂时设置为readonly时退出而5分钟时则简单关闭
附件可参考

7. 在excel中如何使用VBA插入一个按钮,使其点击按钮实现在表格中单元格输入的功能,即刷新数据

永远都是弄到  查询表的   E1?
Sub AA()
[AA1] = [AA1] + 1
MsgBox "第:" & [AA1] & "次"
Sheets("查询").[E1] = Cells([D1], "a")
End Sub

在excel中如何使用VBA插入一个按钮,使其点击按钮实现在表格中单元格输入的功能,即刷新数据

8. excel中,用VBA,如何根据条件,将已经存在的另一个工作表数据自动调出

试一下这一个 
不过我有个疑问:工作表2的A2中的字段是名称,为什么要在里面输入编号来查找 
sheet2中的结果数据从和第三行开始输出。 
一定要将以下代码复制到sheet2的代码窗口才行,不明白的地方可以继续问我。 
Private Sub Worksheet_Change(ByVal Target As Range) 
j = 3 
For i = 2 To 100 '假设表一的数据有100行 
If Sheet1.Cells(i, 1) = Sheet2.Cells(2, 2) Then 
Sheet2.Cells(j, 2) = Sheet1.Cells(i, 2) 
Sheet2.Cells(j, 3) = Sheet1.Cells(i, 3) 
j = j + 1 
End If 
Next i 
End Sub
补充:
更新会很慢不知道是什么原因,计算速度应该是是很快的,除非你的表格超大。在我这儿是没有问题;按说不会出现两次的结果相加的情况。可用以下语句先清空表格:
i=3
do until sheet2.cells(i,1)=""
for k=1 to 3
sheet2.cells(i,k)=""
next k
i=i+1
loop
将代码放在j=3的上面