अगला चालान नंबर - समाचार

Microsoft Excel कई चालान टेम्पलेट प्रदान करता है जिन्हें आप डाउनलोड कर सकते हैं। लेकिन अगले इनवॉइस नंबर को बढ़ाने का कोई अंतर्निहित तरीका नहीं है।

मैंने इस वीडियो को यह दिखाते हुए दिखाया कि अपनी कार्यपुस्तिका में VBA कोड की कुछ पंक्तियों को कैसे जोड़ा जाए ताकि आप प्रत्येक इनवॉइस को एक नई फ़ाइल के रूप में सहेज सकें। मैक्रो फिर चालान को साफ करता है और चालान नंबर में 1 जोड़ता है।

166K बार देखे गए और सैकड़ों टिप्पणियों के साथ, मुझे लगता है कि वही सवाल बार-बार आ रहे हैं। लोगों को 800 टिप्पणियों के माध्यम से पढ़ने के लिए पूछना अव्यावहारिक हो गया है क्योंकि उनके प्रश्न का उत्तर पहले छह बार पोस्ट किया गया है। इसलिए - लोकप्रिय सवालों के लिए, मैं यहां कोड पोस्ट कर रहा हूं।

एफएक्यू # 1

क्या आप मेरे लिए कोड टाइप कर सकते हैं क्योंकि मैं टाइप करने में असमर्थ हूं?

Sub NextInvoice() Range("E5").Value = Range("E5").Value + 1 Range("A20:E39").ClearContents End Sub Sub SaveInvoiceWithNewName() Dim NewFN As Variant ' Copy Invoice to a New Workbook ActiveSheet.Copy NewFN = "C:aaaInv" & Range("E5").Value & ".xlsx" ActiveWorkbook.SaveAs NewFN, FileFormat:=xlOpenXMLWorkbook ActiveWorkbook.Close NextInvoice End Sub

अक्सर पूछे जाने वाले प्रश्न # 2

मैं एक विंडोज पीसी पर एक पीडीएफ के रूप में चालान को बचाना चाहता हूं

ध्यान दें

यह कोड केवल एक्सेल 2010 या नए के विंडोज संस्करणों में काम करता है। मैक के लिए अलग कोड होता है।

आपको उस सीमा का चयन करना होगा जिसमें चालान होता है और पेज लेआउट, प्रिंट एरिया, सेट प्रिंट एरिया होता है। यदि आप इस चरण को छोड़ देते हैं, तो मैक्रो को चलाने के लिए उपयोग किए जाने वाले बटन आपके चालान में दिखाई देंगे!

Sub SaveInvoiceAsPDFAndClear() Dim NewFN As Variant NewFN = "C:aaaInv" & Range("E5").Value & ".pdf" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NewFN, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=False Range("E5").Value = Range("E5").Value + 1 Range("A20:E39").ClearContents End Sub

FAQ # 3

मैं एक एक्सेल फ़ाइल और एक अलग फ़ोल्डर में एक पीडीएफ के रूप में चालान को बचाना चाहता हूं

Sub SaveInvoiceBothWaysAndClear() Dim NewFN As Variant ' Create the PDF First NewFN = "C:aaaPDFInvoicesInv" & Range("E5").Value & ".pdf" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NewFN, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=False ' Next, Save the Excel File ActiveSheet.Copy NewFN = "C:aaaInv" & Range("E5").Value & ".xlsx" ActiveWorkbook.SaveAs NewFN, FileFormat:=xlOpenXMLWorkbook ActiveWorkbook.Close ' Increment the invoice number Range("E5").Value = Range("E5").Value + 1 ' Clear out the invoice fields Range("A20:E39").ClearContents End Sub

# 4 अक्सर पूछे जाने वाले प्रश्न

मेरे चालान नंबर में नंबर और अक्षर हैं

आपको कोड को अनुकूलित करना होगा। यहां कुछ उदाहरण दिए गए हैं। Heidi का SS15001 जैसा चालान नंबर है। जब मैं उस चालान नंबर को देखता हूं, तो यह एक दो अक्षर का उपसर्ग होता है जिसके बाद ५ अंक होते हैं। नए चालान नंबर को LEFT (, 2) और MID (3,5) का उपयोग करना होगा:

