vba - 查找并替换目录中所有 Excel 文件工作簿中的字符串

标签 vba excel bloomberg

我正在编写 VBA 代码来替换位于特定目录中的多个 Excel 文件(工作簿)中的特定字符串。我尝试在 Stack Overflow 上搜索,找到答案,但这与通过 Excel 中的宏替换文本文件中的字符串有关。相同的链接是 find and replace string in a file

我的所有工作簿都有三个工作表,每个工作表在单元格 A2 中都有 Bloomberg 公式:

=BDH("CBK IN Equity","BID","07-04-2015 09:00:00","07-04-2015 16:00:00")

该研究需要一个宏,将特定目录中许多此类工作簿中的 CBK 替换为 ALBK。这样做是为了下载 ALBK 的数据来代替 CBK。

最佳答案

使用公式属性获取单元格中公式的字符串值,然后在替换文本后重新分配它。

Dim formulaString as String
formulaString = ThisWorkbook.Sheets(1).Range("A1").Formula
formulaString = Replace(formulaString,"CBK","ALBK")
ThisWorkbook.Sheets(1).Range("A1").Formula = formulaString

浏览工作簿中的每个工作表

Dim wb as workbook
Dim i as integer
set wb = thisworkbook 'or whatever you choose to open here

for i = 1 to wb.worksheets.count
    wb.sheets(i).range("A1").Formula = Replace(wb.sheets(i).range("A1").Formula,"CBK","ALBK")
next i

关于vba - 查找并替换目录中所有 Excel 文件工作簿中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32744968/

相关文章:

excel - 如何在 Microsoft Visual Basic (VBA for Excel) 中使用 Bloomberg 数据历史记录 (BDH) 命令

vba - Excel VBA将时间特定值从用户窗体存储到单元格中

python - 谁能告诉我为什么我收到错误 [AttributeError : 'list' object has no attribute 'encode' ]

excel - UDF从access数据库检索数据

Excel VBA隐藏行

vba - 如果使用VBA在excel中的列相同,我如何检查所有数字是否相同

时间:2019-03-08 标签:c++bloombergapicorrelationId

excel - Excel 表格顶部的新行

vba - 如何将 VBA 代码与打开的 ETABS OAPI 链接?

vba - 使用VBA计算事件工作表(excel)左侧未隐藏(可见)工作表的数量?