excel - Excel - 动态处理合并的单元格
问题描述
下午好,希望你们一切都好。
我们的数据仓库正在以一种奇怪的格式导出数据,使用合并的单元格,我们必须每周清理这些单元格,以便我们可以使用它。
在屏幕截图中,您可以找到依赖于合并单元格的设置,而不是复制合作伙伴、日期、品牌和区域代码。
我创建了一个公式,指定如果上面的行是空白的,那么它会在顶部找到下一个有文本的单元格并复制它,但这有点不可靠,它是这样的:
=IF([@Date]="",B23,[@Date])
=IF([@Date]="",B24,[@Date])
既然B23
不是空白,那么它就假定它的值。然后,下一个,既然B24
是空白,那就复制B23
. 然后,由于B25
是空白,它复制B24
已经具有日期值的 。
它有效,但似乎必须有更好的方法来动态实现这一点,对于日期和其他合并列,它们与合并单元格具有相同的模式。我探索了一些 Power Query 解决方案,但没有产生任何结果。请注意,使用 Power Query 导入此数据时,合并的单元格只是作为“null”出现。
解决方案
一个基本的 VBA 方法:
Sub UnMerge()
Dim c As Range, m As Range, v
Application.ScreenUpdating = False
For Each c In ActiveSheet.UsedRange.Cells
If c.MergeCells Then
v = c.Value
Set m = c.MergeArea
c.UnMerge
m.Value = v
End If
Next c
Application.ScreenUpdating = True
End Sub
推荐阅读
- javascript - $ 未在 ADF jsff 页面中定义
- sql-server - 约束可能导致循环或多个级联路径
- android - 即使安装了本机 Microsoft 应用程序,登录始终会打开 Web 对话框 [ms graph try Login with Shared Accounts If possible]
- c++ - C++标准兼容库容器的完整接口是什么?
- sql - 将 DD/MMM/YYYY 日期转换为 YYYY-MM-DD - SQL Server
- svn - 如何区分不同分支之间的整个 SVN 签入?
- c# - UWP MapControl MapPolygon 笔划设置不正确
- javascript - 两次更新状态时反应useState,第一次更新被删除
- python - Python Numpy:如何将带有一对逗号分隔浮点数的文本文件转换为多维“ndarray”
- flutter - 如何指定动态 Duration 时间?