हैडर मानदंड एमएस एक्सेल के आधार पर कॉलम को स्थानांतरित करने के लिए मैक्रो


1

मैं 8 दिनों में एक नई स्थिति शुरू कर रहा हूं और मैं विजुअल बेसिक के लिए काफी नया हूं। मैं एक वर्तमान कर्मचारी को छाया देने और रिपोर्ट में से 1 में काम करने में सक्षम था, व्यक्ति 100 या तो कॉलम के माध्यम से 8 का चयन कर रहा था और रिपोर्ट या कॉपी करने और एक नए वर्कशीट में पेस्ट करने के लिए।

जो मैं पूरा करना चाहूंगा वह निम्नलिखित है:

एक मैक्रो बनाएं जो वर्कशीट 2 को देखता है, जिसमें मेरे पास रिपोर्ट के लिए 8 कॉलम हेडर होंगे, वर्कशीट 1 (प्राथमिक शीट) को देखता है और 8 कॉलम को ढूंढता है और वर्कशीट पर डेटा (हेडर नहीं) को स्थानांतरित करता है 2. यह रिपोर्ट को गति देने में मदद करें, ऐसी अन्य चीजें हैं जो मैं चाहूंगा कि यह करने में सक्षम हो, लेकिन यह एक महान शुरुआती बिंदु के रूप में काम करेगा।

IE: शीट 2 में होगा: ठेकेदार का नाम, प्रबंधक का नाम, परियोजना विवरण, आदि।

जवाबों:


0

जितना संभव हो उतना बुनियादी।

1 |Sub copycolumns()
2 |Dim i As Integer, searchedcolumn As Integer, searchheader As Object
3 |
4 |For i = 1 To 8
5 |
6 |   set searchheader = Sheets(2).Cells(1, i)
7 |
8 |   searchedcolumn = 0
9 |   On Error Resume Next
10|   searchedcolumn = Sheets(1).Rows(1).Find(what:=searchheader.value, lookat:=xlWhole).Column
11|   On Error GoTo 0
12|
13|   If searchedcolumn <> 0 Then
14|      Sheets(1).Columns(searchedcolumn).Copy Destination:=searchheader
15|   End If
16|    
17|Next i
18|
19|End Sub
  • पंक्ति 4: एक-लूप का उपयोग करता है जो 1 से 8. तक एक चर को चरणबद्ध करता है
    । चर i2 शीट में वर्तमान स्तंभ के लिए खड़ा है

  • पंक्ति 6: यहाँ हम एक वस्तु के रूप में वर्तमान हेडर (एक एकल कक्ष) को सहेजते हैं। यह ऑब्जेक्ट 10 और 14 लाइन में पुन: उपयोग किया जाएगा

  • पंक्ति 8: searchedcolumnनई खोज करने से पहले आपको खोज चर को रीसेट करना होगा। यदि आप नहीं करते हैं और खोज विफल हो जाएगी (शीट 1 में मौजूद नहीं है), चर अभी भी पुराना मूल्य रखता है।

  • पंक्ति 10: findविधि संपूर्ण मैक्रो का प्रमुख भाग है। यह शीट 2 से आपके वर्तमान कॉलम की स्ट्रिंग लेता है और शीट की पहली पंक्ति में इसे खोजता है। 1. यदि कोई सकारात्मक खोज हिट है, तो संबंधित कॉलम नंबर को चर में संग्रहीत किया जाता हैsearchedcolumn

  • लाइन 9 और 11: यह त्रुटि हैंडलर को शुरू और बंद करता है। इस तरह यदि पंक्ति 10 में कोई त्रुटि होती है तो आपको आंतरिक VBA त्रुटि संदेश नहीं मिलेगा। इसके बजाय कोड जाएगा।

  • पंक्ति 13: यदि खोज विधि ने कुछ पाया है और मान शून्य से वैध कॉलम संख्या में बदल गया है तो परीक्षण करें।

  • पंक्ति 14: यदि हाँ, तो शीट 1 से पूरे कॉलम को शीट 2 में संबंधित कॉलम में कॉपी करें


नोट: कोड को और भी छोटा किया जा सकता है। लेकिन सब कुछ समझाने के लिए यह अधिक जटिल होगा।

बेशक आपको हर लाइन की शुरुआत में इंडेक्स नंबर को मैनुअली डिलीट करना होगा।


निक्सडा - आपकी मदद के लिए बहुत बहुत धन्यवाद !!! आपने हर चीज के लिए बहुत अच्छी व्याख्या की। मैं इस सामान के अधिक जानने के लिए इंतजार नहीं कर सकता =)
user197240
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.