EXCEL 单元格字符把含有“P:”后的数字放到另一个单元格
时间: 2023-07-16 13:16:34 浏览: 365
你可以使用 Excel 的文本函数来提取字符串中的数字,然后将其放入另一个单元格中。假设要提取的字符串在 A1 单元格中,可以使用以下公式将数字提取到 B1 单元格中:
```
=RIGHT(A1,LEN(A1)-FIND("P:",A1)-2)
```
这个公式使用了 RIGHT、LEN 和 FIND 函数来找到“P:”后面的数字。具体来说,LEN 函数返回字符串的长度,FIND 函数查找“P:”并返回其位置,RIGHT 函数从该位置开始提取指定长度的字符。
请注意,这个公式假设数字的长度始终为一个或两个字符。如果数字的长度可能会更长,请相应地调整公式。
相关问题
excel vba 每行自动生成各列单元格字符连接到一个单元格
可以使用 VBA 中的字符串连接符 "&",在每行的最后一列单元格中生成连接后的字符串。具体代码如下:
Sub ConcatenateCells()
Dim lastRow As Long
Dim i As Long
Dim result As String
lastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lastRow
result = ""
For j = 1 To 3 '假设要连接的列数为3
result = result & Cells(i, j).Value
Next j
Cells(i, 4).Value = result '将连接后的字符串放入第4列单元格
Next i
End Sub
写一个EXCEL宏,写一个EXCEL宏,复制文件夹位置里 C:\Users\DELL\Desktop\ZTE PL\ORG_FILES的工作表文件放到C:\Users\DELL\Desktop\ZTE PL\NEW_PL文件夹里,并且将新文件名里INV-字符替换成PL-重命名,查找替换C1单元格内容,将COMMERCIAL INVOICE替换成PACKING LIST,查找替换E4单元格里的内容,将E4单元格里CI字符串换成ZI字符串,查找替换C4单元格内容,将Invoice No. 替换成 PACKING LIST No.,查找替换C5单元格内容,将Invoice Issue Date替换成PACKING LIST Issue Date,查找替换E22单元格内容,将GROSS WEIGHT(KGS)替换E22单元格所有内容,查找替换F22单元格内容,将NET WEIGHT(KGS)替换F22单元格所有内容,查找替换A35单元格内容,用TOTAL: PACKAGES ONLY替换A35单元格内容,删除第A34和F4单元格内容.保存工作表,提示运行已完成.
以下是可以实现您所需功能的宏代码:
```
Sub CopyAndRename()
' 定义变量
Dim SourceFolder As String
Dim DestFolder As String
Dim FileName As String
Dim NewFileName As String
Dim WS As Worksheet
' 定义文件路径
SourceFolder = "C:\Users\DELL\Desktop\ZTE PL\ORG_FILES\"
DestFolder = "C:\Users\DELL\Desktop\ZTE PL\NEW_PL\"
' 循环处理源文件夹中的工作表文件
FileName = Dir(SourceFolder & "*.xlsx")
Do While FileName <> ""
' 复制工作表文件到目标文件夹
FileCopy SourceFolder & FileName, DestFolder & FileName
' 打开新文件并重命名
NewFileName = Replace(FileName, "INV-", "PL-")
Workbooks.Open Filename:=DestFolder & FileName
ActiveWorkbook.SaveAs Filename:=DestFolder & NewFileName, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.Close
' 打开重命名后的文件
Set WS = Workbooks.Open(DestFolder & NewFileName).Sheets(1)
' 查找替换C1单元格内容
WS.Cells.Replace What:="COMMERCIAL INVOICE", Replacement:="PACKING LIST", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' 查找替换E4单元格里的内容
WS.Cells.Replace What:="CI", Replacement:="ZI", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' 查找替换C4单元格内容
WS.Cells.Replace What:="Invoice No.", Replacement:="PACKING LIST No.", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' 查找替换C5单元格内容
WS.Cells.Replace What:="Invoice Issue Date", Replacement:="PACKING LIST Issue Date", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' 查找替换E22单元格内容
WS.Cells.Replace What:="GROSS WEIGHT(KGS)", Replacement:="NET WEIGHT(KGS)", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' 查找替换F22单元格内容
WS.Cells.Replace What:="NET WEIGHT(KGS)", Replacement:="GROSS WEIGHT(KGS)", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' 查找替换A35单元格内容
WS.Range("A35").Value = "TOTAL: PACKAGES ONLY"
' 删除A34和F4单元格内容
WS.Range("A34").ClearContents
WS.Range("F4").ClearContents
' 保存工作表文件
WS.Parent.Save
' 关闭工作表文件
WS.Parent.Close
' 处理下一个工作表文件
FileName = Dir
Loop
' 提示运行已完成
MsgBox "运行已完成!"
End Sub
```
请按照以下步骤执行宏:
1. 打开 Excel 文件。
2. 按下 ALT + F11 打开 VBA 编辑器。
3. 在 VBA 编辑器中,插入新模块并将上述代码复制到新模块中。
4. 关闭 VBA 编辑器并返回 Excel 文件。
5. 打开要处理的工作簿。
6. 执行宏:按下 ALT + F8,在“宏”对话框中选择“CopyAndRename”,然后单击“运行”按钮。
7. 程序将循环处理工作簿中的所有工作表文件,并在处理完最后一个文件后显示“运行已完成”的消息框。
注意:在执行宏之前,请确保您已备份了要处理的工作表文件,以防止数据丢失。
阅读全文