[發問]請問輸出成.TXT檔時可以指定在TXT檔中的位置嗎?
- 帖子
- 77
- 主題
- 11
- 精華
- 0
- 積分
- 118
- 點名
- 0
- 作業系統
- winXP
- 軟體版本
- office2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2010-12-24
- 最後登錄
- 2011-3-2
|
[發問]請問輸出成.TXT檔時可以指定在TXT檔中的位置嗎?
請問格為大大:
EXCEL輸出成.TXT檔時,可以指定每一欄的資料開頭從哪一個位置開始嗎?
因為輸出報表需求,所有資料列中,每一欄的資料開頭的位置必須一致
因資料長短不一,又夾雜中、英文與數字
所以不管我用Len、LenB去算同一蘭的最大長度,其餘補空白的方式皆無法圓滿
所以想請問各位大大能否直接指定起始位置?
或還有其他解決方式?
感恩 |
|
ASUS
|
|
|
|
|
- 帖子
- 77
- 主題
- 11
- 精華
- 0
- 積分
- 118
- 點名
- 0
- 作業系統
- winXP
- 軟體版本
- office2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2010-12-24
- 最後登錄
- 2011-3-2
|
14#
發表於 2011-1-19 17:18
| 只看該作者
回復 13# Hsieh
感謝Hsieh大大
我大概有七、八成懂了
我會試著用這些概念來寫一個函數,已徹底了解其用法
感謝您
這真是個豐收的一天 |
|
ASUS
|
|
|
|
|
- 帖子
- 77
- 主題
- 11
- 精華
- 0
- 積分
- 118
- 點名
- 0
- 作業系統
- winXP
- 軟體版本
- office2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2010-12-24
- 最後登錄
- 2011-3-2
|
12#
發表於 2011-1-19 16:30
| 只看該作者
本帖最後由 asus103 於 2011-1-19 16:52 編輯
回復 11# Hsieh
感謝Hsieh大大的解說
我可以繼續請教嗎?
1.For Each A In [A1:D1]
ad = Range(A, Cells(Cells.Rows.Count, A.Column).End(xlUp)).Address
ad不是A1:D11嗎?為何每一次移動一欄而不是一個儲存格
ans:我使用第一列作迴圈,所以ad字串是傳回該列資料範圍的位址
不好意思,我還是不懂是如何告訴VBA是列作迴圈的
2.Ar(s) = Evaluate("MAX(LENb(" & ad & "))")
上式之所以是陣列公式是因為" & ad & "還是 Evaluate
換言之,若要在VBA中使用陣列公式要注意甚麼
如果說:
陣列公式中的{}用Evaluate()取代,EXCEL的函數所需引數放入字串中並用" & & "來帶入
這樣對嗎?
3.Evaluate的用法我還須多加琢磨,只是
"使用Evaluate方法中等同是工作表函數運算"為何不是使用application.---
其實我也試過用application.LenB()只是編譯階段就出錯了
不好意思,繼續找您麻煩
如果有其他地方有Evaluate的用法或是VBA中使用陣列公式的使用說明
煩請告知,我會再多加努力的 |
|
ASUS
|
|
|
|
|
- 帖子
- 77
- 主題
- 11
- 精華
- 0
- 積分
- 118
- 點名
- 0
- 作業系統
- winXP
- 軟體版本
- office2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2010-12-24
- 最後登錄
- 2011-3-2
|
10#
發表於 2011-1-19 14:55
| 只看該作者
回復 8# Hsieh
Hsieh大大您好:
您的程式碼真是神乎其技阿
感恩
程式碼中許多事並不明白,還請指教
1.For Each A In [A1:D1]
ad = Range(A, Cells(Cells.Rows.Count, A.Column).End(xlUp)).Address
ad不是A1:D11嗎?為何每一次移動一欄而不是一個儲存格
2.Ar(s) = Evaluate("MAX(LENb(" & ad & "))")
感覺上像EXCEL中陣列的用法,但實在掌握不住竅門所在,能解釋一下這個用法嗎?
3.Evaluate("LenB(""" & test & """)") 的用法也看不懂
我把它改成 LenB( test) 後逐行執行時還OK,但最後似乎變成無線迴圈跳不出來
Evaluate()已大大的用法似乎代表函數是嗎?但說明中只有它是"方法"的用法
4.我用lenb()在程式中得到的第2欄最大值為26,為何大大能得正確的22
是我程度太差了,這麼多看不懂的地方
還請大大多加提點
感謝再感謝 |
|
ASUS
|
|
|
|
|
- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
9#
發表於 2011-1-19 13:40
| 只看該作者
|
學習才能提升自己
|
|
|
|
|
- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
7#
發表於 2011-1-18 17:39
| 只看該作者
本帖最後由 hugh0620 於 2011-1-18 17:49 編輯
回復 5# asus103
我有做了一些調整~ 不過還是有些地方有點錯誤 請查閱附檔~
資料長短不一XC.rar (101.94 KB)
|
|
學習才能提升自己
|
|
|
|
|
- 帖子
- 77
- 主題
- 11
- 精華
- 0
- 積分
- 118
- 點名
- 0
- 作業系統
- winXP
- 軟體版本
- office2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2010-12-24
- 最後登錄
- 2011-3-2
|
6#
發表於 2011-1-18 16:49
| 只看該作者
回復 4# hugh0620
"VBA向前衝"大大感謝您
我也會再好好研究您的程式碼的
謝謝 |
|
ASUS
|
|
|
|
|