excel - 从字符串单元中提取数据;整数类型不匹配
问题描述
我编写了以下代码来确定一个单元格的电缆尺寸和类型,然后使用该信息将一个数字显示到另一个单元格中:
Dim rowNum3 As Integer, Num_of_string As Integer, cablesize1 As String, firstNum As Integer
Num_of_string = 4
For rowNum3 = 4 To 50
cablesize1 = Cells(rowNum3, 9).Value
firstNum = Left(cablesize1, Num_of_string)
If cablesize1 Like "*AL*" = True Then
If cablesize1 Like "*1/0*" = True Then
Cells(rowNum3, 10).Value = Worksheets("Tables").Cells(32, 7).Value
ElseIf cablesize1 Like "*2/0*" = True Or cablesize1 Like "*3/0*" = True Then
Cells(rowNum3, 10).Value = Worksheets("Tables").Cells(33, 7).Value
ElseIf cablesize1 Like "*4/0*" = True Or cablesize1 Like "*250*" = True Then
Cells(rowNum3, 10).Value = Worksheets("Tables").Cells(34, 7).Value
ElseIf Application.Intersect(CInt(Left(cablesize1, Num_of_string)), Range(Cells(35, 4).Value, Cells(35, 5).Value)) = True Then
Cells(rowNum3, 10).Value = Worksheets("Tables").Cells(35, 7).Value
ElseIf Application.Intersect(CInt(Left(cablesize1, Num_of_string)), Range(Cells(36, 4).Value, Cells(36, 5).Value)) = True Then
Cells(rowNum3, 10).Value = Worksheets("Tables").Cells(36, 7).Value
ElseIf Application.Intersect(CInt(Left(cablesize1, Num_of_string)), Range(Cells(37, 4).Value, Cells(37, 5).Value)) = True Then
Cells(rowNum3, 10).Value = Worksheets("Tables").Cells(37, 7).Value
ElseIf Application.Intersect(CInt(Left(cablesize1, Num_of_string)), Range(Cells(38, 4).Value, Cells(38, 5).Value)) = True Then
Cells(rowNum3, 10).Value = Worksheets("Tables").Cells(38, 7).Value
End If
ElseIf cablesize1 Like "*AL*" = False Then
If cablesize1 Like "*2 *" = True Then
Cells(rowNum3, 10).Value = Worksheets("Tables").Cells(32, 6).Value
ElseIf cablesize1 Like "*1 *" = True Or cablesize1 Like "*1/0*" = True Then
Cells(rowNum3, 10).Value = Worksheets("Tables").Cells(33, 6).Value
ElseIf cablesize1 Like "*2/0*" = True Or cablesize1 Like "*3/0*" = True Then
Cells(rowNum3, 10).Value = Worksheets("Tables").Cells(34, 6).Value
ElseIf cablesize1 Like "* 350 *" = True Then
Cells(rowNum3, 10).Value = Worksheets("Tables").Cells(35, 6).Value
ElseIf Application.Intersect(CInt(Left(cablesize1, Num_of_string)), Range(Cells(36, 2).Value, Cells(36, 3).Value)) = True Then
Cells(rowNum3, 10).Value = Worksheets("Tables").Cells(36, 6).Value
ElseIf Application.Intersect(CInt(Left(cablesize1, Num_of_string)), Range(Cells(37, 2).Value, Cells(37, 3).Value)) = True Then
Cells(rowNum3, 10).Value = Worksheets("Tables").Cells(37, 6).Value
ElseIf Application.Intersect(CInt(Left(cablesize1, Num_of_string)), Range(Cells(38, 2).Value, Cells(38, 3).Value)) = True Then
Cells(rowNum3, 10).Value = Worksheets("Tables").Cells(38, 6).Value
End If
Else
Cells(rowNum3, 10).Value = "NA"
End If
Next rowNum3
我在这里遇到错误:
ElseIf Application.Intersect(CInt(Left(cablesize1, Num_of_string)), Range(Cells(35, 4).Value, Cells(35, 5).Value)) = True Then
类型不匹配Cint
我尝试了不同的方法将字符串转换为数字,但它不起作用
我从中获取字符串的示例单元格(我在末尾使用“AL”来确定它是铜还是铝)开头的数字是我尝试转换的数字
我从中获取信息的表
解决方案
推荐阅读
- typescript - 在数组元素之间创建链
- mongodb - 如何在 Atlas MongoDb 上使用 typeorm 创建数据库集合?
- sql - 在 SQL Server 中的列中创建具有相同 id 的行的结果
- php - 如何在 fullCalendar 中从数据库中获取可拖动事件区域?
- python - 熊猫:在给定年份列和季度列的情况下创建具有季度结束日期的列
- c# - 当我将返回类型指定为布尔值时,并非所有代码路径都返回一个值
- python - Plotly:如何删除在注释热图中引入间隙后出现的垂直线?
- flutter - 如何在颤动中按下按钮时更改价格
- flutter - 如何将工厂方法包含到抽象类中?
- gcc - 如何减轻英特尔 jcc 勘误表对 gcc 的影响?