คำถามติดแท็ก excel

สำหรับคำถามเกี่ยวกับการเขียนโปรแกรมกับวัตถุหรือไฟล์ Excel หรือการพัฒนาสูตรที่ซับซ้อน คุณสามารถรวมแท็ก Excel กับ VBA, VSTO, C #, VB.NET, PowerShell, OLE automation และแท็กและคำถามเกี่ยวกับการเขียนโปรแกรมอื่น ๆ ที่เกี่ยวข้อง ความช่วยเหลือทั่วไปเกี่ยวกับ MS Excel สำหรับฟังก์ชั่นแผ่นงานเดียวมีอยู่ที่ Super User

8
ฉันจะประกาศตัวแปรส่วนกลางใน VBA ได้อย่างไร
ฉันเขียนรหัสต่อไปนี้: Function find_results_idle() Public iRaw As Integer Public iColumn As Integer iRaw = 1 iColumn = 1 และฉันได้รับข้อความแสดงข้อผิดพลาด: "แอตทริบิวต์ที่ไม่ถูกต้องใน Sub หรือ Function" คุณรู้ไหมว่าฉันทำอะไรผิด? ฉันพยายามใช้GlobalแทนPublicแต่มีปัญหาเดียวกัน ฉันพยายามประกาศว่าฟังก์ชันนี้เป็นสาธารณะ แต่ก็ไม่ดีเช่นกัน ฉันต้องทำอย่างไรเพื่อสร้างตัวแปรส่วนกลาง

23
การนำเข้า CSV พร้อมตัวแบ่งบรรทัดใน Excel 2007
ฉันกำลังทำงานกับฟีเจอร์เพื่อส่งออกผลการค้นหาไปยังไฟล์ CSV เพื่อเปิดใน Excel หนึ่งในฟิลด์คือฟิลด์ข้อความอิสระซึ่งอาจมีการแบ่งบรรทัดจุลภาคเครื่องหมายคำพูด ฯลฯ เพื่อที่จะแก้ไขปัญหานี้ฉันได้รวมฟิลด์นั้นด้วยเครื่องหมายคำพูดคู่ (") อย่างไรก็ตามเมื่อฉันนำเข้าข้อมูลลงใน Excel 2007 ตั้งค่าตัวคั่นที่เหมาะสมและตั้งค่าคุณสมบัติข้อความเป็นเครื่องหมายอัญประกาศคู่การแบ่งบรรทัดยังคงสร้างเรกคอร์ดใหม่ที่ตัวแบ่งบรรทัดซึ่งฉันคาดว่าจะเห็นฟิลด์ข้อความทั้งหมดใน เซลล์เดียว ฉันได้ลองแทนที่ CR / LF (\ r \ n) ด้วยแค่ CR (\ r) และอีกครั้งด้วย LF (\ n) แต่ไม่มีโชค มีใครพบพฤติกรรมนี้บ้างและถ้าเป็นเช่นนั้นคุณแก้ไขอย่างไร TIA, -J แก้ไข: นี่คือไฟล์ด่วนที่ฉันเขียนด้วยมือเพื่อทำซ้ำปัญหา ID, ชื่อ, คำอธิบาย "12345", "Smith, Joe", "เฮ้ ฉันชื่อโจ" เมื่อฉันนำเข้าสิ่งนี้ใน Excel 2007 ฉันจะจบลงด้วยแถวส่วนหัวและสองระเบียน โปรดทราบว่าเครื่องหมายจุลภาคใน "Smith, Joe" …
130 excel  csv  newline  excel-2007 

6
ลบช่องว่างนำหน้าหรือต่อท้ายในคอลัมน์ข้อมูลทั้งหมด
ฉันจะลบช่องว่างนำหน้าหรือต่อท้ายของเซลล์ทั้งหมดในคอลัมน์ทั้งหมดได้อย่างไร กล่องโต้ตอบแบบธรรมดาFind and Replace(aka Ctrl+ H) ของเวิร์กชีตไม่สามารถแก้ปัญหาได้

9
การแปลงวันที่ของ Excel เป็นสตริง
ในเซลล์ในแผ่นงาน Excel ฉันมีค่าวันที่เช่น: 01/01/2010 14:30:00 ฉันต้องการแปลงวันที่เป็นข้อความและต้องการให้ข้อความดูเหมือนวันที่ทุกประการ ดังนั้นค่า Date 01/01/2010 14:30:00ควรมีลักษณะดังนี้01/01/2010 14:30:00แต่ภายในควรเป็น Text ฉันจะทำสิ่งนั้นใน Excel ได้อย่างไร

15
คำสั่ง IF: วิธีปล่อยให้เซลล์ว่างถ้าเงื่อนไขเป็นเท็จ (“” ไม่ทำงาน)
ฉันต้องการเขียนคำสั่ง IF โดยที่เซลล์จะเว้นว่างไว้หากเงื่อนไขเป็น FALSE โปรดทราบว่าหากป้อนสูตรต่อไปนี้ใน C1 ( ซึ่งเงื่อนไขเป็นเท็จ ) เช่น: =IF(A1=1,B1,"") และถ้า C1 ถูกทดสอบว่าว่างหรือไม่ได้ใช้=ISBLANK(C1)สิ่งนี้จะส่งคืนFALSEแม้ว่า C1 จะดูเหมือนว่างก็ตาม ซึ่งหมายความว่าใน=IF(A1=1,B1,"")ทางเทคนิคสูตรจะไม่ปล่อยเซลล์ว่างไว้หากไม่ตรงตามเงื่อนไข มีความคิดเกี่ยวกับวิธีการบรรลุสิ่งนั้นหรือไม่? ขอบคุณ

4
แสดงมิลลิวินาทีใน Excel
ฉันพยายามแสดงมิลลิวินาทีในแมโคร Excel ฉันมีคอลัมน์ของจำนวนเต็มซึ่งเป็นการประทับเวลาในหน่วยมิลลิวินาที (เช่น 28095200 คือ 7: 48: 15.200 น.) และฉันต้องการสร้างคอลัมน์ใหม่ถัดจากนั้นซึ่งจะเก็บค่าเฉลี่ยที่ทำงานอยู่และแสดงเวลาในhh:mm:ss.000รูปแบบ Dim Cel As Range Set Cel = Range("B1") temp = Application.Average(Range("A1:A2")) / 1000 ms = Round(temp - Int(temp), 2) * 1000 Cel.Value = Strings.Format((temp / 60 / 60 / 24), "hh:mm:ss") _ & "." & Strings.Format(ms, "#000") ซึ่งจะแสดงเฉพาะ "mm: …
123 excel  vba  time 

11
จะเขียนลงไฟล์ excel ที่มีอยู่โดยไม่เขียนทับข้อมูล (โดยใช้แพนด้า) ได้อย่างไร?
ฉันใช้แพนด้าเขียนลงในไฟล์ excel ในลักษณะต่อไปนี้: import pandas writer = pandas.ExcelWriter('Masterfile.xlsx') data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) writer.save() Masterfile.xlsx ประกอบด้วยแท็บต่างๆอยู่แล้ว อย่างไรก็ตามยังไม่มี "Main" หมีแพนด้าเขียนลงในแผ่นงาน "หลัก" อย่างถูกต้องขออภัยที่มันลบแท็บอื่น ๆ ทั้งหมดด้วย


