XLCS房产全成本测算模版-地价敏感性分析模块介绍
XLCS房产项目全成本测算模版 — 地价敏感性分析模块介绍
地价敏感性分析模块是 XLCS 房产项目全成本测算模板中的投资测算分析工具,主要用于围绕项目楼板价 / 地价水平进行多组情景测算,快速观察不同土地价格下项目利润、收益率、现金流等关键指标的变化情况。
模块通过动态修改名称管理器中的 楼板价 对应单元格,触发模型重新计算,并读取分析表中的核心指标结果,最终批量输出为一张地价敏感性分析表。该模块适用于拿地测算、地价承受能力分析、竞拍报价测算、投资决策汇报等场景。
当前版本为 v2.1,重点优化了运行速度,修复了数据重复和计数问题,并增强了 Excel / WPS 环境下的运行稳定性。
📌 核心功能一览
| 功能 | 说明 |
|---|---|
| 楼板价多情景测算 | 按基准值和递增值自动生成多组楼板价方案 |
| 支持最多 50 组方案 | 运行次数上限自动限制为 50 组 |
| 动态修改模型输入 | 自动写入名称管理器 楼板价 对应单元格 |
| 触发模型重算 | 每次写入楼板价后执行全局计算 |
| 自动读取关键指标 | 从 D4:S4 读取模型计算结果 |
| 批量输出结果 | 一次性写入 C6:S55,提升运行速度 |
| 自动恢复原公式 | 分析完成或报错后恢复 楼板价 原始公式 |
| 清空旧结果 | 运行前自动清空历史输出数据 |
| 格式自动复制 | 将 D4:S4 的格式复制到输出区域 |
| Excel / WPS 兼容 | 针对 Excel 启用更完整计算链重建,WPS 使用普通计算 |
| 错误保护 | 出错时记录调试信息并恢复现场 |
| 运行完成提示 | 弹窗提示成功生成的数据组数 |
⚙️ 模块基本信息
| 项目 | 内容 |
|---|---|
| 模块名称 | 地价敏感性分析模块 |
| 作者 | XLCS-Jgwy |
| 日期 | 2026-04-09 |
| 当前版本 | v2.1 |
| 主过程 | 地价敏感性分析 |
| 分析工作表 | 11.3地价敏感性分析 |
| 模型输入名称 | 楼板价 |
| 参数输入区 | D5、F5、I5 |
| 指标读取区 | D4:S4 |
| 结果输出区 | C6:S55 |
| 最大方案数 | 50 组 |
🚀 适用场景
该模块适用于以下典型业务场景:
拿地测算
- 快速测算不同楼板价下的项目利润、IRR、净利润率等指标。
地价承受能力分析
- 判断项目在不同土地成本下可承受的最高报价区间。
土地竞拍报价决策
- 对多个报价档位进行快速模拟,为竞拍报价提供数据支撑。
投资方案比选
- 对不同土地获取成本下的项目投资价值进行横向比较。
投委会汇报
- 自动生成地价敏感性表,用于图表展示和决策说明。
风险压力测试
- 分析土地价格上升对项目收益空间和资金指标的影响。
🧩 功能入口说明
| 宏名称 | 功能 | 说明 |
|---|---|---|
地价敏感性分析 |
执行地价敏感性分析 | 主入口,一键生成地价方案结果表 |
调用方式:
Call 地价敏感性分析
🧭 操作流程
第一步:确认分析工作表
模块固定使用工作表:
11.3地价敏感性分析
代码中通过工作表名称获取:
Set analysisSheet = ThisWorkbook.Worksheets("11.3地价敏感性分析")
运行前请确保该工作表存在。
第二步:确认名称管理器
模块需要名称管理器中存在名称:
楼板价
该名称应引用模型中实际控制楼板价 / 地价输入的单元格。
模块通过以下代码获取:
Set targetCell1 = ThisWorkbook.Names("楼板价").RefersToRange
如果找不到该名称,会提示:
未找到名称“楼板价”,请检查名称管理器
第三步:设置分析参数
在 11.3地价敏感性分析 工作表中设置以下参数:
| 单元格 | 参数 | 说明 |
|---|---|---|
| D5 | 起始楼板价 / 基准值 | 第一组方案的楼板价 |
| F5 | 运行次数 | 需要生成的方案数量,最多 50 |
| I5 | 递增值 | 每组方案楼板价递增金额 |
例如:
| 参数 | 示例 |
|---|---|
| 起始楼板价 D5 | 3000 |
| 运行次数 F5 | 20 |
| 递增值 I5 | 100 |
则生成方案为:
3000、3100、3200、3300 ... 共20组
第四步:运行分析
运行:
Call 地价敏感性分析
系统会自动完成:
- 初始化运行环境
- 获取
楼板价对应单元格 - 保存该单元格原始公式
- 校验 D5、F5、I5 参数
- 清空旧输出结果
C6:S55 - 初始化计算链
- 循环生成楼板价方案
- 每次写入楼板价并重新计算模型
- 读取
D4:S4指标结果 - 暂存到数组
- 一次性写回
C6:S55 - 复制结果格式
- 恢复
楼板价原始公式 - 恢复应用状态
- 弹窗提示生成结果数量
📊 输入与输出区域
输入区域
| 单元格 / 区域 | 内容 | 说明 |
|---|---|---|
| D5 | 起始楼板价 | 第一组方案楼板价 |
| F5 | 运行次数 | 生成方案数量,最大 50 |
| I5 | 递增值 | 每组楼板价递增金额 |
| D4:S4 | 指标结果区 | 每次模型计算后读取 |
名称 楼板价 |
模型输入 | 动态写入当前楼板价 |
输出区域
模块输出到:
C6:S55
| 列 | 内容 |
|---|---|
| C列 | 当前楼板价 |
| D:S列 | 对应 D4:S4 的 16 项模型指标 |
最多输出 50 行,即:
C6:S55
🔍 功能详解
1. 通过名称管理器定位楼板价
模块不是写死某个单元格,而是通过名称管理器获取楼板价输入位置:
Set targetCell1 = ThisWorkbook.Names("楼板价").RefersToRange
优势:
- 模型结构调整后,只需维护名称管理器
- 不依赖固定单元格地址
- 更适合模板版本迭代
- 减少代码修改成本
2. 自动保存并恢复原公式
在运行前,模块保存 楼板价 单元格的公式:
originalFormula = targetCell1.Formula
运行过程中会临时写入不同楼板价:
targetCell1.Value2 = currentValue
分析结束或报错后恢复:
targetCell1.Formula = originalFormula
这样可以保证敏感性分析不会破坏原模型逻辑。
3. 参数校验
模块会检查:
| 参数 | 校验规则 |
|---|---|
| D5 | 必须为数字 |
| F5 | 必须为数字,且大于 0 |
| I5 | 必须为数字 |
若参数不合法,会中止运行并提示错误。
运行次数还会自动限制最大值:
loopTimes = CLng(Application.Min(CDbl(.Range("F5").Value2), 50))
即最多运行 50 组。
4. 地价方案生成逻辑
每一组方案楼板价计算公式为:
当前楼板价 = 起始楼板价 + 递增值 × (序号 - 1)
对应代码:
currentValue = baseValue + increment * (i - 1)
示例:
| 起始楼板价 | 递增值 | 第几组 | 当前楼板价 |
|---|---|---|---|
| 3000 | 100 | 1 | 3000 |
| 3000 | 100 | 2 | 3100 |
| 3000 | 100 | 3 | 3200 |
| 3000 | 100 | 4 | 3300 |
5. 强制刷新模型计算
每次写入当前楼板价后,模块执行:
Application.Calculate
对于 Excel 环境,运行前还会执行:
Application.CalculateFullRebuild
用于初始化计算链,降低复杂模型中出现旧值、重复值或部分指标未刷新的风险。
6. 自动读取 D4:S4 指标
每次模型重新计算后,模块读取:
resultRow = analysisSheet.Range("D4:S4").Value2
该区域通常放置项目关键指标,例如:
- 地价总额
- 货值
- 成本
- 净利润
- 净利润率
- IRR
- NPV
- 资金峰值
- 回正期
- 投资回报率
具体指标以模板中 D4:S4 的公式设置为准。
7. 使用数组批量输出
模块不是每轮直接写入工作表,而是先写入数组:
ReDim outputData(1 To loopTimes, 1 To 17)
循环完成后一次性输出:
analysisSheet.Range("C6").Resize(loopTimes, 17).Value2 = outputData
这样可以显著提升运行速度,并减少屏幕刷新和单元格写入造成的性能损耗。
8. 自动复制格式
结果写入后,模块将 D4:S4 的格式复制到输出区域:
analysisSheet.Range("D4:S4").Copy
analysisSheet.Range("D6:S" & 5 + loopTimes).PasteSpecial Paste:=xlPasteFormats
这样输出结果的百分比、金额、日期等格式可以保持与指标区一致。
9. Excel / WPS 兼容处理
模块通过:
isExcel = (InStr(1, Application.Name, "Excel", vbTextCompare) > 0)
判断当前运行环境。
在 Excel 中:
- 关闭事件
- 切换手动计算
- 使用
CalculateFullRebuild
在非 Excel 环境中:
- 尽量避免调用不兼容功能
- 使用普通
Application.Calculate
提升 WPS 环境下的兼容性。
10. 调试信息输出
模块会在即时窗口输出运行信息:
===== 开始执行:地价敏感性分析 =====
目标单元格地址:[工作簿]工作表!$X$Y
原始公式:=...
总耗时:3.25 秒
===== 执行完成 =====
如果出错,会输出:
错误时间
错误代码
错误描述
错误位置
方便开发者排查问题。
🧱 模块结构说明
主入口
| 过程名 | 说明 |
|---|---|
地价敏感性分析 |
执行完整地价敏感性分析流程 |
主要流程
| 阶段 | 内容 |
|---|---|
| 一、变量定义 | 定义工作表、目标单元格、数组和计数变量 |
| 二、初始化环境 | 保存并关闭刷新、事件、自动计算 |
| 三、获取名称 | 通过名称管理器获取 楼板价 单元格 |
| 四、参数校验 | 校验 D5、F5、I5 |
| 五、预分配数组 | 创建 C:S 输出数组 |
| 六、初始化计算链 | 执行全量计算或普通计算 |
| 七、主循环 | 逐组写入楼板价并读取指标 |
| 八、写回结果 | 一次性输出结果并复制格式 |
| 九、恢复环境 | 恢复公式和应用状态 |
⚙️ 关键参数说明
| 参数 / 区域 | 说明 |
|---|---|
11.3地价敏感性分析 |
分析结果工作表 |
楼板价 |
名称管理器中的模型输入名称 |
D5 |
起始楼板价 |
F5 |
运行次数 |
I5 |
楼板价递增值 |
D4:S4 |
指标读取区域 |
C6:S55 |
输出结果区域 |
loopTimes |
实际循环次数,最大 50 |
outputData |
结果缓存数组 |
🧪 使用示例
执行地价敏感性分析
Sub RunLandPriceSensitivity()
Call 地价敏感性分析
End Sub
推荐按钮名称
可在 11.3地价敏感性分析 工作表中添加按钮,并绑定:
运行地价敏感性分析
或:
生成楼板价敏感性表
📅 版本说明
| 版本 | 核心改进 |
|---|---|
| v2.1 | 优化运行速度,修复数据重复 / 计数问题,增强稳定性 |
| v2.0 | 引入数组批量输出和公式恢复机制 |
| v1.x | 基础地价敏感性分析功能 |
当前版本:v2.1
🔧 调试与维护建议
1. 提示未找到名称“楼板价”
请检查 Excel 名称管理器中是否存在:
楼板价
并确认该名称引用的是一个有效单元格。
2. 提示 F5 / D5 / I5 必须为数字
请检查:
| 单元格 | 要求 |
|---|---|
| D5 | 数字 |
| F5 | 大于 0 的整数 |
| I5 | 数字 |
3. 生成结果重复或不变化
请检查:
楼板价是否真正影响模型计算D4:S4指标公式是否引用了模型结果- 是否存在外部链接未刷新
- 是否存在手动计算未完成
- 是否在 WPS 中存在计算链延迟
可尝试先手动全表计算,再运行模块。
4. 输出格式不正确
模块会复制 D4:S4 的格式到 D6:S输出行。请先确认 D4:S4 的格式设置正确。
5. 输出超过 50 组可以吗?
当前代码限制最多 50 组。
如果需要更多组,需要同步调整:
loopTimes = CLng(Application.Min(CDbl(.Range("F5").Value2), 50))
.Range("C6:S55").ClearContents
以及输出区域容量。
💡 常见问题
Q:地价变化是按百分比还是按固定金额?
A:当前模块按固定金额递增:
当前楼板价 = 起始楼板价 + 递增值 × (序号 - 1)
Q:最多可以生成多少组?
A:最多 50 组,对应输出区域 C6:S55。
Q:模块会永久修改楼板价吗?
A:不会。模块会在结束或出错时恢复 楼板价 原始公式。
Q:为什么使用名称管理器“楼板价”?
A:这样不依赖固定单元格位置,模板结构调整后只需维护名称管理器即可。
Q:结果指标从哪里来?
A:从 11.3地价敏感性分析 工作表的 D4:S4 读取。
Q:支持 WPS 吗?
A:模块做了兼容处理,在非 Excel 环境下避免使用部分 Excel 专用计算链操作,通常可在 WPS 中运行。
⚠️ 注意事项
- 使用前请确保已启用宏。
- 请确认存在
11.3地价敏感性分析工作表。 - 请确认名称管理器中存在
楼板价。 - D5、F5、I5 必须为有效数字。
- F5 最大按 50 组执行。
- 输出区域
C6:S55会被清空并覆盖。 D4:S4应配置好需要读取的指标公式。- 模块运行期间不要手动修改模型输入。
- 建议运行前保存并备份文件。
- 如模型较大,请等待完成提示后再操作。
📞 技术支持
官网:
求助建议: http://xlcs.de/
邮件联系: admin@fdc.sd
📷 模块展示

✅ 总结
XLCS 地价敏感性分析模块能够围绕楼板价快速生成最多 50 组地价情景,并自动读取项目关键财务指标,形成完整的地价敏感性分析结果表。
模块通过名称管理器定位模型输入,通过数组批量输出提升速度,并在运行结束后恢复原始公式,既保证了分析效率,也保障了模型安全。
对于拿地测算、竞拍报价、地价承受能力分析和投资决策汇报而言,该模块是 XLCS 全成本测算模板中非常实用的投资分析工具。
````









