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

แมโครในวิทยาการคอมพิวเตอร์เป็นกฎหรือรูปแบบที่ระบุว่าควรจะแมปลำดับอินพุตเข้ากับลำดับเอาต์พุตบางอย่างตามกฎและขั้นตอนที่กำหนดไว้หรือไม่ ลองใช้แท็ก [vba] แทนแท็กนี้หากคำถามเกี่ยวข้องกับผลิตภัณฑ์ Microsoft Office สิ่งนี้จะช่วยให้ผู้คนตอบคำถามกรองได้อย่างมีประสิทธิภาพมากขึ้น

4
ฉันจะรับแมโคร Excel เพื่อคัดลอกข้อมูลจากคอลัมน์ที่ระบุและแถวเดียวกับที่เลือกไว้เมื่อเปิดใช้งานแมโครได้อย่างไร
ตัวอย่าง: ฉันได้เลือกแถวและคอลัมน์ใด ๆ สมมุติว่า D6 ข้อมูลที่ฉันค้นหาอยู่ในคอลัมน์ H ดังนั้นฉันต้องการให้แมโครคัดลอกข้อมูลในแถว 6 และคอลัมน์ H เช่น H6 ถ้าฉันเลือก G14 แมโครจะคัดลอกข้อมูลในเซลล์ H14 เป็นต้น

2
AutoHotKey ด้วยการรับรู้การนอนหลับที่ดีขึ้น
ฉันรู้เกี่ยวกับ AutoHotKey และฉันรู้เกี่ยวกับ AutoScriptWriter แต่ปัญหาของฉันมาถึงเวลา ฉันพยายามที่จะทำซ้ำการป้อนข้อมูลของผู้ใช้ลงในแอปพลิเคชัน แต่บางครั้งแอปพลิเคชันมีเวลาโหลดสำหรับฟังก์ชั่นบางอย่างเวลาอื่นไม่ได้โดยทั่วไปฉันต้องมีนักเขียนสคริปต์ระวังว่าถ้าฉันไม่กดปุ่มเมาส์ เป็นเวลา 5 วินาทีตัวเขียนสคริปต์วาง Sleep ไว้ในสคริปต์เป็นเวลา 5 วินาที แต่ถ้าฉันรอ 10 วินาทีมันจะใส่ Sleep ในสคริปต์เป็นเวลา 10 วินาทีและต่อไป ตอนนี้ AutoScriptWriter กำหนดให้ Sleep 100 เป็นค่าเริ่มต้นซึ่งสั้นเกินไปและฉันไม่ต้องการผ่านสคริปต์ด้วยตนเองหลังจากที่ผู้ป่วยพยายามจดจำว่าการคลิกนี้ควรรอ 5 หรือ 10 วินาทีหรือนอนเพียงเล็กน้อย ขอบคุณทุกคน

1
ไม่สามารถทำให้แผ่นงานนำเข้าจากฟังก์ชั่นไดเรกทอรีเคลื่อนไหวได้หรือ
ฉันสามารถแก้ไขโค้ดด้านล่างเป็นการนำเข้าแบบไดนามิกของแผ่นเพื่อให้สามารถทำงานในแผ่นใด ๆ จาก macrobook ส่วนบุคคลของฉันแทนแผ่นที่เรียกว่าimport-sheets.xls? พบรหัสสำหรับการนำเข้าด้านล่าง Dim directory As String, fileName As String, sheet As Worksheet, total As Integer Application.ScreenUpdating = False Application.DisplayAlerts = False directory = "c: est\" fileName = Dir(directory & "*.xl??") Do While fileName <> "" Loop Workbooks.Open (directory & fileName) For Each sheet In Workbooks(fileName).Worksheets total …

4
Excel - วันและวันที่ของเดือน
ฉันลองสูตร "วันที่" ไม่กี่ครั้ง แต่ไม่สามารถใช้งานได้ นี่คือปัญหาของฉัน: ฉันต้องการตั้งค่าสเปรดชีตที่จะอนุญาตให้ผู้ใช้พิมพ์ใน A1 - เดือนและปี ฉันต้องการให้สเปรดชีตเติมคอลัมน์ A โดยอัตโนมัติด้วย "วัน" ของเดือนเช่น หากเดือนนั้นเริ่มต้นในวันพุธวันพุธจะเป็นวันแรก ฉันต้องการให้คอลัมน์ B เติมวันที่เช่น 01/12/2018 (รูปแบบสหราชอาณาจักร) นอกจากนี้ฉันต้องการให้ละเว้นวันอาทิตย์ ฉันมีคู่มือรุ่นนี้ซึ่งฉันจะต้องพิมพ์ค่าในแต่ละเดือน แต่ฉันต้องการจะทำมันโดยอัตโนมัติเพราะมันจะต้องทำ 80 ครั้งและฉันไม่ต้องการให้มีการเติมด้วยตนเองก่อนจากนั้นจึงคัดลอกและวาง ครั้ง ข้อเสนอแนะใด ๆ

