สอบถามเรื่องการใช้ VBA Copy ข้อมูลที่เป็น text มาแล้วมี 0 นำหน้ามาที่ sheet ปลายทางแล้ว 0 หายครับ
Posted: Wed May 27, 2015 4:02 pm
คือใช้ VBA ตามด้านล่างในการดึงข้อมูลจากหลายๆ ไฟล์มารวมเป็นไฟล์เดียวกันนะครับ ได้มาจาก Link
https://msdn.microsoft.com/en-us/librar ... e.14).aspx
Dim SummarySheet As Worksheet
Dim FolderPath As String
Dim NRow As Long
Dim FileName As String
Dim WorkBk As Workbook
Dim SourceRange As Range
Dim DestRange As Range
Set SummarySheet = Workbooks.Add(xlWBATWorksheet).Worksheets(1)
FolderPath = "D:\Users\Administrator\Desktop\Temp\TTT\"
NRow = 1
FileName = Dir(FolderPath & "*.xl*")
Do While FileName <> ""
Set WorkBk = Workbooks.Open(FolderPath & FileName)
SummarySheet.Range("A" & NRow).Value = FileName
After:=WorkBk.Worksheets(1).Cells.Range("A1"), _
SearchDirection:=xlPrevious, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows).Row
Set SourceRange = WorkBk.Worksheets(1).Range("A1:Z" & LastRow)
Set DestRange = SummarySheet.Range("B" & NRow)
Set DestRange = DestRange.Resize(SourceRange.Rows.Count, _
SourceRange.Columns.Count)
DestRange.Value = SourceRange.Value
NRow = NRow + DestRange.Rows.Count
WorkBk.Close savechanges:=False
FileName = Dir()
Loop
SummarySheet.Columns.AutoFit
End Sub
ปัญหาคือพอมีการดึงข้อมูลในส่วนของที่เป็น Text ซึ่งถูกเก็บไว้แบบมี 0 นำหน้า แล้ว 0 มันหายครับ
พอจะมีวิธีแก้ไข code ตรงส่วนไหนได้บ้างครับ
http://www.uppic.org/image-B2C9_5565875A.jpg
ขอบคุณมากครับ
https://msdn.microsoft.com/en-us/librar ... e.14).aspx
Dim SummarySheet As Worksheet
Dim FolderPath As String
Dim NRow As Long
Dim FileName As String
Dim WorkBk As Workbook
Dim SourceRange As Range
Dim DestRange As Range
Set SummarySheet = Workbooks.Add(xlWBATWorksheet).Worksheets(1)
FolderPath = "D:\Users\Administrator\Desktop\Temp\TTT\"
NRow = 1
FileName = Dir(FolderPath & "*.xl*")
Do While FileName <> ""
Set WorkBk = Workbooks.Open(FolderPath & FileName)
SummarySheet.Range("A" & NRow).Value = FileName
After:=WorkBk.Worksheets(1).Cells.Range("A1"), _
SearchDirection:=xlPrevious, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows).Row
Set SourceRange = WorkBk.Worksheets(1).Range("A1:Z" & LastRow)
Set DestRange = SummarySheet.Range("B" & NRow)
Set DestRange = DestRange.Resize(SourceRange.Rows.Count, _
SourceRange.Columns.Count)
DestRange.Value = SourceRange.Value
NRow = NRow + DestRange.Rows.Count
WorkBk.Close savechanges:=False
FileName = Dir()
Loop
SummarySheet.Columns.AutoFit
End Sub
ปัญหาคือพอมีการดึงข้อมูลในส่วนของที่เป็น Text ซึ่งถูกเก็บไว้แบบมี 0 นำหน้า แล้ว 0 มันหายครับ
พอจะมีวิธีแก้ไข code ตรงส่วนไหนได้บ้างครับ
http://www.uppic.org/image-B2C9_5565875A.jpg
ขอบคุณมากครับ