![](/img/trans.png)
[英]VBA Excel ComboBox value to Range ("specific cell" to last column with data)
[英]VBA replace last 3 symbols in a CELL to COMBOBOX value
我有一个代码可以找到以“UZL”开头的单元格。 并且是 16 个符号长:
Dim vDB As Variant
Dim rngDB As Range
Dim s As String, sReplace As String
Dim i As Long
Dim Ws As Worksheet
Set Ws = Sheets("BOM")
With Ws
Set rngDB = .Range("E2", .Range("E" & Rows.Count).End(xlUp))
End With
vDB = rngDB
For i = 1 To UBound(vDB, 1)
s = vDB(i, 1)
If s Like "UZL.*" And Len(s) = 16 Then
sReplace = Me.LanguageBox.Value
s = Replace(s, "ENG", sReplace)
vDB(i, 1) = s
End If
Next i
rngDB = vDB
其中有一行:
s = Replace(s, "ENG", sReplace)
该更改仅是其中包含“.ENG”的单元格(始终位于末尾),但我需要将其定义为不依赖于此。 而不是 .ENG 它可能应该说“将最后三个符号更改为 combobox 所说的内容”。 有一个 combobox 有 249 个不同的选项,最后三个符号可能会改变,我需要能够一次又一次地改变它们,比如从 ENG 到 AUS 到 RUS 等等。
有人可以帮我修改此代码以一遍又一遍地进行更改吗?
正确的行而不是
s = Replace(s, "ENG", sReplace)
应该
s = 替换(s, Right(s, 3), sReplace)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.