0
การแก้ไขมินิจาก / ส่ง / ถึง / หัวเรื่องหัวเรื่องบนอีเมลไปข้างหน้า
หากฉันได้รับอีเมลใน Outlook 2013 พร้อมเนื้อหาที่ระบุว่า: Please call me. -Bill และฉันก็ส่งอีเมลฉบับนั้นต่อไปว่า: _________________________________ From: Bill Sent: Monday, January 7 2019 11:00 AM To: Herbert <Herbert@Domain.com> Subject: Free stuff Please call me. -Bill หากฉันต้องการแก้ไขส่วนหัวเล็ก ๆ ที่สร้างโดย Outlook เพื่อแทนที่ From: Bill กับ From: Bill <Bill@Domain.com> ฉันจะทำอย่างไร ฉันเปิดมาโครเพื่อแลกเปลี่ยนเว็บเซอร์วิสทุกอย่าง กรณีการใช้งานคือฉันจะตั้งกฎเพื่อส่งต่ออีเมลไปยังบริการคลาวด์ของบุคคลที่สามเพื่อจัดการตั๋วสนับสนุนลูกค้า อย่างไรก็ตามบริการคลาวด์ของบุคคลที่สามไม่จำเป็นต้องรู้ที่อยู่อีเมลของผู้ส่งดั้งเดิมเนื่องจาก Outlook จะลบที่อยู่อีเมลใน From บรรทัดในส่วนหัวเล็ก ๆ ที่มันสร้าง …

0
จะเกิดอะไรขึ้นเมื่อเราแปลง EOL Conversion จาก Windows เป็น Unix ในไฟล์ข้อความ
ฉันเข้าใจความแตกต่างระหว่างทั้งสองคือ Unix (LF) กับ Windows (CRLF) วิธีการแปลงนี้ใช้แมโครสคริปต์ใน VB? นี่คือตัวอย่างจากสิ่งที่ฉันได้ลอง Set sourcedoc = Application.Documents.Open(MainDoc) Application.Selection.WholeStory Application.Selection.Copy Application.ActiveWindow.Close savechanges:=wdDoNotSaveChanges Set finaldoc = Application.Documents.Open(strFolder & "proviso.June2016.raw") finaldoc.Activate Application.Selection.PasteAndFormat (wdFormatDOSText) 'ActiveDocument.Save LineEnding:=wdLFOnly MsgBox ("Save file in new format ANSI UNIX EOL") อย่างไรก็ตามฉันไม่พบสิ่งที่แปลง EOL เป็น Unix คุณช่วยได้ไหมถ้าฉันยังใหม่กับแมโคร ขอบคุณล่วงหน้า

0
ไฟล์. XLSM มีการแบ่งปันการละเมิดเมื่อบันทึกระหว่างการใช้เดสก์ท็อประยะไกล
ฉันมีไฟล์แมโครแมโครหลายแผ่นขนาดใหญ่ (~ 5mb) * .xlsm เก็บไว้ในแล็ปท็อปของฉัน ในขณะที่ใช้ไฟล์ฉันเชื่อมต่อกับสำนักงานของฉันผ่านเดสก์ท็อประยะไกลเพื่อทำงานที่ไม่เกี่ยวข้อง หากฉันทำการเปลี่ยนแปลงแผ่นงานด้วยแมโครให้ลองบันทึกไฟล์ไว้ในเครื่อง ในขณะที่บังเอิญเชื่อมต่อกับเดสก์ท็อประยะไกล ฉันได้รับการละเมิดการแบ่งปันที่แสดงด้านล่าง หากฉันทำการเปลี่ยนแปลงข้อความเท่านั้นและพยายามบันทึกในขณะที่ RDP กำลังทำงานอยู่ฉันก็จะไม่มีข้อผิดพลาด นอกจากนี้หาก RDP ไม่ทำงานเลยฉันสามารถบันทึกได้หลังจากการเปลี่ยนแปลงข้อความหรือมาโคร ฉันจะป้องกันข้อผิดพลาดนี้ได้อย่างไร “Your changes could not be saved to DD.xlsm because of a sharing violation. Try saving to a different file.”