Range("E5").Value = Left(Range("E5").Value, 2) & 1 + Mid(Range("E5").Value, 3, 5)

यहाँ एक और अधिक जटिल उदाहरण है। इनवॉइस नंबर IN-1234-HA है जहां IN- इनवॉइस के लिए खड़ा है। 1234 एक अनुक्रमिक संख्या है। हा B10 में पाए जाने वाले ग्राहक के नाम का पहला अक्षर है।

LeftPart = Left(Range("E5").Value, 3) MidPart = Left(Range("E5").Value, 4, 4) + 1 EndPart = Left(Range("A10").Value, 2) Range("E5").Value = LeftPart & MidPart & EndPart

आप निम्न चार लाइनों को सरल बना सकते हैं:

Range("E5").Value = Left(Range("E5").Value, 3) & Left(Range("E5").Value, 4, 4) + 1 & Left(Range("A10").Value, 2)

FAQ # 5

मेरे पास कार्यपुस्तिका में अन्य मैक्रोज़ हैं (जैसे कि स्पेलनंबर) और मैक्रोज़ को भी सहेजने की आवश्यकता है।

अपने दूसरे मैक्रों को काम करने के लिए नंबर-टू-वर्ड्स फंक्शन को चलाने की अनुमति देने के लिए, रणनीति थोड़ी अलग है। केवल चालान शीट को किसी नई कार्यपुस्तिका में कॉपी करने और SaveAs का उपयोग करने के बजाय, आप (a) कार्यपुस्तिका का पथ और फ़ाइल नाम याद रखेंगे, (b) नाम में चालान संख्या के साथ संपूर्ण कार्यपुस्तिका को सहेजने के लिए SaveAs का उपयोग करें, (c ) मूल कार्यपुस्तिका हटाएँ। (d) कार्यपुस्तिका को मूल नाम से सहेजने के लिए SaveAs का उपयोग करें।

Sub SaveInvoiceWithNewName() Dim OrigFN as Variant Dim NewFN As Variant ' Remember the original path and file name OrigFN = ThisWorkbook.FullName NewFN = "C:aaaInv" & Range("E5").Value & ".xlsx" ' Save a copy with the new name ActiveWorkbook.SaveAs NewFN, FileFormat:=xlOpenXMLWorkbook ' Delete the original workbook so you can save without warning On Error Resume Next Kill (OrigFN) On Error Goto 0 ' Save again as the original file name ActiveWorkbook.SaveAs OrigFN, FileFormat:=xlOpenXMLWorkbook NextInvoice End Sub

अक्सर पूछे जाने वाले प्रश्न # 6

मुझे वर्कशीट की सुरक्षा करने की आवश्यकता है ताकि मेरे कर्मचारी केवल कुछ सेल बदल सकें। जब मैं आपका मैक्रो चलाता हूं, तो मुझे "जिस सेल को आप बदलने की कोशिश कर रहे हैं वह सुरक्षित है और इसलिए केवल-पढ़ने के लिए"

आप मैक्रो में शीट को असुरक्षित कर सकते हैं, नया चालान नंबर लिख सकते हैं, और फिर शीट की रक्षा कर सकते हैं। यह केवल NextInvoice मैक्रो में किया जाना है। अन्य मैक्रो किसी भी सेल में परिवर्तन नहीं कर रहा है। यहाँ कोड है यदि आप पासवर्ड के बिना सुरक्षा का उपयोग कर रहे हैं:

Sub NextInvoice() ActiveSheet.Unprotect Range("E5").Value = Range("E5").Value + 1 Range("A20:E39").ClearContents ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub Here is the code if you have protected the sheet with a password of Tomato. Note that the password appears in this code twice. Change the password to the real password in two places. Sub NextInvoice() ActiveSheet.Unprotect Password:="Tomato" Range("E5").Value = Range("E5").Value + 1 Range("A20:E39").ClearContents ActiveSheet.Protect Password:="Tomato", DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub

# 7 अक्सर पूछे जाने वाले प्रश्न

मैं सेव्ड वर्कबुक में सेव बटन नहीं रखना चाहता