4
วนซ้ำแต่ละแถวของช่วงใน Excel
นี่เป็นหนึ่งในสิ่งที่ฉันแน่ใจว่ามีฟังก์ชั่นในตัว (และฉันอาจจะเคยบอกไปแล้วในอดีต) แต่ฉันเกาหัวเพื่อจำมัน ฉันจะวนรอบแต่ละแถวของช่วงหลายคอลัมน์โดยใช้ Excel VBA ได้อย่างไร บทเรียนทั้งหมดที่ฉันค้นหาดูเหมือนจะพูดถึงการทำงานผ่านช่วงมิติเดียวเท่านั้น ...
117 excel  vba  loops  excel-2003 

5
ฉันจะใส่เครื่องหมายคำพูดคู่ในสตริงใน vba ได้อย่างไร
ฉันต้องการแทรกคำสั่ง if ในเซลล์ผ่าน vba ซึ่งมีเครื่องหมายคำพูดคู่ นี่คือรหัสของฉัน: Worksheets("Sheet1").Range("A1").Value = "=IF(Sheet1!B1=0,"",Sheet1!B1)" เนื่องจากอัญประกาศคู่ฉันมีปัญหากับการแทรกสตริง ฉันจะจัดการกับเครื่องหมายคำพูดคู่ได้อย่างไร
116 excel  vba  double-quotes 

22
ทดสอบหรือตรวจสอบว่ามีแผ่นงานอยู่หรือไม่
Dim wkbkdestination As Workbook Dim destsheet As Worksheet For Each ThisWorkSheet In wkbkorigin.Worksheets 'this throws subscript out of range if there is not a sheet in the destination 'workbook that has the same name as the current sheet in the origin workbook. Set destsheet = wkbkdestination.Worksheets(ThisWorkSheet.Name) Next โดยทั่วไปฉันวนซ้ำแผ่นงานทั้งหมดในสมุดงานต้นทางจากนั้นตั้งค่าdestsheetในสมุดงานปลายทางเป็นแผ่นงานที่มีชื่อเดียวกันกับแผ่นงานที่ทำซ้ำในปัจจุบันในสมุดงานต้นทาง ฉันจะทดสอบได้อย่างไรว่ามีแผ่นงานนั้นอยู่ สิ่งที่ต้องการ: …
115 excel  vba  scripting 

