excel - 使用字符串函数根据项目编号匹配图像名称
问题描述
所以我迭代了两列项目编号和图像名称,根据几个条件寻找匹配项。我们首先查看匹配的项目编号是否有包含单词ROOM的图像,因为我们更喜欢使用环境拍摄。
如果没有,那么我们需要寻找与没有 ROOM 的项目编号匹配的图像,例如ADR700C-28.jpg,最后如果我们没有找到,我们需要回退到几个默认值之一。因此,对于上述项目 (ADR700C-28),我们将按顺序使用ADR700C-5.jpg、ADR700C-6.jpg和ADR700C-8.jpg。
这就是我所拥有的,问题是我在使用嵌套函数Right()
和Left()
字符串函数时遇到了麻烦。根据上面的预期输出,如何处理 Select Case?我还需要上述字符串函数来说明具有可变数字字符的图像名称。
数据示例:
预期输出:
Option Explicit
Public Sub test()
Dim ws As Worksheet, arr(), r As Long, c As Long
Set ws = ThisWorkbook.Worksheets("Sheet1")
arr = ws.Range("A2:C" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)
On Error Resume Next
For r = LBound(arr, 1) To UBound(arr, 1)
For c = LBound(arr, 1) To UBound(arr, 1)
' Having trouble with this piece ..
Select Case True
Case Right$(arr(c, 3), 9) = "-ROOM.jpg" And Left$(arr(c, 3), Len(arr(c, 3)) - 9) = arr(r, 1)
arr(r, 2) = arr(c, 3)
Exit For
Case Right$(arr(c, 3), 6) = "-5.jpg" And Left$(arr(c, 3), Len(arr(c, 3)) - 6) = arr(r, 1)
arr(r, 2) = arr(c, 3)
Exit For
Case Right$(arr(c, 3), 6) = "-6.jpg" And Left$(arr(c, 3), Len(arr(c, 3)) - 6) = arr(r, 1)
arr(r, 2) = arr(c, 3)
Exit For
End Select
Next
Next
On Error GoTo 0
ws.Range("A2").Resize(UBound(arr, 1), UBound(arr, 2)) = arr
End Sub
解决方案
推荐阅读
- python - 写入 excel 文件时超过 url 的数量
- c# - 带有 ItemTemplate 的 WPF 可搜索组合框
- python - Flask-Sqlalchemy 动态绑定
- c# - 无法通过 IntegrationServices 连接到服务器
- r - R 3.6 中的 mutate_at() 问题
- javascript - CSS - 设置所有子元素的总宽度等于它们的父元素
- jquery - jQCloud 在 Bootstrap Modal 中没有正确显示(没有角度,只有 jquery)
- python - 从 docx 文件中读取特殊字符时出错。我需要一盒表格
- android - Android SMS Api 不接受某些符号
- database-design - 它是设计no-sql数据库的好方法吗?