将本地的excel表格中用8位二进制替代文本,出现“学习、查资料”字符串第一位加1,出现“浏览新闻”第二位加1,出现“收发邮件”第三位加1,出现“娱乐游戏”第四位加1,出现“聊天交友”第五位加1,出现“资源下载”第六位加1,出现“上网购物”第七位加1,出现“其他”第八位加1,若这些都没有出现不进行处理,最后将这8位二进制分开成8个单元格保存在另一个excel表格中
时间: 2023-09-18 15:12:13 浏览: 70
好的,您的问题是如何将本地的excel表格中用8位二进制替代文本,出现“学习、查资料”字符串第一位加1,出现“浏览新闻”第二位加1,出现“收发邮件”第三位加1,出现“娱乐游戏”第四位加1,出现“聊天交友”第五位加1,出现“资源下载”第六位加1,出现“上网购物”第七位加1,出现“其他”第八位加1,若这些都没有出现不进行处理,最后将这8位二进制分开成8个单元格保存在另一个excel表格中,是这样吗?
您可以使用以下VBA代码来实现此功能:
```
Sub ConvertToBinary()
Dim rngData As Range
Dim rngCell As Range
Dim strText As String
Dim strBinary As String
Dim i As Integer
Set rngData = Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
For Each rngCell In rngData
strText = rngCell.Value
strBinary = "00000000"
If InStr(strText, "学习") > 0 Or InStr(strText, "查资料") > 0 Then
Mid(strBinary, 1, 1) = "1"
End If
If InStr(strText, "浏览新闻") > 0 Then
Mid(strBinary, 2, 1) = "1"
End If
If InStr(strText, "收发邮件") > 0 Then
Mid(strBinary, 3, 1) = "1"
End If
If InStr(strText, "娱乐游戏") > 0 Then
Mid(strBinary, 4, 1) = "1"
End If
If InStr(strText, "聊天交友") > 0 Then
Mid(strBinary, 5, 1) = "1"
End If
If InStr(strText, "资源下载") > 0 Then
Mid(strBinary, 6, 1) = "1"
End If
If InStr(strText, "上网购物") > 0 Then
Mid(strBinary, 7, 1) = "1"
End If
If InStr(strText, "其他") > 0 Then
Mid(strBinary, 8, 1) = "1"
End If
For i = 1 To Len(strBinary)
rngCell.Offset(0, i).Value = Mid(strBinary, i, 1)
Next i
Next rngCell
End Sub
```
您只需将源数据放在A列,然后运行此代码,它将在B列到I列中生成相应的二进制值。
阅读全文