6
“ ผู้ให้บริการ 'Microsoft.ACE.OLEDB.12.0' ไม่ได้ลงทะเบียนบนเครื่องท้องถิ่น” เกิดข้อผิดพลาดในการนำเข้า xlsx ไปยังเซิร์ฟเวอร์ sql
ฉันมี Windows 7 64 บิตและ SQLServer 2008 R2 (64 บิต) ฉันทำตามคำแนะนำที่นี่เพื่อนำเข้าไฟล์ excel ไปยังเซิร์ฟเวอร์ sql แต่ในส่วนรูปที่ 3 ของโพสต์นั้นเมื่อฉันพยายามเข้าถึงไฟล์ excel และเมื่อฉันคลิกถัดไปข้อผิดพลาดนี้ทำให้ฉันหยุด: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine AccessDatabaseEngine_x64ฉันค้นหาเว็บฉันรู้ว่าฉันต้องติดตั้ง แต่เมื่อฉันติดตั้งฉันมีปัญหาเดียวกัน คุณช่วยฉันหน่อยได้ไหมว่าต้องทำอย่างไร

3
แพนด้าสามารถใช้คอลัมน์เป็นดัชนีได้หรือไม่?
ฉันมีสเปรดชีตดังนี้: Locality 2005 2006 2007 2008 2009 ABBOTSFORD 427000 448000 602500 600000 638500 ABERFELDIE 534000 600000 735000 710000 775000 AIREYS INLET459000 440000 430000 517500 512500 ฉันไม่ต้องการสลับคอลัมน์กับแถวด้วยตนเอง เป็นไปได้ไหมที่จะใช้ข้อมูลการอ่านแพนด้ากับรายการดังนี้: data['ABBOTSFORD']=[427000,448000,602500,600000,638500] data['ABERFELDIE']=[534000,600000,735000,710000,775000] data['AIREYS INLET']=[459000,440000,430000,517500,512500]
114 python  excel  pandas 

11
Microsoft Excel ActiveX Controls ถูกปิดใช้งานหรือไม่
ฉันมีแผ่นงาน Excel บางแผ่นที่ใช้ช่องทำเครื่องหมาย ActiveX เพื่อควบคุมกิจกรรมบางอย่าง พวกเขาทำงานเมื่อเร็ว ๆ นี้ แต่วันนี้เริ่มให้ข้อผิดพลาด ฉันได้รับการแจ้งเตือนเรื่องนี้จากเพื่อนร่วมงาน แต่คอมพิวเตอร์ยังทำงานอยู่ ฉันตรวจสอบเวอร์ชัน Excel ของเขาเทียบกับของฉันและของเขาใหม่กว่า ฉันสังเกตเห็นว่ามีการอัปเดต Windows ใหม่ฉันจึงทำการอัปเดต หลังจากที่ฉันใช้การอัปเดตที่รอดำเนินการตอนนี้ไม่สามารถใช้งานได้บนคอมพิวเตอร์ของฉันอีกต่อไป ฉันไม่สามารถทำเครื่องหมายในช่องทำเครื่องหมาย ActiveX ได้อีกต่อไปและเนื่องจากเป็นส่วนหนึ่งของการพยายามแก้ไขข้อบกพร่องดูเหมือนว่าฉันไม่สามารถเพิ่มตัวควบคุม ActiveX ลงในแผ่นงานใด ๆ แม้แต่แผ่นงานใหม่ได้อีกต่อไป ฉันได้รับข้อความแสดงข้อผิดพลาดว่า "ไม่สามารถแทรกวัตถุได้" (ฉันยังสามารถเพิ่มตัวควบคุมฟอร์มได้ แต่ไม่ใช่ ActiveX) มีใครประสบปัญหานี้หลังจากการอัปเดตล่าสุดหรือไม่ ข้อเสนอแนะใด ๆ ? ขอบคุณ ไมค์
113 excel  vba  activex 

5
ฉันจะใช้ FileSystemObject ใน VBA ได้อย่างไร
มีบางสิ่งที่ฉันต้องการอ้างอิงหรือไม่? ฉันจะใช้สิ่งนี้ได้อย่างไร: Dim fso As New FileSystemObject Dim fld As Folder Dim ts As TextStream ฉันได้รับข้อผิดพลาดเนื่องจากไม่รู้จักวัตถุเหล่านี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.