You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行CreerTableau宏时弹出宏选择窗口的问题求助

解决VBA宏弹出选择窗口的问题

针对你运行CreerTableau宏时弹出宏选择窗口的问题,按以下步骤排查修复:

  • 检查按钮的宏关联
    右键点击Dashboard CIO工作表上的触发按钮,选择「指定宏」,确保选中的是CreerTableau,而非其他宏。若之前关联错误,重新选择后确认保存。

  • 确认宏的作用域与命名
    确保CreerTableau是放在标准模块中的公共过程(如果在工作表/工作簿模块内,需改为Public Sub CreerTableau());同时检查所有模块,避免存在同名或近似名称的宏导致识别冲突。

  • 重建按钮关联
    若原按钮关联损坏,直接删除旧按钮,重新插入表单控件按钮/ActiveX按钮,再重新指定CreerTableau宏。如果是ActiveX按钮,进入设计模式后,设置其Click事件直接调用该宏,不要留空或关联错误过程。

  • 检查代码中的依赖过程
    你的代码中调用了CreerTableauDestination子过程,需确认该过程已存在且无命名问题——如果这个过程缺失或出错,可能导致宏执行中断,触发选择窗口。

  • 清理Excel缓存
    关闭所有Excel文件,重启Excel后重新打开目标工作簿,再尝试运行宏。缓存异常可能导致宏识别出错。

附上你的代码:

Sub CreerTableau()
    Dim wbSource As Workbook
    Dim wsInitiatives As Worksheet, wsEvolutions As Worksheet, wsDashboard As Worksheet
    Dim wbDestination As Workbook
    Dim wsDestination As Worksheet
    Dim lastRow As Long
    Dim rowNum As Long
    Dim feuille As String
    Dim GP As String
    Dim projet As String
    Dim tableRow As Long

    Set wbSource = ThisWorkbook

    ' Spécifie les feuilles source
    Set wsInitiatives = wbSource.Sheets("Initiatives et projets")
    Set wsEvolutions = wbSource.Sheets("Evolutions")

    ' Spécifie la feuille Dashboard CIO (où se trouve le bouton de commande)
    Set wsDashboard = wbSource.Sheets("Dashboard CIO")

    ' Détermine le dernier numéro de ligne dans la colonne de statut de projet des feuilles "Initiatives et projets"
    lastRow = wsInitiatives.Cells(wsInitiatives.Rows.Count, "A").End(xlUp).Row

    tableRow = 2
    For rowNum = 2 To lastRow 
        
        If (wsInitiatives.Cells(rowNum, 1).Value = "Pas commencé" Or wsInitiatives.Cells(rowNum, 1).Value = "En étude de faisabilité") And _
           wsInitiatives.Cells(rowNum, 2).Value <> "" Then
            feuille = "Initiatives et projets"
            GP = wsInitiatives.Cells(rowNum, 4).Value
            projet = wsInitiatives.Cells(rowNum, 5).Value

            CreerTableauDestination feuille, rowNum, GP, projet, tableRow
            tableRow = tableRow + 1
        End If
    Next rowNum
End Sub

内容的提问来源于stack exchange,提问作者Zachary Meziani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 18:43:12