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
วันพฤหัสบดีที่ 19 กรกฎาคม พ.ศ. 2555
การล้างข้อความพารามิเตอร์คอลัมน์
คุณเคยนำเข้าไฟล์ CSV หรือข้อมูลที่วางลงในแผ่นงานเพียงเพื่อจะพบว่า Excel แยกข้อมูลของคุณไม่ถูกต้อง? ถ้าเป็นเช่นนั้นผู้กระทำผิดน่าจะเป็นข้อความในลักษณะคอลัมน์ ที่นี่ขั้นตอนที่ 2 ของวิซาร์ดที่ใช้ในการแยกคอลัมน์เดียวของข้อมูลที่คั่นด้วยเป็นหลายคอลัมน์ที่
ในกรณีนี้สามตัวคั่นที่ระบุ: แท็บ, จุลภาค, ลำไส้ใหญ่และ
นี่คือคุณสมบัติที่มีประโยชน์มากและฉันจะใช้มันมาก ปัญหาคือ Excel พยายามที่จะเป็นประโยชน์โดยการจดจำการตั้งค่าเหล่านี้สำหรับการนำเข้า CSV ที่ตามมาและการดำเนินการวาง บางครั้งการจดจำการตั้งค่าเหล่านี้คือเรื่องจริงที่เป็นประโยชน์ แต่มักจะไม่ เมื่อต้องการล้างตัวคั่นเหล่านี้คุณต้องแสดงกล่องโต้ตอบนี้ล้างการตั้งค่าและคลิกยกเลิก
หากคุณกำลังนำเข้าหรือวางผ่านแมโครไม่มีวิธีโดยตรงสำหรับแมโครของคุณเพื่อตรวจสอบการตั้งค่าเหล่านี้หรือตั้งค่าได้ที่ วิธีการแก้ปัญหาคือการ "ปลอม" การดำเนินการแปลงข้อความเป็นคอลัมน์ ขั้นตอนด้านล่างไม่ว่าด้วยผลของการล้างการตั้งค่าทั้งหมดจากข้อความไปยังกล่องโต้ตอบคอลัมน์ (และทำให้ไม่มีการเปลี่ยนแปลงไปยังสมุดงานของคุณ)
แมโครนี้อนุมานว่าแผ่นงานมีการใช้งานและยังไม่ได้รับการคุ้มครอง โปรดทราบว่าเนื้อหาของเซลล์ A1 จะไม่สามารถแก้ไขได้เนื่องจากการดำเนินงานยังไม่มีการระบุไว้สำหรับวิธีการ TextToColumns
หากเซลล์ A1 ว่างที่จะแทรกโค้ดสตริงชั่วคราว (เนื่องจากวิธีการที่จะล้มเหลว TextToColumns ถ้าเป็นเซลล์ที่ว่างเปล่า)ก่อนที่จะสิ้นสุดขั้นตอนการลบสตริงชั่วคราว
ขอรายชื่อไฟล์ - วิธีอื่น
ใน ปลายหน้าที่ ผมอธิบายวิธีการของการวางรายชื่อไฟล์จากไดเรกทอรีลงในช่วง Excel วันนี้ผมค้นพบวิธีการที่ง่ายมากอีกโดยใช้โปรโตคอล File ในเว็บเบราเซอร์
- หมายเหตุ: วิธีการนี้ไม่ได้ทำงานกับ Internet Explorer ผมทดสอบกับ Firefox และ Chrome และมันทำงานได้ดีกับเบราว์เซอร์ดังกล่าว
มันง่ายสวย:
- ป้อนเส้นทางไดเรกทอรีในแถบที่อยู่ของเบราเซอร์ ตัวอย่างเช่น G: \ Music
เบราว์เซอร์จะแปลงเส้นทางนี้เป็น URI (Uniform Resource Identifier) ตัวอย่างเช่น G: \ Music ถูกแปลงเป็นfile :/ / / เพลงกรัม :/ / นอกจากนี้ไฟล์ในไดเรกทอรีที่จะแสดงเป็นเชื่อมโยงหลายมิติและคุณสามารถเข้าไปในไดเรกทอรีโดยคลิกที่ชื่อไดเรกทอรี นี่เป็นวิธีที่รายชื่อไฟล์จะปรากฏขึ้นใน Firefox: - กด Ctrl + A เพื่อเลือกทั้งหมดของข้อความแล้วกด Ctrl + C เพื่อคัดลอก
- เปิดใช้งาน Excel ให้เลือกเซลล์และกด Ctrl + V เพื่อวาง
ชื่อไฟล์จะถูกวางเป็นเชื่อมโยงหลายมิติที่มีข้อความที่ตัด คุณอาจจะชอบที่จะใช้การวางแบบพิเศษ (มีตัวเลือกข้อความ) มากกว่า Ctrl + V คุณจะได้รับช่วงสามคอลัมน์เช่นนี้ (คัดลอกมาจาก Firefox):
เบราว์เซอร์ Chrome ของ Google เป็นจริงดีกว่าสำหรับงานนี้เพราะไม่ได้นำหน้าชื่อไฟล์ด้วย "ไฟล์:" และมันทำให้วันที่และเวลาในเซลล์เดียว
เทคนิคนี้ใช้ได้กับไดเรกทอรีเดียว หากคุณต้องการได้รับรายชื่อของไฟล์ในไดเรกทอรีหลายคุณต้องทำซ้ำขั้นตอนสำหรับแต่ละไดเรกทอรี
สำหรับความยืดหยุ่นมากขึ้นให้ใช้ยูทิลิตี้ลิสเตอร์ไฟล์ชื่อในฉัน PUP add-in .
เมนูแบบเก่าใน Excel 2007
นี่คือวิธีที่รวดเร็วในการแสดงเมนูแบบเก่าใน Excel 2007 หรือในภายหลังสถานที่ ดำเนินการขั้นตอนนี้ VBA, และคุณจะได้รับแถบเครื่องมือที่มีเก่า Excel 2003 คำสั่งเมนู
Sub MakeOldMenus()
Dim cb As CommandBar
Dim cbc As CommandBarControl
Dim OldMenu As CommandBar
' Delete it, if it exists
On Error Resume Next
Application.CommandBars("Old Menus").Delete
On Error GoTo 0
' Create an old-style toolbar
' Set the last argument to False for a more compact menu
Set OldMenu = Application.CommandBars.Add("Old Menus", , True)
' Copy the controls from Excel's "Built-in Menus" shortcut menu
With CommandBars("Built-in Menus")
.Controls("&File").Copy OldMenu
.Controls("&Edit").Copy OldMenu
.Controls("&View").Copy OldMenu
.Controls("&Insert").Copy OldMenu
.Controls("F&ormat").Copy OldMenu
.Controls("&Tools").Copy OldMenu
.Controls("&Data").Copy OldMenu
.Controls("&Window").Copy OldMenu
.Controls("&Help").Copy OldMenu
End With
' Make it visible. It appears in the Add-Ins tab
Application.CommandBars("Old Menus").Visible = True
End Sub
หลังจากที่คุณรันแมโครนี้เมนูใหม่จะปรากฏในแท็บ Add-Ins:
เมนูไม่สมบูรณ์ ไม่กี่คำสั่งไม่ทำงานและรายการของไฟล์ล่าสุดใน F ile เมนูเพียงแสดงตัวยึด
ยกเลิกการเชื่อมโยงตารางสาระสำคัญจากข้อมูลต้นฉบับ
คุณอาจจะมีสถานการณ์ที่คุณจำเป็นต้องส่งคนเดือยตารางรายงานสรุป แต่คุณไม่ต้องการที่จะรวมข้อมูลเดิม ในคำอื่น ๆ ที่คุณต้องการ "ยกเลิกการเชื่อมโยง" ตารางเดือยจากแหล่งข้อมูลของตน
ที่นี่ตารางที่จัดรูปแบบเดือยอย่างใน Excel 2010 สถานที่:
Excel ไม่ได้มีคำสั่งยกเลิกการเชื่อมโยงตารางเดือย แต่ไม่ได้มีการวางคำสั่งที่มีความยืดหยุ่นพิเศษ การใช้คำสั่งที่มีตัวเลือกคุ้มค่าที่ควรดำเนินการงาน:
- เลือกเซลล์ตารางเดือยและกด Ctrl + C เพื่อคัดลอกช่วง
- แสดงกล่องโต้ตอบการวางแบบพิเศษ การกด Alt + ES เป็นวิธีการที่ชื่นชอบและการทำงานสำหรับทุกรุ่น
- ในกล่องโต้ตอบการวางแบบพิเศษให้เลือกตัวเลือกที่คุ้มที่สุดและคลิก OK
ตารางเดือยคือยกเลิกการเชื่อมโยง แต่ถ้าคุณใช้ Excel 2007 หรือ Excel 2010, เดือยตารางการจัดรูปแบบแฟนซีสไตล์หายไป:
เพื่อให้ได้รับการจัดรูปแบบกลับมาคุณจะต้องดำเนินการทั้งสองขั้นตอนเพิ่มเติม:
- แสดง Office คลิปบอร์ด ใน Excel 2007 และ 2010 ให้คลิกที่ไอคอนกล่องโต้ตอบในมุมด้านล่างขวาของหน้าแรก - กลุ่มคลิปบอร์ด
- ด้วยเดือยยกเลิกการเชื่อมโยงที่เลือกให้คลิกรายการบน Office คลิปบอร์ดที่สอดคล้องกับการดำเนินการหมุนสำเนาตาราง มันจะเป็นรายการสุดท้ายเว้นแต่คุณจะถูกคัดลอกอย่างอื่น
ตอนนี้ตารางเดือยคือยกเลิกการเชื่อมโยงข้อมูลจากแหล่งข้อมูลของตนยังคงรักษาทั้งหมดของการจัดรูปแบบเดิม
โดยวิธีการนี้เป็นจริงครั้งแรกที่ฉันเคยทำสิ่งที่มีประโยชน์กับ Office คลิปบอร์ด ซึ่งเป็นจริงค่อนข้างไร้ประโยชน์ใน Excel เพราะไม่ได้ถือสูตร - เพียงค่าที่ส่งกลับโดยสูตรคุณอาจจะมีสถานการณ์ที่คุณจำเป็นต้องส่งคนเดือยตารางรายงานสรุป แต่คุณไม่ต้องการที่จะรวมข้อมูลเดิม ในคำอื่น ๆ ที่คุณต้องการ "ยกเลิกการเชื่อมโยง" ตารางเดือยจากแหล่งข้อมูลของตน
ที่นี่ตารางที่จัดรูปแบบเดือยอย่างใน Excel 2010 สถานที่:
Excel ไม่ได้มีคำสั่งยกเลิกการเชื่อมโยงตารางเดือย แต่ไม่ได้มีการวางคำสั่งที่มีความยืดหยุ่นพิเศษ การใช้คำสั่งที่มีตัวเลือกคุ้มค่าที่ควรดำเนินการงาน:
- เลือกเซลล์ตารางเดือยและกด Ctrl + C เพื่อคัดลอกช่วง
- แสดงกล่องโต้ตอบการวางแบบพิเศษ การกด Alt + ES เป็นวิธีการที่ชื่นชอบและการทำงานสำหรับทุกรุ่น
- ในกล่องโต้ตอบการวางแบบพิเศษให้เลือกตัวเลือกที่คุ้มที่สุดและคลิก OK
ตารางเดือยคือยกเลิกการเชื่อมโยง แต่ถ้าคุณใช้ Excel 2007 หรือ Excel 2010, เดือยตารางการจัดรูปแบบแฟนซีสไตล์หายไป:
เพื่อให้ได้รับการจัดรูปแบบกลับมาคุณจะต้องดำเนินการทั้งสองขั้นตอนเพิ่มเติม:
- แสดง Office คลิปบอร์ด ใน Excel 2007 และ 2010 ให้คลิกที่ไอคอนกล่องโต้ตอบในมุมด้านล่างขวาของหน้าแรก - กลุ่มคลิปบอร์ด
- ด้วยเดือยยกเลิกการเชื่อมโยงที่เลือกให้คลิกรายการบน Office คลิปบอร์ดที่สอดคล้องกับการดำเนินการหมุนสำเนาตาราง มันจะเป็นรายการสุดท้ายเว้นแต่คุณจะถูกคัดลอกอย่างอื่น
ตอนนี้ตารางเดือยคือยกเลิกการเชื่อมโยงข้อมูลจากแหล่งข้อมูลของตนยังคงรักษาทั้งหมดของการจัดรูปแบบเดิม
โดยวิธีการนี้เป็นจริงครั้งแรกที่ฉันเคยทำสิ่งที่มีประโยชน์กับ Office คลิปบอร์ด ซึ่งเป็นจริงค่อนข้างไร้ประโยชน์ใน Excel เพราะไม่ได้ถือสูตร - เพียงค่าที่ส่งกลับโดยสูตร