คุณเคยนำเข้าไฟล์ CSV หรือข้อมูลที่วางลงในแผ่นงานเพียงเพื่อจะพบว่า Excel แยกข้อมูลของคุณไม่ถูกต้อง? ถ้าเป็นเช่นนั้นผู้กระทำผิดน่าจะเป็นข้อความในลักษณะคอลัมน์ ที่นี่ขั้นตอนที่ 2 ของวิซาร์ดที่ใช้ในการแยกคอลัมน์เดียวของข้อมูลที่คั่นด้วยเป็นหลายคอลัมน์ที่
ในกรณีนี้สามตัวคั่นที่ระบุ: แท็บ, จุลภาค, ลำไส้ใหญ่และ
นี่คือคุณสมบัติที่มีประโยชน์มากและฉันจะใช้มันมาก ปัญหาคือ Excel พยายามที่จะเป็นประโยชน์โดยการจดจำการตั้งค่าเหล่านี้สำหรับการนำเข้า CSV ที่ตามมาและการดำเนินการวาง บางครั้งการจดจำการตั้งค่าเหล่านี้คือเรื่องจริงที่เป็นประโยชน์ แต่มักจะไม่ เมื่อต้องการล้างตัวคั่นเหล่านี้คุณต้องแสดงกล่องโต้ตอบนี้ล้างการตั้งค่าและคลิกยกเลิก
หากคุณกำลังนำเข้าหรือวางผ่านแมโครไม่มีวิธีโดยตรงสำหรับแมโครของคุณเพื่อตรวจสอบการตั้งค่าเหล่านี้หรือตั้งค่าได้ที่ วิธีการแก้ปัญหาคือการ "ปลอม" การดำเนินการแปลงข้อความเป็นคอลัมน์ ขั้นตอนด้านล่างไม่ว่าด้วยผลของการล้างการตั้งค่าทั้งหมดจากข้อความไปยังกล่องโต้ตอบคอลัมน์ (และทำให้ไม่มีการเปลี่ยนแปลงไปยังสมุดงานของคุณ)
Sub ClearTextToColumns() On Error Resume Next If IsEmpty(Range("A1")) Then Range("A1") = "XYZZY" Range("A1").TextToColumns Destination:=Range("A1"), _ DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, _ Tab:=False, _ Semicolon:=False, _ Comma:=False, _ Space:=False, _ Other:=False, _ OtherChar:="" If Range("A1") = "XYZZY" Then Range("A1") = "" If Err.Number <> 0 Then MsgBox Err.Description End Sub
แมโครนี้อนุมานว่าแผ่นงานมีการใช้งานและยังไม่ได้รับการคุ้มครอง โปรดทราบว่าเนื้อหาของเซลล์ A1 จะไม่สามารถแก้ไขได้เนื่องจากการดำเนินงานยังไม่มีการระบุไว้สำหรับวิธีการ TextToColumns
หากเซลล์ A1 ว่างที่จะแทรกโค้ดสตริงชั่วคราว (เนื่องจากวิธีการที่จะล้มเหลว TextToColumns ถ้าเป็นเซลล์ที่ว่างเปล่า)ก่อนที่จะสิ้นสุดขั้นตอนการลบสตริงชั่วคราว
0 ความคิดเห็น:
แสดงความคิดเห็น