vba小编程,答案好的另加分!

来源:百度知道 编辑:UC知道 时间:2024/06/07 13:08:00
beijing
shanghai
guangzhou
wuhan
xi'an
hebei
huai'an
shandong
tai'an

excel中用vba编写,我只能实现每个地名的第一个字母大写;但同时要求xi'an hebei huai'an shandong tai'an 的后一个汉字第一个字母也要大写,怎么弄?

我的语句——
Sub change_letters2()
Dim r As Integer
Dim rng, rg As Range
Dim words As String
Dim letter() As String
On Error Resume Next
r = Cells.Find(what:="*", after:=[a1], searchorder:=xlByRows, searchdirection:=xlPrevious).Row
Set rng = Range(Cells(1, 1), Cells(r, 1))
For Each rg In rng
ReDim letter(Len(rg.Value))
For i = 1 To Len(rg.Value)
letter(i) = Mid(rg.Value, i, 1)
If i = 1 Then
letter(i) = UCase(letter(i))
Else
letter(i) = LCase(letter(i))
End If
words = words & letter(i)
Next i
rg = words
words = ""
Next rg
End Sub

怎么改?高手们指教。

这个……貌似很难哦。

怎么可以判断第二个汉字的首字母是哪一个呢?不过作为地名,貌似头字母大写也就行了,后面的不一定大写吧

x=instr(place,"'")
mid(place,x+1,1)=chr(asc(mid(place,x+1,1))+26)

CHR()函数查找阿 ~