比如我在excel a列输入123 b列输入abc 想要导到文本文件得得结果是123abc 但是另存为txt格式会有空格(制表符)
另外如果我设定b列的长度是10,但是我B列现在只有abc这个长度为3,在b列长度不够得话就在这个B列的内容中补空格如何实现!

解决方案 »

  1.   

    先声明,本人菜鸟一个,所以采用的是笨办法
    第一个问题:
    for i=1 to sh.rows.count-1  [或application.workbookfunction.counta(Range("A:A"))]      
    text1.text=text1.text+sh.cells(i,1)第二个问题:
        n=sh.cells(2,2).ColumnWidth
        n1=lenb(sh.cells(i,2))
          if n1<n then
             for j=1 to n-n1   
                text2.text=text1.text+""
             next 
          text2.text=text2.text+sh.cells(i,2)
      

  2.   

    数据一定要在  a列  和B列   Private Sub Command1_Click()  Dim i As Long, A As Long
      Dim Eneters As String
      
        Set ex = CreateObject("Excel.Application")
        Set wb = ex.Workbooks.Open("C:\A.XLS") '打开你的文件
        Set sh = wb.Sheets(1)
        
        A = ex.ActiveSheet.UsedRange.Rows.Count
        
        For i = 0 To A
          If sh.Cells(i + 1, 1) <> "" And sh.Cells(i + 1, 2) <> "" Then
            Eneters = Eneters & sh.Cells(i + 1, 1) & sh.Cells(i + 1, 2) & vbCrLf
          End If
        Next i
        Open "c:\eneters.txt" For Output As #1   '保存路径
        Print #1, Eneters
        Close #1
        MsgBox "数据保存成功", , "提示"
        wb.Close SaveChanges:=True    '直接关闭不保存
        ex.Quit
         'ex.Visible = True
        Set ex = Nothing
        Set wb = Nothing
        Set sh = Nothing
    End Sub
      

  3.   

    楼主说的是vba吧?如果是,则可以使用以下代码:Sub SaveToFile()
        Dim sh As Worksheet
        Dim i As Long, l As Long, v As String
        
        Close
        Set sh = Sheet1                                 '修改为你实际的工作表
        Open "c:\temp.txt" For Output As #1 '
        For i = 1 To sh.UsedRange.Rows.Count
            v = sh.Cells(i, 2)                          '获得当前行B列的内容
            l = Len(v)                                  '获得当前行B列字符的长度
            If l < 10 Then                              '字符数量不足10个时在后面补加空格
                Sheet1.Cells(i, 2) = v & Space(10 - Len(v))
            End If
            v = sh.Cells(i, 1) & sh.Cells(i, 2)         '连接当前行A列和B列的内容
            Print #1, v                                 '保存A列和B列的内容
        Next
        Close #1
        MsgBox "保存完毕"
    End Sub
      

  4.   

    Sheet1.Cells(i, 2) = v & Space(10 - Len(v))改成:sh.Cells(i, 2) = v & Space(10 - Len(v))