我尝试通过VBA将文本文件复制到Excel中。该文件中有很多不需要的行和字符串,但我只希望Excel表下有特定的行和字符串。
Sub Inte()
Dim j, LastCol As Long
Dim inval As Variant
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
LastCol = Sheet12.Cells(1, Columns.Count).End(xlToLeft).Column
For i = 1 To LastRow
For j = 7 To LastCol
If Cells(i, j).Value <> Int(Cells(i, j).Value) Then
If InStr(1, Cells(i, j).Value, ".0") > 0 Then
Cells(i, 7).Value = Cells(i, 7) & Cells(i, j)
Cells(i, j).ClearContents
End If
Next j
Next i
'Columns("").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Range("A14", "A21").EntireRow.Delete
End Sub
创建逻辑没有可遵循的特定模式,因此在将所有数据从文本文件复制到Excel之后,我开始根据行和列在Excel中进行编码
现在,我希望追加一些列数据,例如col7,col8,col9,直到达到十进制值,即价格列470.00
(这必须在单独的列中),因此,第7列中的所有之前列必须附加空格。
在下一行中可能要追加col7,col8
例如:洗涤剂(LIME-A-WAY)应该为3.8 Lt.,但是当将文本文件读入excel时,所有这些值都在单独的列中。
答案 0 :(得分:1)
要测试单元格值是否为小数,可以使用类似的
Option Explicit
Public Function IsDecimal(ByVal InputValue As Variant) As Boolean
IsDecimal = IsNumeric(InputValue) And InStr(1, InputValue, Application.DecimalSeparator) > 0
End Function
因此,您只需要一个语句即可代替您的2条If
语句:
If IsDecimal(Cells(i, j).Value) Then