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

Visual Basic for Applications (VBA) เป็นภาษาการเขียนโปรแกรมเชิงวัตถุที่ขับเคลื่อนด้วยเหตุการณ์สำหรับการเขียนมาโครซึ่งใช้สำหรับชุดโปรแกรม Office ทั้งหมดและแอปพลิเคชันอื่น ๆ VBA ไม่เทียบเท่ากับ VB.NET หรือ VBS หากคุณทำงานใน Visual Studio ให้ใช้ [vb.net] หากคำถามของคุณเกี่ยวกับการเขียนโปรแกรมแอปพลิเคชัน MS Office โดยเฉพาะให้ใช้แท็กที่เหมาะสม: [excel], [ms-access], [ms-word], [outlook] หรือ [ms-project]

11
แอป Excel VBA หยุดโดยทันทีพร้อมข้อความ“ การเรียกใช้โค้ดถูกหยุด”
จากสิ่งที่ฉันเห็นบนเว็บนี่คือการร้องเรียนที่พบบ่อยพอสมควร แต่คำตอบดูเหมือนจะหายาก ปัญหาคือ: เรามีแอป Excel VBA จำนวนหนึ่งซึ่งทำงานได้อย่างสมบูรณ์บนเครื่องจำนวนมากของผู้ใช้ อย่างไรก็ตามในหนึ่งเครื่องพวกเขาหยุดในบรรทัดของรหัสบางอย่าง เป็นเส้นเดียวกันเสมอ แต่เส้นเหล่านั้นดูเหมือนจะไม่มีอะไรเหมือนกัน หากคุณกด F5 (เรียกใช้) หลังจากหยุดทำงานแอปจะดำเนินต่อไปดังนั้นมันจึงเกือบจะเหมือนเพิ่มจุดพัก เราได้ลองเลือก 'ลบตัวแบ่งทั้งหมด' จากเมนูและแม้กระทั่งเพิ่มตัวแบ่งและลบอีกครั้ง เราเคยพบปัญหานี้กับแอพเดียวก่อนหน้านี้และเรา 'ได้รับผลกระทบ' โดยการตัดโค้ดออกจากโมดูลรวบรวมและวางกลับเข้าไปใหม่ ดูเหมือนว่าปัญหาจะเกี่ยวข้องกับ Excel แทนที่จะเป็น. xls เดียวดังนั้นเราจึงไม่แน่ใจว่าจะจัดการสิ่งนี้ได้อย่างไร ความช่วยเหลือใด ๆ จะได้รับสุดซึ้ง :) ขอบคุณ ฟิลิปวิททิงตัน
151 excel  vba 

7
ชุดคำหลักทำอะไรได้จริงใน VBA
หวังว่าเป็นคำถามง่าย ๆ แต่ฉันอยากได้คำตอบทางเทคนิคกับสิ่งนี้! ความแตกต่างระหว่าง: i = 4 และ Set i = 4 ใน VBA? ฉันรู้ว่าคนหลังจะทำให้เกิดข้อผิดพลาด แต่ฉันไม่เข้าใจว่าทำไม


4
วิธีรับเส้นทางของแผ่นงานปัจจุบันใน VBA ได้อย่างไร
ฉันเขียนมาโครเป็นส่วนเสริมและฉันต้องได้รับเส้นทางของเวิร์กชีทปัจจุบันที่มันถูกเรียกใช้งาน ฉันจะทำสิ่งนี้ได้อย่างไร ฉันจะรับพา ธ ไฟล์ได้อย่างไร (เฉพาะไดเรกทอรี)
141 excel  vba 


2
เมื่อแก้ไข Microsoft Office VBA ฉันจะปิดใช้งานข้อความ "Compile error" ป๊อปอัปได้อย่างไร
เมื่อคุณกำลังแก้ไขแมโครหรือฟังก์ชัน Microsoft Office VBA คุณมักจะย้ายเคอร์เซอร์ของคุณจากบรรทัดที่คุณยังทำไม่เสร็จ ตัวอย่างเช่นหากต้องการคัดลอกสิ่งที่คุณต้องการวางลงในบรรทัดนั้น แต่ถ้าบรรทัดบางส่วนนั้นไม่ถูกต้องตามหลักไวยากรณ์โปรแกรมแก้ไข VBA จะขัดขวางการทำงานของคุณโดยการเปิดข้อความ "Compile error" ที่จะต้องถูกปิด มีวิธีใดในการปิดใช้งานกล่องข้อความหรือไม่? ฉันคิดว่ามันน่ารำคาญ ... (สิ่งนี้เกิดขึ้นกับ Excel Visual Basic สำหรับแอปพลิเคชัน, Outlook VBA, Word VBA ฯลฯ )
139 vba  editor 

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


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 

14
VB ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่จริงหรือ?
ฉันไม่ได้พยายามเริ่มต้นอาร์กิวเมนต์ที่นี่ แต่ไม่ว่าด้วยเหตุผลใดก็ตามโดยทั่วไปแล้วจะมีการระบุว่า Visual Basic ไม่คำนึงถึงตัวพิมพ์เล็กและภาษา C (และนั่นก็เป็นสิ่งที่ดี) แต่นี่คือคำถามของฉัน: กรณี Visual Basic ไม่สำคัญตรงไหน? เมื่อฉันพิมพ์ ... Dim ss As String Dim SS As String ... ในVisual Studio 2008หรือVisual Studio 2010 IDE อันที่สองมีคำเตือน " Local variable SSถูกประกาศแล้วในบล็อกปัจจุบัน " ใน VBA VBE จะไม่เตะข้อผิดพลาดในทันที แต่เป็นการแก้ไขกรณีโดยอัตโนมัติ ฉันพลาดอะไรบางอย่างที่นี่กับอาร์กิวเมนต์ที่ Visual Basic ไม่คำนึงถึงขนาดตัวพิมพ์หรือไม่ (นอกจากนี้ถ้าคุณรู้หรือสนใจที่จะตอบทำไมมันถึงเป็นเรื่องไม่ดี?) ทำไมฉันถึงถามคำถามนี้ ฉันใช้ Visual Basic ในหลาย …


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

5
วิธีสร้างและเขียนไปยังไฟล์ txt โดยใช้ VBA
ฉันมีไฟล์ที่เพิ่มหรือแก้ไขด้วยตนเองตามอินพุต เนื่องจากเนื้อหาส่วนใหญ่ซ้ำซากในไฟล์นั้นมีเพียงค่าฐานสิบหกเท่านั้นที่เปลี่ยนแปลงฉันจึงต้องการให้มันเป็นไฟล์ที่สร้างด้วยเครื่องมือ ฉันต้องการเขียนรหัส c ที่จะพิมพ์ในไฟล์. txtนั้น คำสั่งในการสร้างไฟล์. txtโดยใช้ VBA คืออะไรและฉันจะเขียนมันได้อย่างไร
117 vba  text-files 

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 

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