arrays - VBA 将字符串与前一个字符串值连接(前一个值每隔几个单元格就改变一次)
问题描述
我正在构建金融系统的历史数据。
我需要一个宏来读取单元格是否不包含大写,然后将此单元格的文本与前一个大写值连接起来。
| FIRST STEP |
|------------------|
| | Name |
| --- | ---------- |
| 1 |DISPONIBLE: |
| 2 |Caja |
| 3 |Bancos |
| 4 |INVERSIONES:|
| 5 |Temporales |
| 6 |Largoplazo |
| 7 |CARTERA: |
| 8 |Crédito |
| | LAST STEP |
|----------------------------|
| | Name |
| --- | -------------------- |
| 1 |DISPONIBLE: |
| 2 |disponibleCaja |
| 3 |disponibleBancos |
| 4 |INVERSIONES: |
| 5 |inversionesTemporales |
| 6 |inversionesLargoplazo |
| 7 |CARTERA: |
| 8 |carteraCrédito |
解决方案
这应该这样做:
Sub t()
Dim rng As Range, cel As Range
Dim capitalWord As String
Set rng = Range("A1:A8") 'Adjust as needed
For Each cel In rng
If IsUppercase(cel.Value) Then
capitalWord = Replace(cel.Value, ":", "")
Else
cel.Value = LCase(capitalWord) & WorksheetFunction.Proper(cel.Value)
End If
Next cel
End Sub
Public Function IsUppercase(AString As String) As Boolean
IsUppercase = (UCase(AString) = AString)
End Function
基本上它会检查单元格是否为大写,如果是,则将其设置为capitalWord
. 否则,将该单词的小写字母添加到单元格值中。
推荐阅读
- python - 删除文件replace()中的多个字符串不起作用
- c - 环境变量 C
- python - 如何从 Python 中正在运行的进程中获取单个进程 ID 整数?
- javascript - 保存失败:VSCode中权限不足
- c - 如何理解 O_RDONLY = 0?
- firebase - 如何在启动时解决 Firebase CLI 错误
- typescript - 如何按时间倒序对 create-daml-app 项目中的消息进行排序?
- c++ - Why libraries automatically added?
- java - 从十进制转换为二进制Java错误
- mysql - Laravel 组和显示热门关系