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

Visual Basic สำหรับแอปพลิเคชัน เซตย่อยของ Visual Basic ที่ใช้ในแอปพลิเคชัน Microsoft Office ทั้งหมด พิจารณาใช้แท็กนี้พร้อมกับแท็กสำหรับแอปพลิเคชันเฉพาะที่เป็นปัญหา คำถามที่ดีเกี่ยวกับ VBA โดยทั่วไปมีรหัสบางส่วนและขอวิธีแก้ไขปัญหาเฉพาะ คำถามที่ถามถึงวิธีแก้ไขทั้งหมด (โปรดให้รหัส / วิธีการทำสิ่งนี้กับ VBA) เป็นหัวข้อนอกหัวข้อและจะถูกปิดในวงกว้างเกินไป

1
ฝัง OneNote ใน Excel
ฉันรู้ว่าเป็นไปได้หรือไม่ที่จะฝังแผ่นงาน Excel ลงใน OneNote ... แต่กลับเป็นไปได้หรือไม่ เป้าหมายสุดท้ายของฉันคือการมีหน้า OneNote โดยตรงในแผ่นงานของฉันเพื่อให้ผู้ใช้สามารถเขียนใน OneNote จาก Excel พร้อมด้วยฟังก์ชัน OneNote ฉันไม่ได้พูดถึงการเชื่อมโยงหลายมิติไปยัง OneNote ฉันสามารถทำได้แล้ว ฉันหมายถึงเวอร์ชันที่ฝังอยู่จริงๆ (ลองนึกถึงกล่องข้อความที่มีฟังก์ชันคล้าย OneNote) ฉันไม่สามารถค้นพบสิ่งใดในหัวข้อนั้นใน Msdn เนื่องจากทุกสิ่งที่ฉันพบเป็นเรื่องเกี่ยวกับสถานการณ์ตรงกันข้าม

0
วิธีจัดอันดับค่าสองค่าตามเกณฑ์ต่อไปนี้
ฉันมีสองคอลัมน์ต่อไปนี้ผลประโยชน์และผลการให้คะแนนค่าใช้จ่ายซึ่งแต่ละอันมีค่านับร้อย ฉันต้องการที่จะสามารถสั่งซื้อแต่ละแถวตามการจัดอันดับเทียบกับแถวอื่น ๆ โดยพิจารณาจากการให้คะแนนผลประโยชน์ต้นทุน ในกรณีที่ยิ่งได้รับผลประโยชน์มากเท่าใดและยิ่งลดแถวราคาก็จะยิ่งสูงขึ้นและยิ่งมีประโยชน์น้อยลงและยิ่งมีแถวคะแนนต้นทุนสูงก็จะยิ่งต่ำลง ต้องมี:ผลประโยชน์ที่สูงกว่า, ต้นทุนต่ำ ควรมี:ผลประโยชน์ที่สูงกว่า, ต้นทุนสูง อาจมี:ผลประโยชน์ที่ต่ำ, ต้นทุนที่สูงกว่า จะไม่มี:ผลประโยชน์ที่ต่ำ, ต้นทุนต่ำ Name B C Placement Foo1 34 50 Could have Foo2 20 55 Wont Have Foo3 70 88 Should Have Foo4 12 46 Wont Have Foo5 80 52 Should Have Foo6 31 32 Could Have Foo7 43 10 …