1
ทวีคูณผลรวมของเซลล์หนึ่งถ้าเซลล์อื่นแสดงค่า
ฉันได้เพิ่มเซลล์ที่ซ่อนอยู่ (T259) ซึ่งคำนวณ 10% ของเซลล์ U78 หากเลือก "ข้อต่อปูน" ในเอกสารข้อตกลงการขาย ฉันต้องการเพิ่มฟังก์ชั่นในเซลล์ U78 เพื่อเพิ่มมูลค่า T259 ฉันได้รับ "ข้อผิดพลาดการโต้แย้งมากเกินไป" นี่คือสูตรที่ส่งคืนข้อผิดพลาด = IF (T74 = "1 / 2Dry Stack", 0.1, IF (T74 = "DryMortar Joint", - 0.1,0, IF ('ข้อตกลงการขาย'! G23 = "Mortar Joint w / สีเทามาตรฐาน", 0.1,0) )) ขออภัยฉันย้ายไปข้างหน้าโดยไม่อัปเดตคำถามเนื่องจากปัญหานี้ละเอียดอ่อนด้านเวลา [อัปเดต] โดยทั่วไปในภาพหน้าจอคุณจะเห็นเซลล์ U78 ฉันต้องการมัน เพิ่มหรือลบส่วนเพิ่ม 10% …

1
แมโคร: แทรกแถวใหม่เหนือเซลล์ที่มีค่า
ฉันมีคอลัมน์ที่มีค่าต่อไปนี้: A1 = 0 A2 = 1 A3 = 3 A4 = 4 A5 = 0 A6 = 1 ฉันต้องการเลือกคอลัมน์ A และแทรกคอลัมน์ใหม่ด้านบนอินสแตนซ์ใด ๆ ของ 0 ฉันลองใช้รหัสต่อไปนี้แล้ว แต่ฉันพบข้อผิดพลาดและไม่แน่ใจว่าเกิดอะไรขึ้น ฉันเชื่อว่ามันเป็น OFFSET ที่ทำให้เกิดปัญหาฉันไม่แน่ใจ 100% Dim c As Range For Each c In Range("A:A") If c.Value Like "0" Then c.Offset(-1, 0).EntireRow.Insert End If Next …

0
เคล็ดลับในการเพิ่มความเร็วในการคัดลอก / วางภาพ
นี่เป็นโครงการแรกของฉันที่ใช้ VBA ฉันมีรหัส (ดูด้านล่าง) ที่อ่านว่ามีตัวเลขบนแผ่นงานหรือไม่ หากเป็นเช่นนั้นรหัสจะเรียกแมโครเพื่อคัดลอกรูปภาพต้นฉบับจากแผ่นงานอื่นวางลงบนแผ่นงานใหม่และเปลี่ยนชื่อ / เปลี่ยนขนาด / วางกึ่งกลางรูปภาพที่วางในเซลล์ ปัญหาคือฉันสามารถบอกได้ว่ารหัสนี้ทำงานช้า ฉันรู้ว่าใช้ ".select" รหัสช้าลงมาก แต่ฉันไม่รู้ว่ามีวิธีแก้ไขสิ่งที่ฉันต้องทำหรือไม่ นี่คือโค้ดที่ใช้งานได้ (แม้ว่าช้า) ที่ฉันมี (เลื่อนไปด้านล่างสำหรับรูปอ้างอิง) นี่คือรหัสแรกที่ทดสอบตัวเลขและเรียกมาโคร: Sub xGridA_Pic_Setup() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual If Evaluate(WorksheetFunction.CountIf(Worksheets("Rent Grid A").Range("D1:H1"), "1")) < 1 Then Else Call xGridA_Comp1 End If If Evaluate(WorksheetFunction.CountIf(Worksheets("Rent Grid A").Range("D1:H1"), "2")) < 1 Then Else …

1
ต้องการแมโคร excel เพื่อสร้างไฟล์ข้อความที่จัดรูปแบบ
ฉันเพิ่งเรียนรู้วิธีสร้างมาโครและฉันพบมาโครที่เกือบจะทำในสิ่งที่ฉันต้องการทำซึ่งก็คือส่งออกไฟล์ข้อความจาก Excel สิ่งที่ฉันต้องทำก็คือเอาท์พุทนี้ใน .mhd รูปแบบที่ฉันได้ทำแล้วนำข้อมูลทั้งหมดที่เขียนใน #fnum เซลล์และส่งคืนหลังจากแต่ละรายการในไฟล์ Excel โดยพื้นฐานแล้วฉันแค่ต้องการข้อมูลทั้งหมดเพื่อให้มีบรรทัดเฉพาะในไฟล์ข้อความ ฉันแน่ใจว่ามีวิธีที่สง่างามที่จะไปเกี่ยวกับเรื่องนี้ แต่ฉันไม่สามารถรับมันได้ Sub CreateFile() Do While Not IsEmpty(ActiveCell.Offset(0, 1)) MyFile = ActiveCell.Value & ".mhd" 'set and open file for output fnum = FreeFile() Open MyFile For Output As fnum 'use Print when you want the string without quotation marks Print #fnum, …

