2016-12-29 54 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