返回列表 上一主題 發帖

[發問] 選擇檔案轉成文字檔問題.

[發問] 選擇檔案轉成文字檔問題.

1.選檔[21.XLSX]轉成21.TXT可以,為何選檔[22.XLSX]轉成22.TXT不行,問題在那裡?
2.可否[指定工作表]:
MP1=Range(“B7”)
'With Workbooks.Open(xlsPath, , True).Sheets(MP1)  '如何指定工作表=>不行
With Workbooks.Open(xlsPath, , True).Sheets(1)         '可行.

aaa.rar (39.4 KB)

杜小平

回復 2# Andy2483 感謝前輩回覆,21-1.TXT是我須求的完成檔,改With Workbooks.Open(xlsPath, , True).Sheets(Val(MP1))後,產生21.TXT的檔案內容會變成 2.58003E+50
2.58003E+50
2.58003E+50
2.58003E+50
2.58003E+50
2.58003E+50
2.58003E+50
2.58003E+50
2.58003E+50
2.58003E+50

21-1.rar (424 Bytes)

杜小平

TOP

回復 4# Andy2483 會不會是版本問題,我的是2010版,還是不行.
杜小平

TOP

回復 6# Andy2483 感謝前輩多次回覆,我產生檔是這樣.

22txt.jpg (24.86 KB)

22txt.jpg

杜小平

TOP

回復 8# Andy2483
With Workbooks.Open(xlsPath, , True).Sheets(1)
      .Cells.NumberFormatLocal = "@"
取第一工作表正常了.


With Workbooks.Open(xlsPath, , True).Sheets(2)    或   With Workbooks.Open(xlsPath, , True).Sheets(val(mp1)
      .Cells.NumberFormatLocal = "@"
這個還是不行...........
杜小平

TOP

本帖最後由 dou10801 於 2023-10-30 13:51 編輯

回復 10# Andy2483
With Workbooks.Open(xlsPath, , True).Sheets(2)
1.選取22.XLSX為例.
2,會產生[工作表一]的資料,且不是字串組合.
mcs = "" & mcs1 & Cells(R, MDS2) & Format(Cells(R, MDS3), "00000000000") & "00" & mcs2 & Cells(R, MDS4) & String(p2, " ")

22txt.jpg (41.44 KB)

22txt.jpg

工作表1.jpg (167.11 KB)

工作表1.jpg

工作表2.jpg (153.34 KB)

工作表2.jpg

杜小平

TOP

回復 12# Andy2483
方法1.:
With Workbooks.Open(xlsPath, , True).Sheets(Val(MP1))
"3"是字串,指定3索引號工作表必須將字串 "3" 轉化為數值 3

方法2.:
宣告為短整數:
Dim MP1%
MP1 = Range("B7")
With Workbooks.Open(xlsPath, , True).Sheets(MP1)

mcs = "'" & mcs1 & Cells(R, MDS2) & Format(Cells(R, MDS3),~~

With Workbooks.Open(xlsPath, , True).Sheets(2)
    .Activate
  .Cells.NumberFormatLocal = "@"

此次問答,感謝前輩,不吝賜教指導,學到很多小細節,感恩感恩.
杜小平

TOP

回復 14# Andy2483
以選22.XLSX,第3工作表為例,末筆資料,[合計]字樣為何拿不掉.請前輩指點,謝謝.
If Cells(R, 3) <> "" Then    '已判斷C欄空白不加入BRR(),但產生檔還是有[合計]字樣.
            p1 = Len(Cells(R, MDS4))  '備註欄長度.
            p2 = 29 - p1              '補空白長度
            mcs = "" & mcs1 & Cells(R, MDS2) & Format(Cells(R, MDS3), "00000000000") & "00" & mcs2 & Cells(R, MDS4) & String(p2, " ")
            brr(R, 1) = mcs
          End If
杜小平

TOP

回復 17# Andy2483
學到另一種方式,感激不盡.
杜小平

TOP

回復 20# 准提部林
感謝:准提部林,指導.代碼給初學者更清楚學習,感恩.
杜小平

TOP

        靜思自在 : 脾氣嘴巴不好,心地再好也不能算是好人。
返回列表 上一主題