Page 1 of 1

สอบถามเรื่องการใช้ VBA Copy ข้อมูลที่เป็น text มาแล้วมี 0 นำหน้ามาที่ sheet ปลายทางแล้ว 0 หายครับ

Posted: Wed May 27, 2015 4:02 pm
by netusernoname
คือใช้ 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

ขอบคุณมากครับ

Re: สอบถามเรื่องการใช้ VBA Copy ข้อมูลที่เป็น text มาแล้วมี 0 นำหน้ามาที่ sheet ปลายทางแล้ว 0 หายครับ

Posted: Wed May 27, 2015 4:20 pm
by snasui
:D อ่านกฎทุกข้อด้านบนใหม่อีกรอบครับ

กรุณากลับไปรายงานผลในกระทู้เหล่านี้ตามกฎการใช้บอร์ดข้อ 6 ด้านบน
viewtopic.php?f=3&t=6439&p=41243#p41243
viewtopic.php?f=3&t=5082&p=32937#p32937
viewtopic.php?f=3&t=5108&p=33071#p33071
viewtopic.php?f=3&t=5418&p=34992#p34992
viewtopic.php?f=3&t=5787&p=37284#p37284
viewtopic.php?f=3&t=6263&p=40215#p40215

การโพสต์ Code ควรโพสต์ให้แสดงเป็น Code โดยดูตัวอย่างจากกระทู้นี้
viewtopic.php?f=6&t=1187

การโพสต์ไฟล์แนบ ให้โพสต์มาที่ฟอรัมนี้ ตามกฎข้อ 4 ด้านบนครับ

Re: สอบถามเรื่องการใช้ VBA Copy ข้อมูลที่เป็น text มาแล้วมี 0 นำหน้ามาที่ sheet ปลายทางแล้ว 0 หายครับ

Posted: Wed May 27, 2015 5:05 pm
by netusernoname
snasui wrote::D อ่านกฎทุกข้อด้านบนใหม่อีกรอบครับ

กรุณากลับไปรายงานผลในกระทู้เหล่านี้ตามกฎการใช้บอร์ดข้อ 6 ด้านบน
viewtopic.php?f=3&t=6439&p=41243#p41243
viewtopic.php?f=3&t=5082&p=32937#p32937
viewtopic.php?f=3&t=5108&p=33071#p33071
viewtopic.php?f=3&t=5418&p=34992#p34992
viewtopic.php?f=3&t=5787&p=37284#p37284
viewtopic.php?f=3&t=6263&p=40215#p40215

การโพสต์ Code ควรโพสต์ให้แสดงเป็น Code โดยดูตัวอย่างจากกระทู้นี้
viewtopic.php?f=6&t=1187

การโพสต์ไฟล์แนบ ให้โพสต์มาที่ฟอรัมนี้ ตามกฎข้อ 4 ด้านบนครับ
ขอโทษทีครับ /\
ตอนนี้กำลังคิดว่าจะใช้ marcro ใส่คำค่า "A" นำหน้าข้อความไปก่อนแล้วหลังจากนั้นค่อยมาใช้สูตร substitute เอา A ออกแล้วค่อยเลือก paste แบบ value อีกครั้ง ไม่ทราบว่าจะมีวิธีอื่นที่ดีกว่านี้ไหมครับ

ปล.ผมพยายามจแก้ ที่โพสไปให้ถูกต้องตามกฏของกระทู้ มันแก้ไม่ได้แล้วครับ :roll:

Re: สอบถามเรื่องการใช้ VBA Copy ข้อมูลที่เป็น text มาแล้วมี 0 นำหน้ามาที่ sheet ปลายทางแล้ว 0 หายครับ

Posted: Wed May 27, 2015 5:28 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
Set DestRange = DestRange.Resize(SourceRange.Rows.Count, _
SourceRange.Columns.Count)
DestRange.NumberFormat = "@" 'Add this line
DestRange.Value = SourceRange.Value
'Other code

Re: สอบถามเรื่องการใช้ VBA Copy ข้อมูลที่เป็น text มาแล้วมี 0 นำหน้ามาที่ sheet ปลายทางแล้ว 0 หายครับ

Posted: Wed May 27, 2015 6:25 pm
by netusernoname
ได้แล้วนะครับ ขอบคุณมากครับผม