[問題] VBA 超過65535放到Sheet2

看板Office作者 (有緣人)時間9年前 (2017/02/15 20:23), 編輯推噓0(0012)
留言12則, 2人參與, 最新討論串1/1
(若是和其他不同軟體互動之問題 請記得一併填寫) 軟體:Excel 版本:Office 2010 如何改寫為當讀取超過65535時 , 寫到Sheet2 , 3 , 4............. 以下是程式碼 Sheets("Sheet1").Select '----------------------------------------------------- Application.ScreenUpdating = False Do If xChk = 0 Then xFile = Dir(ThisWorkbook.Path & "\*.csv") If xFile = "" Then MsgBox "※找不到 CSV 檔案! ", 0 + 16: Exit Sub xChk = 1 Else xFile = Dir If xFile = "" Then Exit Do End If '---------------------------------------------- uFile = ThisWorkbook.Path & "\" & xFile Set uHead = Range("A65536").End(xlUp) uHead.Value = xFile Set uHead = uHead(2, 1) With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & uFile, Destination:=uHead) .AdjustColumnWidth = False .TextFileOtherDelimiter = ":" '冒號 .TextFileCommaDelimiter = True '逗號 .Refresh BackgroundQuery:=False .Delete End With uHead.Interior.ColorIndex = 6 '每筆第一格加〔黃色〕底 NEXT_LINE: Loop -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.241.96.6 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1487161425.A.8EF.html

02/15 20:46, , 1F
將uHead內的65536改為1048576,寫判斷,如uHead列號超過
02/15 20:46, 1F

02/15 20:48, , 2F
65535時,新增個工作表sheets.add,並將超過的部分資料移
02/15 20:48, 2F

02/15 20:48, , 3F
至新的工作表內,並重新判斷新工作表內最後一列的儲存格
02/15 20:48, 3F

02/15 20:52, , 4F
另外如工作表名更名上worksheet.name
02/15 20:52, 4F

02/15 21:01, , 5F
列號取得range.row,會傳回範圍中第一個區域中的第一列的
02/15 21:01, 5F

02/15 21:01, , 6F
列號
02/15 21:01, 6F

02/15 21:53, , 7F
有範例可以參考嗎?
02/15 21:53, 7F

02/15 22:00, , 8F
上述sheets.add、worksheet.name、range.row丟goolge就有
02/15 22:00, 8F

02/15 22:00, , 9F
範例
02/15 22:00, 9F

02/20 21:22, , 10F
請問要選擇Sheets("工作表n").Select..n為常數如何使用?
02/20 21:22, 10F

02/20 21:28, , 11F
Sheets("工作表" & n).Select==>答案
02/20 21:28, 11F

02/22 07:31, , 12F
請問如何把Sheets.Count清為零?
02/22 07:31, 12F
文章代碼(AID): #1Of4XHZl (Office)
文章代碼(AID): #1Of4XHZl (Office)