2016-12-29 53 views
-1
保存Excel列

我在Excel范围如下:宏在记事本

Range("S15").Select Range(Selection, Selection.End(xlDown)).Select,我不得不在记事本中自动保存该范围内的宏。

我已经验证码:

Option Explicit 

Sub Step_6_test() 

Dim FilePath As String 
Dim CellData As String 
Dim LastCol As Long 
Dim LastRow As Long 

LastCol = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column 
LastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row 

CellData = "" 
FilePath = Application.DefaultFilePath & "\auth.csv" 

Open FilePath For Output As #2 

For i = 1 To LastRow 

    For j = 1 To LastCol 
     If j = LastCol Then 
      CellData = CellData + Trim(ActiveCell(i, j).Value) 
     Else 
      CellData = CellData + Trim(ActiveCell(i, j).Value) + "," 
     End If 
    Next j 

    Write #2, CellData 
    CellData = "" 
Next i 

Close #2 
MsgBox ("Done") 

End Sub 

但是这个代码是保存它在Excel中的文本文件,但我想自动保存我在记事本的范围。 如何更改用于在记事本中保存范围的代码?

+0

为什么不使用.TXT而不是在文件路径的.csv? –

+0

我必须以txt格式将记事本保存在我的工作 –

+3

因此,请将'auth.csv'更改为'auth.txt'。 – Limak

回答

1

对@Limak评论的后续处理,请将文件保存为.txt

此外,你必须CellData = CellData + Trim(ActiveCell(i, j).Value),但你是不是在你的循环推进ActiveCell(诺雷得,你需要使用ActiveCell)。相反,你可以使用CellData = CellData + Trim(Cells(i, j).Value)

全码

Option Explicit 

Sub Step_6_test() 

Dim FilePath As String 
Dim CellData As String 
Dim LastCol As Long 
Dim LastRow As Long 
Dim i As Long, j As Long 

LastCol = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column 
LastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row 

CellData = "" 
FilePath = Application.DefaultFilePath & "\auth.txt" 

Open FilePath For Output As #2 

For i = 1 To LastRow 

    For j = 1 To LastCol 
     If j = LastCol Then 
      CellData = CellData + Trim(Cells(i, j).Value) 
     Else 
      CellData = CellData + Trim(Cells(i, j).Value) + "," 
     End If 
    Next j 

    Write #2, CellData 
    CellData = "" 
Next i 

Close #2 
MsgBox ("Done") 

End Sub 
+0

@HakanYılmaz你测试了上面的代码吗? –

+0

@Hakan Yilmaz进一步解释了Shai所说的不需要使用ActiveCell来看看[这个SO问题及其答案](http://stackoverflow.com/questions/10714251/how-to-avoid-使用选中功能于Excel的VBA的宏) – PartyHatPanda