<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>VBA &#8211; mylogs.cn</title>
	<atom:link href="https://mylogs.cn/tag/vba/feed/" rel="self" type="application/rss+xml" />
	<link>https://mylogs.cn</link>
	<description>发现、记录、分享</description>
	<lastBuildDate>Tue, 04 Aug 2026 20:17:54 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>等了一年没等来，他自己给 Excel 加了这功能</title>
		<link>https://mylogs.cn/excel-vba-auto-refresh-pivottables/</link>
					<comments>https://mylogs.cn/excel-vba-auto-refresh-pivottables/#respond</comments>
		
		<dc:creator><![CDATA[steve, zhang]]></dc:creator>
		<pubDate>Tue, 04 Aug 2026 20:17:39 +0000</pubDate>
				<category><![CDATA[科技]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[使用技巧]]></category>
		<category><![CDATA[办公效率]]></category>
		<category><![CDATA[数据透视表]]></category>
		<category><![CDATA[自动化]]></category>
		<guid isPermaLink="false">https://mylogs.cn/excel-vba-auto-refresh-pivottables/</guid>

					<description><![CDATA[如果你做过 Excel 报表，多半栽过同一个跟头：数字看着挺像回事，交上去才发现背后的数据透视表压根没刷新。  [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">如果你做过 Excel 报表，多半栽过同一个跟头：数字看着挺像回事，交上去才发现背后的数据透视表压根没刷新。</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a743fa233223&quot;}" data-wp-interactive="core/image" data-wp-key="6a743fa233223" class="wp-block-image size-large aligncenter wp-lightbox-container"><img fetchpriority="high" decoding="async" width="1600" height="900" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://mylogs.cn/wp-content/uploads/2026/08/aa8b7c19a308278635b5c0ed82b3a5d7_header.webp" alt="等了一年没等来，他自己给 Excel 加了这功能" class="wp-image-3577" style="max-width:100%;height:auto;" srcset="https://mylogs.cn/wp-content/uploads/2026/08/aa8b7c19a308278635b5c0ed82b3a5d7_header.webp 1600w, https://mylogs.cn/wp-content/uploads/2026/08/aa8b7c19a308278635b5c0ed82b3a5d7_header-300x169.webp 300w, https://mylogs.cn/wp-content/uploads/2026/08/aa8b7c19a308278635b5c0ed82b3a5d7_header-1024x576.webp 1024w, https://mylogs.cn/wp-content/uploads/2026/08/aa8b7c19a308278635b5c0ed82b3a5d7_header-768x432.webp 768w, https://mylogs.cn/wp-content/uploads/2026/08/aa8b7c19a308278635b5c0ed82b3a5d7_header-1536x864.webp 1536w" sizes="(max-width: 1600px) 100vw, 1600px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">图片来源：How-To Geek</figcaption></figure>





<p class="wp-block-paragraph">微软其实早就注意到了这个问题。一年前它宣布过一个叫「自动刷新」的功能，但科技媒体 How-To Geek 的作者 Tony Phillips 等到今天，自己的 Excel 版本里还是没见到它。等不下去，他用 VBA 宏自己做了一个。</p>



<h2 class="wp-block-heading">他要的和微软给的，不是一回事</h2>



<p class="wp-block-paragraph">微软方案的思路是按数据源走：新建的数据透视表默认启用自动刷新，一个开关管住所有连到同一个数据源的透视表。</p>



<p class="wp-block-paragraph">Phillips 想要的是另一种粒度——按工作簿走。针对某个具体文件打开开关，这个文件里所有的透视表就都自动刷新，跟数据源是哪个无关。</p>



<p class="wp-block-paragraph">成品他叫它「Live PivotTables」，逻辑很直白：宏存在个人宏工作簿里，绑一个快速访问工具栏按钮。点一下开启，当前工作簿的透视表立刻刷新一次，之后按设定间隔重复；再点一下关闭。开启时会弹出确认框，告诉你正在监控哪个文件、多久刷一次——同时开着好几个表格的时候，这个提示很有必要。</p>



<p class="wp-block-paragraph">范围他刻意收窄了：只刷新数据透视表，不等同于「全部刷新」命令，因此不会牵动查询刷新、外部连接这些其他操作。</p>



<h2 class="wp-block-heading">三个关键实现</h2>



<p class="wp-block-paragraph"><strong>记住是哪个文件。</strong> 宏用一个变量存下开启那一刻的活动工作簿名字，之后所有定时刷新只认这一个文件。多文件并行时不会误伤，关闭时的提示信息也用的同一个名字。这里还埋了个保险：被监控的文件一旦被关掉，宏自动停用，而不是继续引用一个已经不存在的对象。</p>



<p class="wp-block-paragraph"><strong>定时靠 Excel 自己的调度器。</strong> 用的是 `Application.OnTime`，默认间隔设成 300 秒，也就是五分钟，测试时他调到 15 秒来快速验证。有个细节值得抄作业：下一次定时不是固定周期触发，而是等上一次刷新真正跑完才安排。他拿一个带数据模型、含多个透视表的文件测过，刷新明显更慢，但宏老老实实等它跑完，没有出现多次刷新叠在一起的情况。</p>



<p class="wp-block-paragraph"><strong>给出可见的反馈。</strong> 开启时弹确认框，刷新过程中状态栏显示提示文字，刷完还会多停两秒再清空，避免刷新太快导致提示一闪而过。完整代码原文放在文末，粘进个人宏工作簿的模块里，把开关过程绑到工具栏按钮即可。</p>



<h2 class="wp-block-heading">测出来的五个副作用</h2>



<p class="wp-block-paragraph">这部分比代码本身更有参考价值——自动刷新不是一个完全隐形的后台过程。他在真实文件上测出五点：</p>



<p class="wp-block-paragraph">第一，刷新耗时高度依赖文件本身，带数据模型、数据量大、透视表多的文件明显更慢，但跑完之后每个透视表都刷新正确。</p>



<p class="wp-block-paragraph">第二，刷新期间 Excel 可能短暂无响应，会转圈。</p>



<p class="wp-block-paragraph">第三，刷新会取消复制状态。正在复制单元格时撞上自动刷新，选区就没了。</p>



<p class="wp-block-paragraph">第四，正在编辑单元格时到点，Excel 会等你输完再刷，不会打断输入。</p>



<p class="wp-block-paragraph">第五，刷新之后按撤销，回退不了对源数据的修改——刷新是一个独立操作，不在撤销栈里。</p>



<h2 class="wp-block-heading">值不值得抄</h2>



<p class="wp-block-paragraph">我的判断是，这件事的价值不在这段代码本身，而在它示范了一种态度：Excel 里最好用的改进，往往是自己给自己加的那些。</p>



<p class="wp-block-paragraph">一旦个人宏工作簿搭起来，能往里塞的东西就多了——插入固定时间戳、套用自定义格式这类小命令，或者生成可点击的工作表目录、只删除完全空白的行这类稍微复杂的工具，都能变成工具栏上的一个按钮。</p>



<p class="wp-block-paragraph">当然也得说句公道话：VBA 宏这条路有代价。文件得存成启用宏的格式，换台电脑要重新配，团队协作时别人未必愿意开你的宏。它更适合「自己每天要用几十次」的个人流程，而不是给全组发的模板。</p>



<p class="wp-block-paragraph">那五条副作用尤其提醒了一件事：自动化不等于无感。把刷新间隔设得太短，写着写着被转圈打断，体验反而更差。五分钟这个默认值，大概率是他试出来的折中。</p>



<p class="wp-block-paragraph">你的 Excel 里，有没有哪个重复动作值得写成一个按钮？</p>



<p class="has-small-font-size wp-block-paragraph">来源：How-To Geek（作者 Tony Phillips）</p>

]]></content:encoded>
					
					<wfw:commentRss>https://mylogs.cn/excel-vba-auto-refresh-pivottables/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>每月手工拆报表？让AI写个宏一键搞定</title>
		<link>https://mylogs.cn/%e6%af%8f%e6%9c%88%e6%89%8b%e5%b7%a5%e6%8b%86%e6%8a%a5%e8%a1%a8%ef%bc%9f%e8%ae%a9ai%e5%86%99%e4%b8%aa%e5%ae%8f%e4%b8%80%e9%94%ae%e6%90%9e%e5%ae%9a/</link>
					<comments>https://mylogs.cn/%e6%af%8f%e6%9c%88%e6%89%8b%e5%b7%a5%e6%8b%86%e6%8a%a5%e8%a1%a8%ef%bc%9f%e8%ae%a9ai%e5%86%99%e4%b8%aa%e5%ae%8f%e4%b8%80%e9%94%ae%e6%90%9e%e5%ae%9a/#respond</comments>
		
		<dc:creator><![CDATA[steve, zhang]]></dc:creator>
		<pubDate>Thu, 30 Jul 2026 20:07:47 +0000</pubDate>
				<category><![CDATA[经验与技巧]]></category>
		<category><![CDATA[AI工具]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Gemini]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[办公自动化]]></category>
		<category><![CDATA[效率技巧]]></category>
		<guid isPermaLink="false">https://mylogs.cn/%e6%af%8f%e6%9c%88%e6%89%8b%e5%b7%a5%e6%8b%86%e6%8a%a5%e8%a1%a8%ef%bc%9f%e8%ae%a9ai%e5%86%99%e4%b8%aa%e5%ae%8f%e4%b8%80%e9%94%ae%e6%90%9e%e5%ae%9a/</guid>

					<description><![CDATA[不少做数据汇总的上班族都有同一套固定动作：打开销售明细表，按部门筛选，把数据填进报表模板，另存为 PDF，再换 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">不少做数据汇总的上班族都有同一套固定动作：打开销售明细表，按部门筛选，把数据填进报表模板，另存为 PDF，再换下一个部门重来一遍。数据本身没什么难度，麻烦的是每个月都要重复几十次。</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a743fa2341a1&quot;}" data-wp-interactive="core/image" data-wp-key="6a743fa2341a1" class="wp-block-image aligncenter size-large wp-lightbox-container"><img decoding="async" width="1200" height="675" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://mylogs.cn/wp-content/uploads/2026/07/56957ac1b5d6949d7c4e059066b4970d_header-1.webp" alt="每月手工拆报表？让AI写个宏一键搞定" class="wp-image-2786" srcset="https://mylogs.cn/wp-content/uploads/2026/07/56957ac1b5d6949d7c4e059066b4970d_header-1.webp 1200w, https://mylogs.cn/wp-content/uploads/2026/07/56957ac1b5d6949d7c4e059066b4970d_header-1-300x169.webp 300w, https://mylogs.cn/wp-content/uploads/2026/07/56957ac1b5d6949d7c4e059066b4970d_header-1-1024x576.webp 1024w, https://mylogs.cn/wp-content/uploads/2026/07/56957ac1b5d6949d7c4e059066b4970d_header-1-768x432.webp 768w" sizes="(max-width: 1200px) 100vw, 1200px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">图片来源：How-To Geek</figcaption></figure>



<p class="wp-block-paragraph">How-To Geek 撰稿人 Tony Phillips 做了一次完整实验：把这套流程交给 AI，让它写出一个可复用的 VBA 宏——读取销售数据、按部门拆分、生成各自的业绩报表并导出为 PDF。最终结果是一个存进个人宏工作簿、点一下就跑完的工具。他使用的是 Google Workspace 账户下的 Gemini 3.6 Flash，具体可用功能会随账户类型和模型版本不同而变化。以下是他走通这条路的过程与关键做法。</p>



<h2 class="wp-block-heading">一、先把工作簿结构说清楚，再让AI动手</h2>



<p class="wp-block-paragraph">直接甩一句&#8221;帮我写段 VBA&#8221;，是他此前踩过的坑。这次他在提示词里把结构写得很细：</p>



<ol class="wp-block-list">
<li>说明工作表分工。<code>Sales Data</code> 表存放明细数据表格，包含品名、部门、国家、产品、成本、售价、销量、销售额、销货成本、利润等列；<code>Department Report Template</code> 表是每份 PDF 的版式，含标题、汇总数字和一个待填充的产品表格；<code>Report Log</code> 表用于记录每次生成的文件，包括创建日期、部门名称、文件名与状态。</li>



<li>明确&#8221;模板不许被改动&#8221;。他要求宏不能永久修改原始版式，以便模板长期复用。</li>



<li>逐项交代对应关系。工作表名称、数据表各列、每个数值应落在报表模板的哪个单元格、日志如何写入，全部写明。</li>



<li>不上传工作簿文件，只用文字描述规格。这样做是为了验证一件事：当表格里含有不便外传的内部信息时，纯文字说明能否达到同样效果。</li>
</ol>



<h2 class="wp-block-heading">二、在提示词里提前堵住三个坑</h2>



<ol class="wp-block-list">
<li><strong>指定输出路径</strong>。他此前用其他 AI 做 Excel 自动化时发现，把生成文件存到工作簿所在目录，一旦涉及 OneDrive 之类的云盘同步就容易出问题。这次直接要求所有 PDF 存入桌面上的一个专用文件夹。</li>



<li><strong>让宏变成常驻工具</strong>。要求把代码保存到 PERSONAL.XLSB 个人宏工作簿，并添加到快速访问工具栏，这样每次打开 Excel 都能直接调用。</li>



<li><strong>要求 AI 先复述再写码</strong>。提示词最后一句是：把上述说明整理成一份&#8221;工作簿假设清单&#8221;，再开始生成 VBA。Gemini 随后确认了工作表名称、要用到的列、部门名称与汇总数字所在单元格。这一步相当于在写代码前先核对理解是否一致。</li>
</ol>



<p class="wp-block-paragraph">即便如此，他仍在测试前复制了一份工作簿备份。</p>



<h2 class="wp-block-heading">三、报错原文直接喂回去</h2>



<p class="wp-block-paragraph">第一版代码能跑但不完善。VBA 编辑器提示语法错误后，他把 Excel 的报错文字连同出问题的那一行代码一起发给 Gemini，对方指出该行多了一个 VBA 无法解析的变量名，并给出修正版本，宏随即正常运行。</p>



<p class="wp-block-paragraph">更棘手的是导出的 PDF 完全空白。宏在跑，报表却没内容。排查指向宏在导出工作表时的打印区域与 PageSetup 逻辑。Gemini 给了好几种改法，但改完一处又冒出新的排版问题，陷入了&#8221;打补丁螺旋&#8221;。</p>



<h2 class="wp-block-heading">四、越改越乱时，换思路而不是继续打补丁</h2>



<p class="wp-block-paragraph">他最终放弃继续修补，转而简化方案：先精简报表模板、删掉部分指标，再要求宏改走另一条路径——复制一份报表模板生成临时工作表，把数据填进去，直接导出为 PDF，然后删除这张临时表，不再试图控制导出过程的每个环节。改完之后流程一次跑通。</p>



<h2 class="wp-block-heading">五、跑通之后再逐项加回功能</h2>



<p class="wp-block-paragraph">有了能稳定运行的底子，他才开始小步添加需求：给每份报表加上&#8221;生成时间&#8221;戳、恢复部分此前删掉的汇总信息、把产品表格的排序依据从销售额改为利润、在文件名中加入日期与时间以免新报表覆盖旧文件。每次只改一件事，测试和验证都更容易。</p>



<h2 class="wp-block-heading">注意事项</h2>



<p class="wp-block-paragraph">这次实验给出的经验是：AI 在&#8221;已有可运行版本的基础上迭代改进&#8221;时表现明显更好，一次性生成整套自动化则容易失控。使用者仍需具备足够的 Excel 知识，才能判断建议是否合理、在什么时候该推翻整个思路。此外，任何自动生成的宏在正式使用前都应先在备份文件上测试。</p>



<p class="wp-block-paragraph">来源：How-To Geek</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mylogs.cn/%e6%af%8f%e6%9c%88%e6%89%8b%e5%b7%a5%e6%8b%86%e6%8a%a5%e8%a1%a8%ef%bc%9f%e8%ae%a9ai%e5%86%99%e4%b8%aa%e5%ae%8f%e4%b8%80%e9%94%ae%e6%90%9e%e5%ae%9a/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>实测Gemini写VBA：Excel月度报表一键生成</title>
		<link>https://mylogs.cn/%e5%ae%9e%e6%b5%8bgemini%e5%86%99vba%ef%bc%9aexcel%e6%9c%88%e5%ba%a6%e6%8a%a5%e8%a1%a8%e4%b8%80%e9%94%ae%e7%94%9f%e6%88%90/</link>
					<comments>https://mylogs.cn/%e5%ae%9e%e6%b5%8bgemini%e5%86%99vba%ef%bc%9aexcel%e6%9c%88%e5%ba%a6%e6%8a%a5%e8%a1%a8%e4%b8%80%e9%94%ae%e7%94%9f%e6%88%90/#respond</comments>
		
		<dc:creator><![CDATA[steve, zhang]]></dc:creator>
		<pubDate>Thu, 30 Jul 2026 20:06:10 +0000</pubDate>
				<category><![CDATA[科技]]></category>
		<category><![CDATA[AI工具]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Gemini]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[办公软件]]></category>
		<category><![CDATA[自动化]]></category>
		<guid isPermaLink="false">https://mylogs.cn/%e5%ae%9e%e6%b5%8bgemini%e5%86%99vba%ef%bc%9aexcel%e6%9c%88%e5%ba%a6%e6%8a%a5%e8%a1%a8%e4%b8%80%e9%94%ae%e7%94%9f%e6%88%90/</guid>

					<description><![CDATA[把一堆销售数据按部门拆开、逐个套上模板、再一份份导出成 PDF——这类重复的报表活儿，几乎每个用 Excel  [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">把一堆销售数据按部门拆开、逐个套上模板、再一份份导出成 PDF——这类重复的报表活儿，几乎每个用 Excel 的人都干过。科技媒体 How-To Geek 的作者托尼·菲利普斯（Tony Phillips）最近做了一次实测：让 Gemini 帮他写一段可复用的 VBA 宏，把这套流程压缩成&#8221;点一下按钮&#8221;。结果是成功了，但过程远没有&#8221;一句话生成代码&#8221;那么轻松。</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a743fa2350f2&quot;}" data-wp-interactive="core/image" data-wp-key="6a743fa2350f2" class="wp-block-image size-large aligncenter wp-lightbox-container"><img decoding="async" width="1200" height="675" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://mylogs.cn/wp-content/uploads/2026/07/56957ac1b5d6949d7c4e059066b4970d_header.webp" alt="实测Gemini写VBA：Excel月度报表一键生成" class="wp-image-2780" style="max-width:100%;height:auto;" srcset="https://mylogs.cn/wp-content/uploads/2026/07/56957ac1b5d6949d7c4e059066b4970d_header.webp 1200w, https://mylogs.cn/wp-content/uploads/2026/07/56957ac1b5d6949d7c4e059066b4970d_header-300x169.webp 300w, https://mylogs.cn/wp-content/uploads/2026/07/56957ac1b5d6949d7c4e059066b4970d_header-1024x576.webp 1024w, https://mylogs.cn/wp-content/uploads/2026/07/56957ac1b5d6949d7c4e059066b4970d_header-768x432.webp 768w" sizes="(max-width: 1200px) 100vw, 1200px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">图片来源：How-To Geek</figcaption></figure>





<p class="wp-block-paragraph">这次测试使用的是 Google Workspace 账号下的 Gemini 3.6 Flash。需要说明的是，可用功能会随账号类型和模型版本不同而有所差异。</p>



<h2 class="wp-block-heading">先规划，再提问</h2>



<p class="wp-block-paragraph">菲利普斯的经验是：直接对 AI 说&#8221;帮我写段 VBA&#8221;，基本得不到能用的东西。所以他先把工作簿结构讲清楚。</p>



<p class="wp-block-paragraph">这个工作簿一共三张表：<strong>Sales Data</strong> 存放原始数据表，字段包括商品名称、部门、国家、产品、成本、售价、销量、销售额、销货成本和利润；<strong>Department Report Template</strong> 是报表模板，规定了标题、汇总数字和产品明细表的位置，他特别要求模板本身不能被宏改动，以便后续反复使用；<strong>Report Log</strong> 则用于记录每次生成的文件，包含生成日期、部门名称、文件名和状态。</p>



<p class="wp-block-paragraph">他把表名、字段、每个数值该落到模板的哪个单元格、日志怎么写，全部用文字描述给了 Gemini，但<strong>没有上传工作簿</strong>。这么做是想验证：只靠一份足够详细的书面说明，AI 能不能干活。如果可行，那么以后处理含敏感信息的表格时，就多了一条不必上传文件的路径。</p>



<p class="wp-block-paragraph">他还提前避掉了一个坑：导出文件的存放位置。此前用 Claude 做类似自动化时他发现，把文件存在工作簿所在目录，一旦牵扯 OneDrive 这类云盘同步就容易出问题。于是他要求 Gemini 把所有 PDF 统一保存到桌面上的一个专用文件夹。</p>



<p class="wp-block-paragraph">由于这段宏要当成长期工具用，他要求把代码存进 PERSONAL.XLSB 个人宏工作簿，并添加到快速访问工具栏，这样每次打开 Excel 都能直接调用。即便如此，动手测试前他还是先备份了一份工作簿。</p>



<p class="wp-block-paragraph">提示词的最后一步很关键：他要求 Gemini 在写代码之前，先把理解到的工作簿假设条件复述一遍。Gemini 确认了表名、要用的列以及各项数据的落点位置——这一步相当于在动工前核对图纸。</p>



<h2 class="wp-block-heading">真正的麻烦出在测试环节</h2>



<p class="wp-block-paragraph">第一版代码只能算起点。第一个问题是 VBA 报语法错误，把出错行和报错信息发回去后，Gemini 指出那一行多写了一个变量名，VBA 无法解析，并给出了修正版本。</p>



<p class="wp-block-paragraph">更棘手的是第二个问题：宏跑完了，导出的 PDF 却是<strong>一片空白</strong>。Gemini 判断问题出在打印区域与页面设置（PageSetup）逻辑上，并陆续给出多种改法，但改着改着就陷入了&#8221;打补丁循环&#8221;——解决一个问题又冒出新的格式问题，方案越来越复杂。</p>



<p class="wp-block-paragraph">菲利普斯最终没有继续打补丁，而是换了思路：先简化报表模板、砍掉部分指标，再让 Gemini 重写逻辑——复制一份模板工作表、往副本里填数据、直接导出 PDF、最后删除这份临时表，而不是去精细控制导出过程的每个环节。</p>



<p class="wp-block-paragraph">这也是他认为整场实验最大的收获：AI 排查问题很好用，因为可以把现象讲清楚、一起推演可能的原因；但真正有效的做法，是把 AI 的建议和自己对流程的理解结合起来，并在必要时判断出&#8221;该换方案了&#8221;。</p>



<h2 class="wp-block-heading">简化之后，才谈得上加功能</h2>



<p class="wp-block-paragraph">流程理顺之后效果立竿见影。事实证明，Gemini 更擅长在一个能跑通的基础上做改进，而不是一次性搭出整套自动化。</p>



<p class="wp-block-paragraph">于是他分批把之前砍掉的功能加了回来，还顺手加了几项新的：每份报表添加&#8221;生成时间&#8221;戳、恢复部分汇总信息、把产品明细表由按销售额排序改为按利润排序、文件名里带上日期和时间以免新报表覆盖旧文件。这些小需求各自目标明确，测试和调整都很轻松。</p>



<p class="wp-block-paragraph">最终这段宏成了可复用的工具：只要工作簿结构一致就能直接跑，代码常驻个人宏工作簿，入口挂在快速访问工具栏上，一次性实验变成了一键完成的日常流程。</p>



<h2 class="wp-block-heading">结论：AI 是协作者，不是甩手掌柜</h2>



<p class="wp-block-paragraph">这次测试改变了菲利普斯对 AI 与 Excel 结合方式的看法。他不再指望一条提示词换来完美答案，而是把 Gemini 当作探索思路、排查故障、逐步打磨方案的工具。此前他对比 ChatGPT、Claude 和 Gemini 编写 Excel 公式时也得出过类似结论：这些工具都能给出建议，但使用者仍需具备足够的 Excel 功底，才能判断结果好坏、选对路线，并清楚自己最终想要什么。</p>



<p class="wp-block-paragraph">来源：How-To Geek（https://www.howtogeek.com/microsoft-excel-google-gemini-automate-reporting-task/）</p>

]]></content:encoded>
					
					<wfw:commentRss>https://mylogs.cn/%e5%ae%9e%e6%b5%8bgemini%e5%86%99vba%ef%bc%9aexcel%e6%9c%88%e5%ba%a6%e6%8a%a5%e8%a1%a8%e4%b8%80%e9%94%ae%e7%94%9f%e6%88%90/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
