小编Dar*_*uki的帖子

通过 Excel VBA 保存并关闭 powerpoint

下面的代码根据定义的名称创建多个图表,然后打开具有这些定义的名称的 powerpoint 文件并转储到图表中。除了最后一部分之外,一切都正常:保存并关闭文件。

我已将尝试保存和关闭文件的尝试标记为绿色。任何帮助表示赞赏!

Sub Slide19()
Dim rngx As Range
Dim rngy As Range
Dim rngz As Range

Dim ws As Worksheet
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim icnt As Long
Dim lastrow As Long
Dim k As Long
Dim icounter As Long
Dim a As Long
Dim b As Long
Dim c As Long
Dim d As Variant
Dim Chart As ChartObject
Dim PPapp As Object
Dim PPTDoc As PowerPoint.Presentation
Dim PPT As PowerPoint.Application
Dim PPpres …
Run Code Online (Sandbox Code Playgroud)

excel powerpoint vba

5
推荐指数
2
解决办法
1万
查看次数

宏未打开时自动运行

Private Sub Workbook_Open()
Dim WB As Workbook

Set WB = ActiveWorkbook


WB.Sheets("Automation").Range("U23:W467").Select

Selection.ClearContents

End Sub
Run Code Online (Sandbox Code Playgroud)

从我可以从SO收集的内容,当我打开工作簿时,此代码应自动清除这些单元格中的内容.但事实并非如此.当我进入代码时,一切正常,细胞被清除.

任何帮助表示赞赏!

excel vba excel-vba

4
推荐指数
1
解决办法
101
查看次数

循环显示具有特定名称的工作表

假设我有10个工作表,4个具有非常相似的名称:

1.danger tom
2.danger man
3.danger ten
4.danger lan

我希望我的代码能够找到名称中包含文本字符串危险的所有工作表并执行我的代码

我尝试了以下两个实例:

Public Sub SubName()

Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets

    If ws.Name Like "danger" Then
       *Also tried this version: If ws.Name Like "danger" = True Then*

        Range("A1").Interior.ColorIndex = 37
    End If

Next ws

End Sub 
Run Code Online (Sandbox Code Playgroud)

拿2

Sub WorksheetLoop()

Dim ws  As Worksheet

For Each ws In ActiveWorkbook.Worksheets
    If InStr("danger", ws.Name) > 0 Then
        Range("A1").Interior.ColorIndex = 37
    End If
Next ws

End Sub
Run Code Online (Sandbox Code Playgroud)

第一个代码没有做任何事情,即使没有错误.如果名称与我写下的名称完全匹配,则第二个代码只会执行某些操作.

需要任何帮助.

excel vba excel-vba

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

excel ×3

vba ×3

excel-vba ×2

powerpoint ×1