0
สามารถใช้เอกสาร Word 2010 เพื่อรวบรวมข้อมูลและสร้างเอกสารตามอินพุตได้หรือไม่
นี่คือปัญหาที่ฉันพยายามแก้ไขและคำถามของฉันคือ "สามารถทำได้ใน MS Word 2010 หรือไม่" ฟอร์ม MS Word 2010 มอบให้แก่ผู้ใช้ ผู้ใช้ส่งแบบฟอร์มมาให้ฉันกรอกอย่างสมบูรณ์ จากการรวบรวมข้อมูลเอกสารที่ต่างกัน 3 ฉบับจะถูกสร้างขึ้นโดยอัตโนมัติเมื่อฉันคลิกปุ่มบนแบบฟอร์ม เอกสารที่ฝ่ายบริหารต้องการให้ฉันสร้างคือ: ข้อเสนอซึ่งโดยทั่วไปจะเป็นจำนวนตัวอักษรขนาดยักษ์ที่มัดข้อความจะเหมือนกันเสมอและบางประโยค / ย่อหน้า / ตารางจะต้องเปลี่ยนแปลงตามการตอบสนองของผู้ใช้ (ตัวอย่างเช่นหากผู้ใช้ระบุ "แอปเปิ้ล" และ "สีแดง" ในฟิลด์นั้น ๆ ประโยคเฉพาะในข้อเสนออาจเปลี่ยนจาก "ไม่ทราบว่าไมค์ชอบแอปเปิ้ลหรือไม่" เป็น "ไมค์ระบุว่าเขาชอบแอปเปิ้ล "โดยทั่วไปฉันกำลังมองหาวิธีสร้างย่อหน้าแบบไดนามิกบางส่วนตามคำตอบที่ผู้ใช้ให้ สเปรดชีต Excel ที่มีเซลล์บางเซลล์ที่มีเนื้อหาที่พบในรูปแบบ Word จดหมายฟอร์มซึ่งเลือกและดึงเนื้อหาบางส่วนจากฟอร์มดั้งเดิมที่ผู้ใช้กรอกอีกครั้ง ฉันคุ้นเคยกับ VBA แต่ไม่ค่อยคุ้นเคยกับการใช้ข้อมูลที่รวบรวมมาเพื่อสร้างรูปแบบอื่น ๆ

2
วนลูปผ่านสองคอลัมน์เพื่อตรวจสอบเงื่อนไข
ฉันต้องการวนรอบคอลัมน์ P และดูว่ามีเซลล์ที่มีหมายเลข "1" อยู่หรือไม่ในเวลาเดียวกันวนซ้ำผ่านคอลัมน์ N เพื่อดูว่ายังมีตัวเลข "1" ที่แถว / คอลัมน์เดียวกันหรือไม่หาก ไม่มี "1" ในคอลัมน์ N ในเวลาเดียวกันมีตัวเลข "1" ในคอลัมน์ P ควรมีข้อความแสดงข้อผิดพลาด นี่คือสิ่งที่ฉันเริ่มต้น แต่ดูเหมือนจะทำงานได้ไม่ดีนัก For Each a In Range("p6:p40") If a.Value = "1" Then For Each c In Range("n6:n40") If c.Value = "" Then msgbox("check again") Else msgbox("check again") End If Next …

0
VBA - Excel หยุดตอบสนอง - ตารางนำไปใช้กับแผ่นงานทั้งหมดหรือไม่
ฉันมีปุ่มที่เรียกมาโครแยกกันหลายอัน ทุกอย่างทำงานได้ตามที่คาดหวัง แต่มีข้อยกเว้น 1 ข้อ ฉันต้องป้อนสูตรในแถวที่ 2 ของคอลัมน์ที่แยกกันสี่คอลัมน์และให้ลากสูตรไปยังแถวสุดท้ายที่มีประชากร เพื่อให้บรรลุ "ง่าย" ฉันได้เพิ่มมาโครที่จะเลือกจาก A1: AK700 (ไม่ควรมีมากกว่า 500 แถวดังนั้นฉันไปที่ 700 เพื่อความปลอดภัย) และสร้างตาราง จากนั้นสูตรเป็นอินพุต (ฉันทำตารางเพื่อให้สูตรลงไปที่แถวสุดท้ายที่มีประชากรโดยอัตโนมัติ) ฉันมีมาโครเพื่อเลือกช่วงเดียวกันและแปลงเป็นช่วง ในที่สุดฉันมีมาโครที่ทำงานหลังจากทั้งหมดนี้เพื่อคัดลอกและวางค่าจากนั้นใช้แท็บสองแท็บแล้วสร้างไฟล์ใหม่พร้อมสำเนาของแท็บเหล่านั้น ทุกอย่างทำงานอย่างถูกต้อง แต่ในบางจุดหลังจากแปลงเป็นช่วง (หรือรอบ ๆ ส่วนของกระบวนการนั้น) Excel จะช้าลงมากหยุดการตอบสนองชั่วขณะหนึ่งจากนั้นก็เริ่มต้นใหม่อีกครั้ง เมื่อทุกอย่างทำงานฉันจะไปที่ไฟล์ต้นฉบับและไฟล์ที่สร้างขึ้นใหม่และการจัดรูปแบบตารางจะถูกนำไปใช้กับทั้งแผ่นงาน (จนถึงเซลล์จนถึง 1,048,000!) เห็นได้ชัดว่านี่คือเหตุผลว่าทำไมจึงใช้เวลานานและสิ้นสุดการตอบสนองใช่ไหม ฉันจะหยุดสิ่งนี้ได้อย่างไร ฉันกำลังวางรหัสตามลำดับที่เรียกใช้จากจุดสร้างตาราง ฉันไม่มีประสบการณ์การเขียนมาโครมาก (ประมาณหนึ่งเดือน) ดังนั้นความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม !! และทั้งหมดนี้จำเป็นต้องทำด้วยมาโคร พวกเขาต้องการให้มันเกิดขึ้นเพียงคลิกปุ่มเดียว รหัส: Sub CreateTable() Sheet1.ListObjects.Add(xlSrcRange, Range("A1:AK500"), , …



2
เปลี่ยนระยะเวลาเป็นเครื่องหมายจุลภาคและในทางกลับกันใน UDF
ฉันมี Excel UDF นี้เพื่อแยกอักขระที่ไม่ใช่ตัวเลขทั้งหมดออกจากเซลล์ยกเว้นเครื่องหมายมหัพภาคและเครื่องหมายจุลภาค แต่ก่อนที่จะล้างหมายเลขของฉันฉันต้องการเปลี่ยนเครื่องหมายจุลภาคทั้งหมดเป็นจุดและในทางกลับกัน ฉันไม่รู้ว่าจะทำการเปลี่ยนแปลงรหัสนี้ยังไง ขอบคุณ Function cleannumber(texto As String) As String Dim volta As String Dim pedaco As String volta = "" For i = 1 To Len(texto) pedaco = Mid(texto, i, 1) If pedaco >= "0" And pedaco <= "9" Or pedaco = “,” Or pedaco =”.” …

1
Excel: หลายรายการหากมีคำสั่งให้เติมเซลล์ระหว่างสองเกณฑ์
ฉันเข้าใจวิธีการเติมหนึ่งในเซลล์เหล่านี้โดยใช้=(if(and))แต่ฉันไม่สามารถหาวิธีเติมช่วงของเซลล์ที่ต้องการระหว่างเวลาเริ่มต้นและเวลาที่กำหนด ตัวอย่างเช่นสำหรับงานที่abc12345ผมอยากจะเน้นเซลล์ที่จะเติมใน9:30am, 10:00am, 10:30amเซลล์ เป็นไปได้ไหม

1
excel - ฟังก์ชั่นที่กำหนดเองไม่ทำงานกับการกรอง
ฉันมีสิ่งนี้: ฉันมีรหัส VBA: Public Function CONCATENATESPECIAL(rng As Range) As String Dim rng1 As Range CONCATENATESPECIAL = "" For Each rng1 In rng If rng1.Value <> "" Then CONCATENATESPECIAL = CONCATENATESPECIAL & rng1.Text & " | " End If Next rng1 End Function ฉันต้องผ่านคอลัมน์และเขียนเนื้อหาลงในนั้นคั่นด้วย "|" ซึ่งทำงานได้อย่างสมบูรณ์ ปัญหาของฉันคือมันใช้ไม่ได้กับการกรอง เมื่อฉันกรองบางอย่างมันยังคงแสดงผลลัพธ์เดียวกัน หลังจากกรอง

1
Excel VBA - การส่งคืนรายการค่าที่ไม่พบในหนึ่งคอลัมน์
ฉันต้องการให้ Excel VBA กลับมาในกล่องข้อความพร้อมข้อความรายการทั้งหมดที่อยู่ในคอลัมน์ ของแผ่นงาน Mastersheet แต่ไม่ได้อยู่ในคอลัมน์ ของแผ่นงาน DeliverySheet . มีปัญหามากมายในการหาอันนี้นี่คือสิ่งที่ฉันได้รับ: Private Sub CommandButton5_Click() Dim DeliveryName As Range Dim MasterName As Range Dim MasterSheet As Worksheet Dim DeliverySheet As Worksheet Dim valueToFind Set MasterSheet = Sheets("Delivery Master List Drop") Set DeliveryName = Sheets("For Delivery").Range(Sheets("For Delivery").Cells("A:A")) Set MasterName = Sheets("Delivery Master …

1
vba-Excel: Selenium เริ่มต้นไม่ทำงาน ทำไม?
ฉันได้ติดตั้งซีลีเนียมรุ่นล่าสุดจากลิงค์นี้: https://github.com/florentbr/SeleniumBasic/releases/latest ฉันได้ย้าย ChromeDriver ล่าสุดในโฟลเดอร์ SeleniumBasic: https://sites.google.com/a/chromium.org/chromedriver/downloads ฉันเปิดใช้งาน "Selenium Type Library" บน "อ้างอิง" หน้าต่าง Chrome จะเปิดและปิดเองภายในไม่กี่วินาที: Sub StartChrome() Dim Selenium As New ChromeDriver Selenium.Start , "https://www.google.it/" End Sub ทำไม? Microsoft Office 365 Home Premium ค้าปลีก v16.0.9029.2167 (เวอร์ชั่นล่าสุด) (Office 2016) Windows 7 Ultimate 64 บิต

1
ผสานข้อมูลจากหลายคอลัมน์ - ผลการสำรวจ SharePoint
ฉันใช้ SharePoint เพื่อรวบรวมข้อมูลผ่านคุณสมบัติการสำรวจ อย่างไรก็ตามฉันต้องการทำให้ข้อมูลเอาต์พุตสามารถจัดการได้ง่ายขึ้น ดังนั้นฉันต้องการนำคอลัมน์หลาย ๆ คอลัมน์มารวมเข้าด้วยกัน ปัจจุบันดูเหมือนว่านี้: Name 1 Address 1 Age 1 Name 2 Address 2 Age 2 Name 3 Address 3 Age 3 Date John My Home 50 Mary Your Home 40 James Our Home 70 01/31/1991 ฉันอยากให้มันเป็นแบบนี้: **Name Address Age Date** John My Home 50 01/31/1991 …

1
วิธีการแสดงไฟล์ html ใน Microsoft Excel
ฉันสามารถเปิดไฟล์ html โดยใช้ vba ปัญหาคือเนื้อหาไม่ได้อยู่ในชีต มันเป็นสีขาว มีวิธีการเปิดไฟล์ html โดยใช้ excel และสามารถแสดงเนื้อหา html ได้หรือไม่

1
ปิดใช้งานความสามารถในการ "สร้างทางลัด" และ "ส่งไปยังเดสก์ท็อป" ผ่าน Excel หรือไม่
มีวิธีแก้ปัญหาแมโครใดบ้างที่จะกำจัดตัวเลือก "สร้างทางลัด" และ "ส่งไปยังเดสก์ท็อป" จากการคลิกขวา? ถ้าไม่มีวิธีอื่นนอกจากล้อเล่นกับสิทธิ์ผู้ใช้หรือไม่? ขอบคุณมาก!

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