VBA સાથે Excel માં શીટની નકલ કેવી રીતે કરવી

  • આ શેર કરો
Michael Brown

સામગ્રીઓનું કોષ્ટક

ટ્યુટોરીયલ એક્સેલમાં ડુપ્લિકેટ શીટ્સ માટે મેક્રોનો સંગ્રહ પૂરો પાડે છે: કોષ મૂલ્યના આધારે કૉપિ કરો અને નામ બદલો, બહુવિધ શીટ્સ કૉપિ કરો, સક્રિય વર્કશીટને ખોલ્યા વિના બીજી ફાઇલમાં કૉપિ કરો અને વધુ.

એક્સેલમાં શીટ્સની મેન્યુઅલી નકલ કરવી ખૂબ જ ઝડપી અને સરળ છે... જો માત્ર એક કે બે વાર કરવામાં આવે. બહુવિધ શીટ્સને ઘણી વખત ડુપ્લિકેટ કરવી એ કંટાળાજનક અને સમય માંગી લે તેવું છે. આ પૃષ્ઠ પર, તમને આ કાર્યને સ્વચાલિત કરવા માટે થોડાક ઉપયોગી મેક્રો મળશે.

    નવી વર્કબુકમાં શીટની નકલ કરવા માટે એક્સેલ VBA

    આ સૌથી સરળ વન-લાઇન મેક્રો કરે છે. તેનું નામ બરાબર શું સૂચવે છે - સક્રિય શીટને નવી વર્કબુકમાં નકલ કરે છે.

    સાર્વજનિક સબ CopySheetToNewWorkbook()activeSheet. Copy End Sub

    VBA સાથે Excel માં બહુવિધ શીટ્સ કૉપિ કરો

    જો તમે ઇચ્છો તો સક્રિય વર્કબુકમાંથી ઘણી શીટ્સને નવીમાં કૉપિ કરો, રુચિની બધી વર્કશીટ્સ પસંદ કરો અને આ મેક્રો ચલાવો:

    સાર્વજનિક સબ CopySelectedSheets() ActiveWindow.SelectedSheets. Copy End Sub

    Excel VBA શીટને બીજી વર્કબુકમાં કૉપિ કરો

    તમે કોપી કરેલી શીટને ક્યાં દાખલ કરવા માંગો છો તેના આધારે, નીચેનામાંથી એક મેક્રોનો ઉપયોગ કરો.

    શીટને બીજી વર્કબુકની શરૂઆતમાં કૉપિ કરો

    આ મેક્રો સક્રિય શીટની પહેલાં કૉપિ કરે છે. ગંતવ્ય ફાઇલમાં અન્ય તમામ કાર્યપત્રકો, આ ઉદાહરણમાં Book1 . બીજી ફાઇલમાં કૉપિ કરવા માટે, "Book1.xlsx" ને તમારી લક્ષ્ય વર્કબુકના સંપૂર્ણ નામ સાથે બદલો.

    સાર્વજનિક ઉપCopySheetToBeginningAnotherWorkbook() activeSheet.Copy Before:=Workbooks( "Book1.xlsx" ).શીટ્સ(1) એન્ડ સબ

    બીજી વર્કબુકના અંતે શીટની નકલ કરો

    કોડનો આ ભાગ સક્રિય વર્કશીટની નકલ કરે છે અને નકલને Book1 ના અંતમાં મૂકે છે. ફરીથી, કૃપા કરીને તમારી ગંતવ્ય કાર્યપુસ્તિકાના નામ સાથે "Book1.xlsx" ને બદલવાનું યાદ રાખો.

    સાર્વજનિક સબ CopySheetToEndAnotherWorkbook()activeSheet.Copy After:=Workbooks( "Book1.xlsx" ).શીટ્સ(વર્કબુક્સ( "Book1.xlsx"). " .વર્કશીટ્સ. ગણતરી) અંત સબ

    નોંધ. મેક્રો કામ કરે તે માટે, લક્ષ્ય વર્કબુક તમારી હાર્ડ ડ્રાઈવ અથવા નેટવર્ક પર સાચવેલી હોવી જોઈએ.

    શીટને પસંદ કરેલી વર્કબુકમાં કૉપિ કરો

    કોઈપણ ખુલ્લી વર્કબુકમાં વર્તમાન શીટની કૉપિ કરી શકવા માટે, તમે ListBox નિયંત્રણ ( ListBox1 નામનું) અને બે બટનો સાથે યુઝરફોર્મ (નામનું UserForm1 ) બનાવી શકો છો:

    <3

    આગળ, ફોર્મ પર ડબલ-ક્લિક કરો અને કોડ વિન્ડોમાં નીચેના કોડને પેસ્ટ કરો:

    પબ્લિક સિલેક્ટેડ વર્કબુક એઝ સ્ટ્રીંગ પ્રાઈવેટ સબ યુઝરફોર્મ_ઈનિશિયલાઈઝ() SelectedWorkbook = "" ListBox1.Clear For Each wbk In Application.Workbooks ListBox1.Add (wbk.Name) નેક્સ્ટ એન્ડ સબ પ્રાઇવેટ સબ CommandButton1_Click() જો ListBox1.ListIndex > -1 પછી SelectedWorkbook = ListBox1.List(ListBox1.ListIndex) End If Me.Hide End Sub Private Sub CommandButton2_Click() SelectedWorkbook = "" Me.Hide End Sub

    સ્થાન UserForm સાથે, તમે નીચેનામાંથી એકનો ઉપયોગ કરી શકો છો. નકલ કરવા માટે મેક્રોતમારી પસંદની વર્કબુકમાં સક્રિય શીટ.

    શીટને પસંદ કરેલ વર્કબુકની શરૂઆતમાં કોપી કરો :

    સાર્વજનિક સબ કોપીશીટ ToBeginningAnotherWorkbook() લોડ કરો UserForm1 UserForm1.Show If (UserForm1.k"Selected" " ) પછી activeSheet.Copy Before:=Workbooks(UserForm1.SelectedWorkbook).Sheets(1) End If Unload UserForm1 એન્ડ સબ

    શીટને પસંદ કરેલ વર્કબુકના અંતમાં કૉપિ કરો :

    સાર્વજનિક સબ CopySheetToEndAnotherWorkbook() UserForm1 UserForm1 લોડ કરો. જો (UserForm1.SelectedWorkbook "" ) બતાવો તો પછી activeSheet.Copy After:=Workbooks( _ UserForm1.SelectedWorkbook).Sheets(UserForm1.SelectedWorkbook).Sheets(UserForm1.SelectedWorkbook).Sheets(UserForm1UserForm1)Sheets(Enlect_OrForkdSer)Sheets(UserForm1UselectedWorkbook). એન્ડ સબ

    જ્યારે Excel માં ચાલે છે, ત્યારે મેક્રો તમને હાલમાં ખુલેલી બધી વર્કબુકની યાદી બતાવશે. તમે જરૂરી એક પસંદ કરો અને ઓકે ક્લિક કરો:

    શીટની નકલ કરવા અને નામ બદલવા માટે એક્સેલ મેક્રો

    જ્યારે તમે Excel માં શીટની નકલ કરો છો, ત્યારે પ્રતિકૃતિને એક આપવામાં આવે છે. ડિફોલ્ટ ફોર્મેટમાં નામ જેમ કે શીટ1 (2) . નીચેના મેક્રો તમને ડિફોલ્ટ નામ મેન્યુઅલી બદલવાની મુશ્કેલીમાંથી બચાવી શકે છે.

    આ કોડ સક્રિય વર્કશીટની નકલ કરે છે, નકલને "ટેસ્ટ શીટ" તરીકે નામ આપે છે (તમે તેને ગમે તે અન્ય નામથી બદલવા માટે સ્વતંત્ર છો) , અને વર્તમાન વર્કબુકના અંતે કોપી કરેલી શીટ મૂકે છે.

    સાર્વજનિક સબ CopySheetAndRenamePredefined()activeSheet.Copy After:=Worksheets(Sheets.Count) ભૂલ પર ફરી શરૂ કરો આગામી activeSheet.Name ="ટેસ્ટ શીટ" એન્ડ સબ

    વપરાશકર્તાને કોપી કરેલ શીટ માટે નામ સ્પષ્ટ કરવા ની મંજૂરી આપવા માટે, આ કોડનો ઉપયોગ કરો:

    સાર્વજનિક સબ CopySheetAndRename() સ્ટ્રીંગ ઓન એરર તરીકે ડિમ નવું નામ ફરી શરૂ કરો આગલું નવું નામ = ઇનપુટબોક્સ( "કોપી કરેલ વર્કશીટ માટે નામ દાખલ કરો" ) જો નવું નામ "" તો એક્ટિવશીટ. કોપી આફ્ટર કરો:=વર્કશીટ્સ(શીટ્સ.કાઉન્ટ) પર ભૂલ ફરી શરૂ કરો નેક્સ્ટ એક્ટિવશીટ.નામ = નવું નામ End જો એન્ડ સબ

    ચાલવા પર, મેક્રો નીચેનું ઇનપુટ બોક્સ પ્રદર્શિત કરે છે, જેમાં તમે ઇચ્છિત નામ ટાઇપ કરો અને ઓકે દબાવો:

    શીટની નકલ કરવા અને સેલ મૂલ્યના આધારે નામ બદલવા માટે એક્સેલ મેક્રો

    માં કેટલીક પરિસ્થિતિઓમાં, ચોક્કસ કોષ મૂલ્ય સાથે નકલને નામ આપવું વધુ અનુકૂળ હોઈ શકે છે, ઉદાહરણ તરીકે, કૉલમ હેડર. આ માટે, તમે ખાલી ઉપરનો કોડ લો અને હાલમાં પસંદ કરેલ સેલ ની કિંમત આપોઆપ ઇનપુટ બોક્સમાં સપ્લાય કરો. અગાઉના ઉદાહરણની જેમ, નકલ સક્રિય વર્કબુકના અંતે મૂકવામાં આવશે.

    સૌથી મુશ્કેલ ભાગ એ છે કે તમારા વપરાશકર્તાઓ દોડતા પહેલા હંમેશા સાચો કોષ પસંદ કરે. મેક્રો :)

    સાર્વજનિક સબ CopySheetAndRenameByCell() સ્ટ્રિંગ પર ભૂલ તરીકે નવું નામ મંદ કરો આગલું newName = InputBox( "કૉપિ કરેલ વર્કશીટ માટે નામ દાખલ કરો" , "કૉપી વર્કશીટ" , ActiveCell.Value) જો નવું નામ "" તો એક્ટિવશીટ. કોપી After:=Worksheets(Sheets.count) પર ભૂલ ફરી શરૂ કરો આગામી એક્ટિવશીટ.નામ = નવું નામ End જો એન્ડ સબ

    વૈકલ્પિક રીતે, તમે નું એડ્રેસ હાર્ડકોડ કરી શકો છોસેલ જેના દ્વારા નકલનું નામ હોવું જોઈએ, નીચેના કોડમાં સેલ A1. કોપી કરેલ વર્કશીટને બીજા કોષ પર આધારિત નામ આપવા માટે, A1 ને યોગ્ય સેલ સંદર્ભ સાથે બદલો.

    સાર્વજનિક સબ CopySheetAndRenameByCell2() વર્કશીટ સેટ તરીકે મંદ wks wks = activeSheet activeSheet. આ પછી કોપી કરો:=Worksheets(Sheets.Count) જો wks.Range ( "A1" ).મૂલ્ય "" પછી ભૂલ પર આગળ સક્રિયશીટ ફરી શરૂ કરો. નામ = wks.Range( "A1" ).વેલ્યુ એન્ડ જો wks. સક્રિય કરો એન્ડ સબ

    બંધ વર્કબુકમાં વર્કશીટની નકલ કરવા માટે મેક્રો

    આ મેક્રો બંધ વર્કબુકના અંતમાં સક્રિય શીટની નકલ કરે છે. કોડમાં અન્ય વર્કબુકનું નામ ઉલ્લેખિત નથી - મેક્રો પ્રમાણભૂત વિન્ડોઝ એક્સપ્લોરર વિન્ડો ખોલશે અને તમને કોઈપણ ગંતવ્ય ફાઇલ પસંદ કરવાની મંજૂરી આપશે:

    તમે ફાઇલ પસંદ કર્યા પછી અને ખોલો ક્લિક કરો, મેક્રો સક્રિય શીટની નકલ કરશે અને લક્ષ્ય વર્કબુકને આપમેળે બંધ કરશે.

    સાર્વજનિક સબ કોપીશીટટોક્લોઝ્ડવર્કબુક ફાઇલો (*.xlsx), *.xlsx" ) જો ફાઇલનું નામ ખોટું હોય તો Application.ScreenUpdating = False Set currentSheet = Application.activeSheet Set closeBook = Workbooks. ખોલો (ફાઇલનું નામ) વર્તમાનપત્રક. આ પછી નકલ કરો:=closedBook.Sheets(closedBook.Worksheets.count) બંધ બુક. ક્લોઝ ( ટ્રુ ) એપ્લીકેશન. સ્ક્રીનઅપડેટીંગ = ટ્રુ એન્ડ જો એન્ડ સબ

    બીજી વર્કબુકમાંથી શીટની નકલ કરવા માટે એક્સેલ VBAઓપનિંગ

    આ મેક્રો તમને બીજી એક્સેલ ફાઇલમાંથી વર્કશીટને ખોલ્યા વિના તેની નકલ કરવા સક્ષમ બનાવે છે. કૉપિ કરેલ શીટ વર્તમાન વર્કબુકના અંતે દાખલ કરવામાં આવશે.

    કોડમાં ફક્ત થોડા ફેરફાર કરવાનું યાદ રાખો:

    • C:\Users\XXX\Documents\ Target_Book.xlsx એ વર્કબુકના વાસ્તવિક પાથ અને નામમાં બદલવું જોઈએ જેમાંથી તમે શીટની નકલ કરવા માંગો છો.
    • શીટ1ને તમે જે શીટની નકલ કરવા માંગો છો તેના નામથી બદલવી જોઈએ.
    સાર્વજનિક સબ CopySheetFromClosedWorkbook() વર્કબુક એપ્લિકેશન તરીકે ડિમ સોર્સબુક. સ્ક્રીનઅપડેટીંગ = ફોલ્સ સેટ સોર્સબુક = વર્કબુક. ખોલો ( "C:\Users\XXX\Documents\Target_Book.xlsx" ) sourceBook.Sheets( "Sheet1" ).કોપી પછી:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.count) sourceBook. Application બંધ કરો.ScreenUpdating = True End Sub

    એક્સેલ VBA શીટને ઘણી વખત ડુપ્લિકેટ કરવા માટે

    ક્યારેક, તમારે એક જ શીટને એક કરતા વધુ વાર ડુપ્લિકેટ કરવાની જરૂર પડી શકે છે, ઉદાહરણ તરીકે સમાન ડેટા સેટ પર વિવિધ ફોર્મ્યુલાનું પરીક્ષણ કરવા માટે. આ નીચેના મેક્રો વડે સરળતાથી કરી શકાય છે.

    સાર્વજનિક સબ ડુપ્લિકેટશીટમલ્ટીપલટાઇમ્સ() ભૂલ પર પૂર્ણાંક તરીકે ડિમ n નેક્સ્ટ ફરી શરૂ કરો n = ઇનપુટબોક્સ( "તમે સક્રિય શીટની કેટલી નકલો બનાવવા માંગો છો?" ) જો n > = 1 પછી સંખ્યા માટે = 1 થી n activeSheet.Copy After:=ActiveWorkbook.Sheets(Worksheets.Count) નેક્સ્ટ એન્ડ જો એન્ડ સબ

    મૂળ શીટ ખોલો, મેક્રો ચલાવો, સક્રિય શીટની કેટલી નકલો છે તે સ્પષ્ટ કરોતમે બનાવવા માંગો છો, અને ક્લિક કરો ઓકે :

    વીબીએ સાથે એક્સેલમાં શીટ્સની નકલ કેવી રીતે કરવી

    એક્સેલમાં શીટની નકલ કરવી ઉપરોક્ત મેક્રોમાંથી એક સાથે, તમે કાં તો તમારી પોતાની બુકમાં VBA કોડ દાખલ કરી શકો છો અથવા અમારી સેમ્પલ વર્કબુકમાંથી મેક્રો ચલાવી શકો છો.

    તમારી વર્કબુકમાં મેક્રો કેવી રીતે ઉમેરવું

    તમારી વર્કબુકમાં કોડ, આ પગલાંઓ કરો:

    1. તમે કૉપિ કરવા માંગો છો તે વર્કશીટ ખોલો.
    2. વિઝ્યુઅલ બેઝિક એડિટર ખોલવા માટે Alt + F11 દબાવો.
    3. ચાલુ ડાબી તકતી પર, આ વર્કબુક પર જમણું-ક્લિક કરો અને પછી શામેલ કરો > મોડ્યુલ પર ક્લિક કરો.
    4. કોડ વિંડોમાં કોડ પેસ્ટ કરો.
    5. મેક્રો ચલાવવા માટે F5 દબાવો.

    વિગતવાર પગલા-દર-પગલાં સૂચનો માટે, કૃપા કરીને Excel માં VBA કોડ કેવી રીતે દાખલ કરવો તે જુઓ.

    કેવી રીતે ચલાવવું. અમારી સેમ્પલ વર્કબુકમાંથી મેક્રો

    વૈકલ્પિક રીતે, તમે અમારી સેમ્પલ વર્કબુકને ડુપ્લિકેટ એક્સેલ શીટ્સ પર ડાઉનલોડ કરી શકો છો અને ત્યાંથી કોડ ચલાવી શકો છો.

    નમૂના વર્કબુકમાં નીચેના મેક્રો છે:

    ન્યૂવર્કબુકની નકલ કરો - cu ની નકલ કરે છે વર્કશીટને નવી વર્કબુકમાં રેન્ટ કરો.

    કોપી પસંદ કરેલ શીટ્સ - તમે નવી વર્કબુકમાં પસંદ કરો છો તે બહુવિધ શીટ્સની નકલ કરે છે.

    કોપીશીટ ટુ બિગિનિંગ અન્ય વર્કબુક - સક્રિય શીટની નકલ કરે છે બીજી વર્કબુકની શરૂઆતમાં.

    CopySheetToEndAnotherWorkbook - સક્રિય શીટને બીજી એક્સેલ ફાઇલના અંતમાં કૉપિ કરે છે.

    CopySheetAndRename - વર્તમાનનું ડુપ્લિકેટ કરે છે. શીટવપરાશકર્તા દ્વારા નિર્દિષ્ટ કર્યા મુજબ તેનું નામ બદલો, અને વર્તમાન વર્કબુકમાં અન્ય તમામ શીટ્સ પછી કોપી મૂકે છે.

    કોપીશીટ અને પુનઃનિર્ધારિત પૂર્વનિર્ધારિત - સક્રિય શીટની નકલ કરે છે, નકલને હાર્ડકોડેડ નામ આપે છે અને તેને મૂકે છે. વર્તમાન વર્કબુકના અંતે.

    CopySheetAndRenameByCell - સક્રિય શીટની એક નકલ બનાવે છે અને પસંદ કરેલ સેલ મૂલ્યના આધારે તેનું નામ બદલી નાખે છે.

    CopySheetAndRenameByCell2 - સક્રિય શીટની નકલ કરે છે અને હાર્ડકોડ કરેલ સેલ એડ્રેસના આધારે તેનું નામ બદલી નાખે છે.

    CopySheetToClosedWorkbook - તમને બંધ વર્કબુકમાં શીટની નકલ કરવાની મંજૂરી આપે છે.

    CopySheetFromClosedWorkbook - તમને અન્ય એક્સેલ ફાઇલમાંથી શીટને ખોલ્યા વિના તેની નકલ કરવા સક્ષમ કરે છે.

    ડુપ્લિકેટશીટમલ્ટીપલ ટાઇમ્સ - તમને એક્સેલમાં એક શીટને ઘણી વખત ડુપ્લિકેટ કરવા દે છે.

    તમારા Excel માં મેક્રો ચલાવો, ફક્ત નીચે મુજબ કરો:

    1. ડાઉનલોડ કરેલ વર્કબુક ખોલો અને જો પૂછવામાં આવે તો સામગ્રીને સક્ષમ કરો.
    2. તમારી પોતાની વર્કબુક ખોલો અને તમે જે શીટ કરવા માંગો છો તેના પર નેવિગેટ કરો. નકલ.
    3. <1 7>તમારી વર્કશીટમાં, Alt + F8 દબાવો, રસનો મેક્રો પસંદ કરો, અને ચલાવો પર ક્લિક કરો.

    આ રીતે તમે ડુપ્લિકેટ કરી શકો છો VBA સાથે એક્સેલમાં શીટ. હું વાંચવા બદલ તમારો આભાર અને આશા રાખું છું કે તમને આવતા અઠવાડિયે અમારા બ્લોગ પર મળીશ!

    માઈકલ બ્રાઉન સોફ્ટવેર ટૂલ્સનો ઉપયોગ કરીને જટિલ પ્રક્રિયાઓને સરળ બનાવવાના જુસ્સા સાથે સમર્પિત ટેકનોલોજી ઉત્સાહી છે. ટેક ઉદ્યોગમાં એક દાયકા કરતાં વધુ અનુભવ સાથે, તેમણે Microsoft Excel અને Outlook, તેમજ Google Sheets અને Docsમાં તેમની કુશળતાને સન્માનિત કરી છે. માઈકલનો બ્લોગ તેના જ્ઞાન અને કુશળતાને અન્ય લોકો સાથે શેર કરવા માટે સમર્પિત છે, ઉત્પાદકતા અને કાર્યક્ષમતામાં સુધારો કરવા માટે અનુસરવામાં સરળ ટીપ્સ અને ટ્યુટોરિયલ્સ પ્રદાન કરે છે. ભલે તમે અનુભવી વ્યાવસાયિક હોવ કે શિખાઉ માણસ, માઈકલનો બ્લોગ આ આવશ્યક સોફ્ટવેર સાધનોમાંથી સૌથી વધુ મેળવવા માટે મૂલ્યવાન આંતરદૃષ્ટિ અને વ્યવહારુ સલાહ આપે છે.