我正在尝试创建一个宏,用户将在特定单元格中输入其首字母,宏将复制首字母并将其粘贴到另一个选项卡上的列表中。我很难搞清楚如何将其转换为大写任何帮助,我非常感谢下面是我的代码。提前谢谢!
'By Initials
Worksheets("New PN").Activate
Range("B10").Copy
Sheets("PN_List").Select
Range("F1").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial xlPasteValues
Selection.HorizontalAlignment = xlCenter
With Selection.Font
.Name = "Calibri"
.Size = 11
End With
答案 0 :(得分:1)
然后,此代码将自动添加来自B10
和B12
的任何新值(以第二个单元格为例),以便代码可以在需要的范围内运行)进入工作表* PN_List *
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng1 As Range
Dim rng2 As Range
Dim rng3 As Range
Dim lngCnt As Long
Set rng1 = Intersect(Range("B10,B12"), Target)
If rng1 Is Nothing Then Exit Sub
Set rng3 = Sheets("PN_List").Columns("F:F").Find("*", Sheets("PN_List").[f1], xlValues, , xlPrevious, xlByRows)
If rng3 Is Nothing Then Set rng3 = Sheets("PN_List").[f1]
For Each rng2 In rng1
rng3.Offset(lngCnt + 1, 0) = UCase$(rng2)
lngCnt = lngCnt + 1
Next rng2
End Sub
答案 1 :(得分:0)
使用Ucase
这样的功能:
Dim initial as String
initial = Ucase(Range("B10").Value)
Range("F1").End(xlDown).Offset(1, 0).Value = initial
希望这有帮助。
答案 2 :(得分:0)
使用UCASE功能。这对我有用
ActiveCell = UCase(ActiveCell)