运行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
相关产品推荐
相关产品推荐

