修改為第一部分就在B列,第二部分在c列
时间: 2024-03-09 15:44:38 浏览: 67
好的,那么我们来稍微修改一下代码,在B列和C列中分别放置拆分后的第一部分和第二部分内容。修改后的代码如下所示:
```VBA
Sub splitCells()
Dim lastRow As Long
Dim i As Long
Dim splitArr As Variant
lastRow = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row '获取B列最后一行
For i = 1 To lastRow
splitArr = Split(Cells(i, "B").Value, "-") '使用Split函数拆分B列内容
Cells(i, "B").Value = splitArr(0) '将拆分后的第一部分放入B列
Cells(i, "C").Value = splitArr(1) '将拆分后的第二部分放入C列
Next i
End Sub
```
你可以将修改后的代码复制到VBA编辑器中,然后运行它来实现你的要求。
相关问题
第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下(只有这个时候 才)进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数 字,则给出信息M。的c语言代码和python程序代码
以下是C语言代码实现:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char first, second;
printf("请输入第一列字符和第二列字符:");
scanf("%c %c", &first, &second);
if (first == 'A' || first == 'B') {
if (isdigit(second)) {
printf("文件已修改!\n");
} else {
printf("M\n");
}
} else {
printf("L\n");
}
return 0;
}
```
以下是Python程序代码实现:
```python
first, second = input("请输入第一列字符和第二列字符:").split()
if first == 'A' or first == 'B':
if second.isdigit():
print("文件已修改!")
else:
print("M")
else:
print("L")
```
以上两段代码实现的功能是一样的,可以根据自己的需求选择使用哪种语言。
已知AL8-EG8是固定点位名称,B列是原始数据区域,C列和D列为原始数据点位对应的数值区域,:BEGIN字符为数据表头,:END字符为数据结尾,AK9-AK40为每组原始数据对应的顺序,例如: BEGIN 计算器 SPC B: 数值 :END 为第一组原始数据 BEGIN 计算器 SPC B: 数值 :END 为第二组原始数据 我需要在AL9-EG40单元格中求出AL8-EG8单元格点位名称在B列对应的点位名称然后在C列中求出B列点位对应的数值,帮我写成宏程序,且在B2单元格更新时运行
以下是一个基本的宏程序,它可以在B2单元格更新时运行,按照您的要求在AL9-EG40单元格中计算出数据:
```
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim ws As Worksheet
Set ws = ActiveSheet
If Target.Address = "$B$2" Then
For i = 9 To 40
For j = 2 To 7
If ws.Cells(i, j).Value = ws.Cells(8, 5).Value Then
For k = 3 To 4
ws.Cells(i, j + k - 2).Value = ws.Cells(Application.Match(ws.Cells(i, 1).Value, ws.Range("AK9:AK40"), 0) + 8, k).Value
Next k
End If
Next j
Next i
End If
End Sub
```
该程序使用了 `Worksheet_Change` 事件,当B2单元格发生变化时,它将循环遍历AL9-EG40单元格范围,查找与AL8-EG8单元格相对应的B列点位名称,并在C列和D列中获取对应的数值填充到AL9-EG40单元格中。
请注意,这个程序假设您的数据表格的结构是固定的,即:AL8-EG8单元格是固定的点位名称,B列是原始数据区域,C列和D列为原始数据点位对应的数值区域,:BEGIN字符为数据表头,:END字符为数据结尾,AK9-AK40为每组原始数据对应的顺序。
如果您的数据表格结构不同,可能需要对程序进行适当的修改。
阅读全文