有一张txt的表,表名为:aa.txt
内容如下:
EDFS01a319 西区
EDFS01a319 西区
EDFS01a029 东区
EDFS0BH1V 西区
EDFS0BH1F 西区
EDFS01a333 东区
EDFS0BH1K 西区
EDFS0BH0Y 西区
EDFS01a319 西区
EDFS01a313 西区
EDFS01a319 西区
EDFS01a361 东区
EDFS01a325 东区
EDFS01a323 东区
EDFS01a322 东区
EDFS01a029 东区
现在我想将他们分开两列,东区的归一列,西区的归一列:
愿景效果如下:
EDFS01a029 东区 EDFS01a319 西区
EDFS01a333 东区 EDFS01a319 西区
EDFS01a361 东区 EDFS0BH1V 西区
EDFS01a325 东区 EDFS0BH1F 西区
EDFS01a323 东区 EDFS0BH1K 西区
EDFS01a322 东区 EDFS0BH0Y 西区
EDFS01a029 东区 EDFS01a319 西区
EDFS01a313 西区
EDFS01a319 西区 部分代码如下,希望高手帮忙改下:
Sub test2() Dim st As String
Dim st1, i As Integer, n As Integer
Dim k As String
Dim kk As String
Dim pp As String
Dim p As String
Dim txtline Open ThisWorkbook.Path & "\aa.txt" For Input As #1 Do Until EOF(1)
Line Input #1, txtline st = st & txtline & vbCrLf Loop
Close #1 z = 0
s = 0 Row_l = Split(st, vbCrLf) For i = 0 To UBound(Row_l)
Col_L = Split(Row_l(i), Chr(9))
For t = 0 To UBound(Col_L)
If z = 0 Then
ReDim Grid1(UBound(Row_l), UBound(Col_L))
z = 1
End If
Grid1(i, t) = Col_L(t)
Next Next
For i = 0 To UBound(Grid1)
If Grid1(i, 1) = "东区" Then Cells(i + 1, 1) = Grid1(i, 0)
Cells(i + 1, 2) = Grid1(i, 1)
Else
Cells(i + 1, 3) = Grid1(i, 0)
Cells(i + 1, 4) = Grid1(i, 1)
End If
Next
close #1
Sheets(1).Cells.EntireColumn.AutoFit
End Sub
出来的效果是:
EDFS01a319 西区
EDFS01a319 西区
EDFS01a029 东区
EDFS0BH1V 西区
EDFS0BH1F 西区
EDFS01a333 东区
EDFS0BH1K 西区
EDFS0BH0Y 西区
EDFS01a319 西区
EDFS01a313 西区
EDFS01a319 西区
EDFS01a361 东区
EDFS01a325 东区
EDFS01a323 东区
EDFS01a322 东区
EDFS01a029 东区
内容如下:
EDFS01a319 西区
EDFS01a319 西区
EDFS01a029 东区
EDFS0BH1V 西区
EDFS0BH1F 西区
EDFS01a333 东区
EDFS0BH1K 西区
EDFS0BH0Y 西区
EDFS01a319 西区
EDFS01a313 西区
EDFS01a319 西区
EDFS01a361 东区
EDFS01a325 东区
EDFS01a323 东区
EDFS01a322 东区
EDFS01a029 东区
现在我想将他们分开两列,东区的归一列,西区的归一列:
愿景效果如下:
EDFS01a029 东区 EDFS01a319 西区
EDFS01a333 东区 EDFS01a319 西区
EDFS01a361 东区 EDFS0BH1V 西区
EDFS01a325 东区 EDFS0BH1F 西区
EDFS01a323 东区 EDFS0BH1K 西区
EDFS01a322 东区 EDFS0BH0Y 西区
EDFS01a029 东区 EDFS01a319 西区
EDFS01a313 西区
EDFS01a319 西区 部分代码如下,希望高手帮忙改下:
Sub test2() Dim st As String
Dim st1, i As Integer, n As Integer
Dim k As String
Dim kk As String
Dim pp As String
Dim p As String
Dim txtline Open ThisWorkbook.Path & "\aa.txt" For Input As #1 Do Until EOF(1)
Line Input #1, txtline st = st & txtline & vbCrLf Loop
Close #1 z = 0
s = 0 Row_l = Split(st, vbCrLf) For i = 0 To UBound(Row_l)
Col_L = Split(Row_l(i), Chr(9))
For t = 0 To UBound(Col_L)
If z = 0 Then
ReDim Grid1(UBound(Row_l), UBound(Col_L))
z = 1
End If
Grid1(i, t) = Col_L(t)
Next Next
For i = 0 To UBound(Grid1)
If Grid1(i, 1) = "东区" Then Cells(i + 1, 1) = Grid1(i, 0)
Cells(i + 1, 2) = Grid1(i, 1)
Else
Cells(i + 1, 3) = Grid1(i, 0)
Cells(i + 1, 4) = Grid1(i, 1)
End If
Next
close #1
Sheets(1).Cells.EntireColumn.AutoFit
End Sub
出来的效果是:
EDFS01a319 西区
EDFS01a319 西区
EDFS01a029 东区
EDFS0BH1V 西区
EDFS0BH1F 西区
EDFS01a333 东区
EDFS0BH1K 西区
EDFS0BH0Y 西区
EDFS01a319 西区
EDFS01a313 西区
EDFS01a319 西区
EDFS01a361 东区
EDFS01a325 东区
EDFS01a323 东区
EDFS01a322 东区
EDFS01a029 东区
解决方案 »
- 初试化 为何出错?当点击Command1_Click时!请高手给答案,在线
- 所有的文件打开时,最先会触发什么呢?
- 关于datar report中如何设置纸张大小及类型的问题,在线等!
- ScaleHeight和ScaleWidth属性与Height和Width 属性有何不同?
- 调用api函数readfile里出错,我写入文件的是自定义结构,写出成功,当读的时候程序就非法了。。。晕,程序如下:
- 高手解决小问题,新手上路,分数少少,别介意
- jacob 获取word文件中嵌入的excel图表,并给图表设置数据源
- 关于treeview控件
- [手机炸弹程序下载]作者win98ddk
- 我想请问一下,怎么用vb6代码实现对access2000数据库的备份和恢复!
- 300分求教!
- 怎么查找字符串并添加
If Grid1(i, 1) = "东区" Then Cells(i + 1, 1) = Grid1(i, 0)
Cells(i + 1, 2) = Grid1(i, 1)
Else
Cells(i + 1, 3) = Grid1(i, 0)
Cells(i + 1, 4) = Grid1(i, 1)
End If
Next
close #1 这个多余
Sheets(1).Cells.EntireColumn.AutoFit
End Sub
List2.Visible = False
List1.Clear
List2.ClearOpen aa.txt For Input As #1
Do Until EOF(1)
Line Input #1, txtline
If right(txtline, 2) = "东区" Then
List1.AddItem txtline
Else
List2.AddItem txtline
End If
Loop
Close #1L = Len(txtline)
n = List1.ListCount
If List2.ListCount > n Then n = List2.ListCountOpen "aa.csv" For Output As
For i = 0 To n -1
txtline = ""
// 取东区数据
If i < List1.ListCount Then txtline = List1.List(i)
txtline = txtline & ","
// 取西区数据
If i < List2.ListCount Then txtline = txtline & List2.List(i)
Print txtline
Next i
Close #1
Print #1, txtline