1
ฉันจะสร้างปุ่ม Excel Menubar เพื่อเรียกใช้แมโครได้อย่างไร
พื้นหลัง: ฉันสร้างมาโครสำหรับเพื่อนที่จะสร้างตารางสาระสำคัญจากแผ่นข้อมูลขนาดใหญ่ ข้อมูลจะมีจำนวนคอลัมน์เท่ากันโดยมีส่วนหัวคอลัมน์เดียวกันเสมอ จำนวนแถวเป็นแบบไดนามิก คำถาม: สมมติว่าแมโครของฉันเขียนอย่างถูกต้องมีวิธีใดที่ฉันจะเพิ่มแมโครนี้เป็นปุ่มใน Excel เพื่อให้เมื่อใดก็ตามที่เพื่อนของฉันเปิดสเปรดชีตใน Excel เธอสามารถคลิกปุ่มเพื่อเรียกใช้แมโครได้หรือไม่ ฉันเดาว่ามันจะต้องมีการติดตั้งเป็นปลั๊กอิน / add-in แปลก ๆ เพื่อให้มันยังคงแสดงถ้าเธอปิด Excel และเปิดใหม่อีกครั้ง?

2
ฉันจะเขียนแมโครใน Outlook 2010 เพื่อตั้งค่าคุณสมบัติโฟลเดอร์ทั้งหมดเป็น“ ดูรายการทั้งหมด” ได้อย่างไร
ฉันจะเขียนแมโครเพื่อตั้งค่าคุณสมบัติโฟลเดอร์ทั้งหมดเป็น "ดูรายการทั้งหมด" ได้อย่างไร ฉันมีหลายร้อยโฟลเดอร์และโฟลเดอร์ย่อยและจำเป็นต้องตั้งค่าโฟลเดอร์เพื่อดูรายการทั้งหมดและฉันไม่สามารถหาวิธีเขียนแมโครได้ ในที่สุดก็ตัดสินใจว่าฉันต้องการความช่วยเหลือ นี่ควรเป็นการตั้งค่าในมุมมองที่คล้ายกับการตั้งค่าเริ่มต้นที่เก็บถาวร

2
เดือนและวันที่จะถูกสลับไปเรื่อย ๆ เมื่อรัน VBA
ฉันมีคอลัมน์บนแผ่นงานคอลัมน์ F ซึ่งเต็มไปด้วยวันที่ ตอนนี้ฉันต้องการวันที่เหล่านี้ในรูปแบบ "dd, mm, yyyy" แต่บางครั้งพวกเขาอยู่ในรูปแบบข้อความรูปแบบเรา / อาร์เมเนียในข้อมูลต้นฉบับ เหตุใดฉันจึงใช้แมโครเพื่อแปลงในรูปแบบที่ถูกต้องมันจะเปลี่ยนวันที่และเดือนเป็นบางครั้ง แต่ถ้าฉันทำด้วยตนเองจะไม่มีข้อผิดพลาดเกิดขึ้น กำลังใช้ค่าการวางเพื่อรับข้อมูลในแผ่นงานของฉันและนี่คือรหัสของฉัน มันแสดงเดือนที่ถูกต้องสำหรับรูปแบบ dd / mmm / yyyy แต่สลับเดือนและวันที่ Range("F2").Select Range(Selection, Selection.End(xlDown)).Select Selection.NumberFormat = "dd/mmm/yyyy" Selection.TextToColumns Destination:=Range("F2"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _ :=Array(1, 4), TrailingMinusNumbers:=True Selection.NumberFormat = "dd/mm/yyyy" ใช้เซลล์ F2 วันที่ 9 …

1
มาโครที่ค้นหาคำเพื่อสร้างคำและสร้างตาราง
สวัสดีฉันมีมาโคร Word ที่ควรสแกนเอกสารคำค้นหาคำสั่งแล้วแปลงคำนั้นเป็นตารางโดยใช้คำสั่งในคอลัมน์หนึ่งและผลลัพธ์ในคอลัมน์ 2 ฉันทำอะไรผิดไป Sub Search() Dim IsFound As Boolean IsFound = True Selection.Find.ClearFormatting With Selection.Find .Text = "Command:" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With While …

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