यह मुश्किल है क्योंकि कार्यपत्रक नई कार्यपुस्तिका में ले जाने पर आपके आकार का नाम बदल जाएगा। बहुत सावधानी से इन चरणों का पालन करें:

  1. चालान मैक्रो कार्यपुस्तिका खोलें
  2. उस शीट टैब पर राइट-क्लिक करें जिसमें आपका चालान है। मूव या कॉपी चुनें।
  3. टू बुक: ड्रॉपडाउन में, न्यू बुक चुनें। प्रतिलिपि बनाएँ के लिए चेकबॉक्स चुनें। ओके पर क्लिक करें। यह चरण 3 VBA में ActiveSheet.Copy का अनुकरण करता है।
  4. अब आपके पास एक नई कार्यपुस्तिका में चालान वर्कशीट है, उस आकृति पर Ctrl-क्लिक करें जिसे आप हटाना चाहते हैं। Ctrl + क्लिक मैक्रो को चलाए बिना आकार का चयन करेगा।
  5. चयनित आकार के साथ, फॉर्मूला बार के बाईं ओर देखें। नाम बॉक्स एक नाम दिखाएगा जैसे कि "गोल आयत 1"। ActiveSheet.Copy के बाद नीचे दिखाए गए अनुसार इस आकृति को हटाने के लिए बहुत सावधानी से कोड की एक नई लाइन बनाएं:
Sub SaveInvoiceWithNewName() Dim NewFN As Variant ' Copy Invoice to a New Workbook ActiveSheet.Copy ActiveSheet.Shapes("Rounded Rectangle 1").Delete NewFN = "C:aaaInv" & Range("E5").Value & ".xlsx" ActiveWorkbook.SaveAs NewFN, FileFormat:=xlOpenXMLWorkbook ActiveWorkbook.Close NextInvoice End Sub

समस्या निवारण और त्रुटि संदेश

  1. निम्नलिखित विशेषताओं को मैक्रो-मुक्त कार्यपुस्तिकाओं में सहेजा नहीं जा सकता है: VB प्रोजेक्ट। उत्तर: आपकी फ़ाइल वर्तमान में XLSX फ़ाइल के रूप में सहेजी गई है। मुझे भी उतना ही गुस्सा आ रहा है कि Microsoft ने एक टूटी हुई फ़ाइल प्रकार को डिफ़ॉल्ट के रूप में उपयोग करने के लिए चुना। फ़ाइल, सहेजें का उपयोग करें और फ़ाइल प्रकार को या तो XLSB या XLSM में बदलें।
  2. Type Mismatch. Answer: The code expects your invoice number to be a number. If you have SS15001 as an invoice number, you will have to figure out how to adapt your code. See FAQ #4 above.
  3. Compile error Expected line number or label or statement or end of statement on NewFN = “F:RobinusinessPCreceiptsInv” & Range(“H10”).Value & “.xlsx”. Answer: VBA does not like slanted quotation marks (also called Typographers quotes). Type the quotation mark in VBA and you will get "F:RobinusinessPCreceiptsInv" & Range("H10").Value & ".xlsx"
  4. We couldn't find C:UserJelenDocuments" Answer: The file path has to be exact. Are you sure you didn't mean C:UsersJelenDocuments? (Note the "s" at the end of users)
  5. रन टाइम एरर 1004। डॉक्यूमेंट न सेव्ड। उत्तर: फ़ाइल पथ को सटीक होना चाहिए। फ़ाइल सहेजने से ठीक पहले MsgBox NewFN के साथ एक नई लाइन जोड़ें। कोड चलाएँ। एक बॉक्स फ़ाइल पथ और फ़ाइल नाम दिखाते हुए पॉप अप होगा। सुनिश्चित करें कि पथ और फ़ाइल नाम के बीच एक पथ विभाजक है।
  6. रन टाइम एरर '1004'। विधि '_Workbook' की 'SaveAs' विफल रही। उत्तर: FileFormat को FileFormat होना चाहिए: = xlOpenXMLWorkbook। जब आप इसे पढ़ते हैं, तो इसे "एक्सेल ओपन एक्सएमएल वर्कबुक" की तरह लगना चाहिए। यह Ex One Open XML वर्कबुक नहीं है। हां, यह भ्रामक है कि वीडियो में नंबर 1 और निचला केस L एक जैसे दिखते हैं। 1 एल। अपने X1OPENXMLWORKBOOK को XLOPENXMLWORKBOOK में बदलें।

दिलचस्प लेख...