excel vba 数据处理,对应字符的比较

****以下是我的原表内容****
姓名 系列1 系列2
张三 122221 222310
李四 314241 252324

*****以下为我需要的结果******
姓名 系列1 系列2 结果
张三 122221 222310 011100
李四 314241 252324 100100

~~~~~~~~~要求~~~~~~~
如果 “系列1”的第一个字符是“2”或“3”,且“系列2”的第一个字符也是“2”或“3”,则结果这一列的第一个字符为1,否则显示0;
第2、3、4、……个字符以此类推
Sub aa()

Dim cc As String
Dim bb As String
Dim i
Dim a
Dim b
b = 2
Do
a = 6
Do
bb = Sheet1.Cells(b, 2).Value
cc = Sheet1.Cells(b, 3).Value
For i = 1 To Len(cc)
dd = Mid(bb, i, 1)
ee = Mid(cc, i, 1)
If (dd = 2 Or dd = 3) And (ee = 2 Or ee = 3) Then
Sheet1.Cells(b, a) = 1
Else
Sheet1.Cells(b, a) = 0
End If
a = a + 1
Next i
Loop Until dd = Right(bb, 1)
b = b + 1
Loop Until Sheet1.Cells(b, 1) = ""
End Sub

Sub pd()
'定义一个函数为"pd",用来写一个判断程序
Dim x, y, z, i As Integer
'定义变量x, c, y, z, i为整形
Dim xx, yy, zz As String
'定义变量xx, yy, zz为文本字符型
For z = 2 To 3
'MsgBox("定义变量z为行循环次数,这里只需要循环判断2行数据,即第二行至第三行")
x = Len(Sheet1.Range("B" & z))
'MsgBox ("定义变量x为计算B2单元格的长度")
y = Len(Sheet1.Range("C" & z))
'MsgBox ("定义变量y为计算C2单元格的长度")
zz = ""
'MsgBox ("清空变量zz的值,为下一行得数做准备")
For i = 1 To x
'MsgBox ("定义变量i为循环,从1开始,次数为每行B列单元格的字段长度")
For i = 1 To x
If x <> y Then
Exit For
End If
'判断如果量个数据长度不同,则直接跳出循环,不进行计算
xx = Mid(Sheet1.Range("b" & z), i, 1)
'定义变量xx为B列每行从左至右每次取得一位数字字符
yy = Mid(Sheet1.Range("c" & z), i, 1)
'定义变量yy为C列每行从左至右每次取得一位数字字符

If (xx = "2" Or xx = "3") And (yy = "2" Or yy = "3") Then
'进行判断
zz = zz & 1
'判断为真的情况下赋值加上“1”这个字符
Else
zz = zz & 0
'判断为假的情况下赋值加上“0”这个字符
End If
Next i
'i循环结束继续跳转到z循环
Sheet1.Range("d" & z) = "'" & zz
'赋值每行比较后得到的结果值至每行D列
Next z
'z循环结束
End Sub
'判断程序的结束
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-08-27
  Sub aa()
 Dim cc As String
 Dim bb As String
 Dim i
 Dim a
 Dim b
 b = 2
 Do
 bb = Sheet1.Cells(b, 2).Text
 cc = Sheet1.Cells(b, 3).Text
 a = ""
 For i = 1 To Len(cc)
 dd = Mid(bb, i, 1)
 ee = Mid(cc, i, 1)
 If (dd = "2" Or dd = "3") And (ee = "2" Or ee = "3") Then
 a = a & 1
 Else
 a = a & 0
 End If
 Next
 Cells(b, 4) = "'" & a
 b = b + 1
 Loop Until Sheet1.Cells(b, 1) = ""
 End Sub

本回答被网友采纳
第2个回答  2015-08-27
给个思路:用字符数之间的循环

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网