เพื่อมุ่งให้เกิดคุณภาพจากการอบรมสูงสุด Excel Expert Training ให้การอบรม Excel กลุ่มเล็กๆ ไม่เกิน 6 คนทุกคนสามารถเรียนรู้ Excel อย่างใกล้ชิด จะมาคนเดียวหรือมาเป็นกลุ่มแล้วนัดวันอบรมแบบส่วนตัวก็ได้
ผู้เข้าอบรมทุกคนสามารถติดตามเนื้อหาที่อบรมได้อย่างชัดเจนจากจอภาพด้านหน้าของตัวเอง
-
macro ใช้ for...next
สวัสดี ท่านอาจารย์ และทุก ๆ คนคะ
คือว่าหนูจะทำให้ macro import ไฟล์ที่อยู่ใน D:\data ไฟล์นามสกุล .FMT คะ โดยที่แต่ละไฟล์ Import มาไว้ในแต่ละ sheets โดยตั้งชื่อ sheets = P1...P30
รบกวนสอบถามเกี่ยวกับ macro ข้างล่างนี้คะ คือ ลองทำดู record macro และลองแก้ใช้ for...next ลองรันแล้วไม่สำเร็จ ไม่ทราบว่าหนูจะต้องแก้ยังไงคะ
ช่วยหนูหน่อยนะคะ
Enddata = Range("BB30").End(xlUp).Row
For I = 1 To 30
For J = 1 To Enddata
Sheets("PI").Select
Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;D:\data\" & Sheets("AIS_FTP").Cells(J, 53) & ".FMT", _
Destination:=Range("A1"))
.Name = ""
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = flase
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Range("BB1").Select
Columns("P:P").advancefilter Action:=xlFilterCopy, copytorange:=Range( _
"BB1"), Unique:=True
Range("BF1").Select
Columns("Q:Q").AdvancedFilter Action:=xlFilterCopy, copytorange:=Range( _
"BF1"), Unique:=True
Next
ขอรบกวนอีกอย่างได้ไหมคะ คือ อาจารย์พอจะมีวิธีให้เปิดไฟล์ มา import ใน excel เลยได้ไหมคะ (เพราะตอนนี้ใช้วิธี Copy ชื่อไฟล์ทีละไฟล์มาไว้ใน excel คะ)
ช่วยหนูทีนะคะ
ขอบพระคุณคะ
-
-
ไม่ผิดกฏหรอกครับ เพียงแต่อ่านแล้วไม่เข้าใจว่า ต้องการอะไรจาก For next ว่าจากเดิมที่ว่าไม่สำเร็จนั้น อาการเป็นอย่างไร และที่ต้องการใหม่นั้นเป็นอย่างไร
แฟ้ม fmt เพิ่งเคยเห็นคราวนี้เอง มาจากโปรแกรมอะไรครับ ควรแนบแฟ้มที่ทำแล้วมาด้วย จะได้ช่วยให้คนอื่นเขาเข้าใจง่ายขึ้น
นอกจากนั้นควรแยกปัญหาเป็นข้อๆให้ชัดเจน อ่านแล้วสงสัยว่าติดปัญหา For next แล้วปัญหาเปิดแฟ้มล่ะ
-
รายละเอียดคะ
1. มีชีท P(1) ถึง P(30) คะ (จริง ๆ แล้วตอนแรกตั้งชื่อชีทเป็น P001.......P030 ทำไม่ได้ เลยนำของคุณอรวีร์มาใช้ ตามกระทู้ที่อ้างถึง) และชีทสุดท้าย AIS_FTP เป็นชีทที่ใส่ชื่อไฟล์ที่จะนำมา import คะ
2. ต้องการ import ไฟล์ ใน D:\export\***.FMT (เป็น .txt ก็ได้คะ) มาไว้ในชีท ทีละชีทจนครบคะ โดยเปลี่ยนโค้ดตรงนี้ (สีแดง)
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;D:\data\" & Sheets("AIS_FTP").Cells(J, 53) & ".FMT", _
Destination:=Range("A1"))
เพื่อให้เปิดชื่อไฟล์ที่เรา Copyไว้ใน ชีท AIS_FTP คะ อยู่ที่ "BB1"
3.แต่ละชีทต้องการดึงค่าที่ซ้ำ ๆ กันในคอลัมน์ P:P มาไว้ที่ BB1 และคอลัมน์ Q:Q มาไว้ที่ BF1
ครั้งแรกลองแล้วรันไม่ได้เลย เข้าใจว่าติดตรงโค้ดที่ไม่ได้จัดย่อหน้า (ไม่แน่ใจว่าเข้าใจถูกหรือป่าวนะคะ เพราะลองแก้แล้วมาโครก็ยอมรันให้คะ)
ลองครั้งที่สองใช้ For I โดยที่กำหนดชื่อไฟล์ตายตัว โอเคผ่าน มันก็ Import File ให้ครบทุกชีทโดยเป็นชื่อไฟล์เดียวกัน
ลองครั้งที่สามใช้ For J ตัวนี้แหละ คือต้องการให้เปลี่ยนชื่อไฟล์
ปัญหาคือ
1. ไม่มีไฟล์ที่ import ทุก ๆ ชีทเลย
2. ติด .Refresh BackgroundQuery:=False ไม่ทราบว่าเป็นเพราะอะไร
3. ต้องการดึงค่าที่ซ้ำ ๆ กัน โค้ดนี้ก็ไม่ผ่านคะ
ส่วนไฟล์ .FMT เป็นโปรแกรมของบริษัทฯ คะ นำมาให้ดูไม่ได้คะ เป็นความลับของบริษัทฯ ขอโทษด้วยนะคะอาจารย์ แต่สามารถเปลี่ยนใช้ไฟล์ .txt แทนก็ได้คะ
ได้แนบไฟล์มาไว้พิจารณาด้วยคะ
Similar Threads
-
By yod001 in forum Excel Expert Forum Library 2012 - 2007
Replies: 8
Last Post: 19 Aug 2009, 14:08
-
By Krid in forum Excel Expert Forum Library 2012 - 2007
Replies: 1
Last Post: 4 Jun 2008, 10:59
-
By webtoo in forum Excel Expert Forum Library 2012 - 2007
Replies: 1
Last Post: 18 Mar 2008, 13:03
-
By tung268173 in forum Excel Expert Forum Library 2012 - 2007
Replies: 1
Last Post: 23 Nov 2007, 09:59
-
By chinimon in forum Excel Expert Forum Library 2012 - 2007
Replies: 3
Last Post: 19 Oct 2007, 22:12
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules