Excel VBA დააკოპირეთ დიაპაზონი სხვა ფურცელზე (8 ყველაზე მარტივი გზა)

  • გააზიარეთ ეს
Hugh West

როდესაც დაგჭირდებათ, შეგიძლიათ დააკოპიროთ დიაპაზონი ერთი ფურცლიდან მეორე ფურცელზე ან სამუშაო წიგნში. არსებობს სხვადასხვა სახის კოპირება და ჩასმა. ამ სტატიის შემდეგ, თქვენ გაეცნობით Excel VBA ასლის დიაპაზონის სხვა ფურცელზე გამოყენების სხვადასხვა გზებს.

იმისთვის, რომ ახსნა ცოცხალი იყოს, მე ვაპირებ გამოვიყენო მონაცემთა ნაკრები, რომელიც წარმოადგენს კონკრეტული პირების პერსონალურ ინფორმაციას. . მონაცემთა ნაკრები შეიცავს 4 სვეტს. ეს სვეტებია სახელი, გვარი, სრული სახელი, და ელფოსტა .

ჩამოტვირთეთ სამუშაო წიგნი სავარჯიშოდ

VBA დააკოპირეთ დიაპაზონი სხვა ფურცელზე.xlsm

8 გზა Excel-ისთვის VBA დააკოპირეთ დიაპაზონი სხვა ფურცელზე

1. დააკოპირეთ დიაპაზონი სხვა ფურცელზე ფორმატით

როდესაც გსურთ დააკოპიროთ დიაპაზონი ერთი ფურცლიდან მეორე ფურცელზე ფორმატით შეგიძლიათ ეს უბრალოდ გააკეთოთ 2>VBA .

აქ, მე კოპირებ დიაპაზონს Dataset ფურცლიდან WithFormat ფურცლამდე.

მოდით, დავიწყოთ პროცედურა,

პირველ რიგში, გახსენით დეველოპერი ჩანართი >> აირჩიეთ Visual Basic

ასევე შეგიძლიათ გამოიყენოთ ALT + F11 კლავიატურა VBA <გასახსნელად 3>რედაქტორი.

შემდეგ, გაიხსნება ახალი ფანჯარა სახელად Microsoft Visual Basic აპლიკაციებისთვის.

აქედან გახსენით Insert >> აირჩიეთ მოდული .

A მოდული გაიხსნება და შემდეგ გახსნილში ჩაწერეთ შემდეგი კოდი >> აირჩიეთ მაკროს ნახვა

დიალოგური ფანჯარა გაჩნდება.

ახლა, მაკროს სახელიდან აირჩიეთ Copy_Range_BelowLastCell_AnotherSheets ასევე აირჩიეთ სამუშაო წიგნი მაკროსში -ში.

ბოლოს, გაშვება. არჩეული მაკრო .

აქედან გამომდინარე, ის დაკოპირებს არჩეულ დიაპაზონს და ჩასმებს მას სხვა ფურცლის ბოლო მწკრივიდან .

8. VBA დააკოპირეთ დიაპაზონი სხვა სამუშაო წიგნის ბოლო რიგზე

თუ გსურთ კოპირება დიაპაზონი სხვა სამუშაო წიგნის ფურცლის ბოლო სტრიქონამდე, ასევე შეგიძლიათ გამოიყენოთ VBA .

აქ, მე კოპირებ დიაპაზონს Dataset2-დან. ფურცელი Sheet1 Book2 მაგრამ პირველი არა ცარიელი უჯრედიდან.

პროცედურის დასაწყებად,

პირველ რიგში, გახსენით დეველოპერი ჩანართი >> აირჩიეთ Visual Basic

ასევე შეგიძლიათ გამოიყენოთ ALT + F11 კლავიატურა VBA რედაქტორის გასახსნელად.

შემდეგ, გაიხსნება Microsoft Visual Basic-ის ახალი ფანჯარა აპლიკაციებისთვის.

აქედან გახსენით Insert >> აირჩიეთ მოდული .

A მოდული გაიხსნება და შემდეგ აკრიფეთ შემდეგი კოდი გახსნილ მოდულში .

7113

აქ მე გამოვაცხადე ქვეპროცედურა Copy_Range_BelowLastCell_To_Another_Workbook სადაც wsCopy და wsDestination არის სამუშაო ფურცელი ტიპი, lCopyLastRow და lDestLastRow არის გრძელი ტიპი.

პირველ რიგში, გამოიყენება დაყენება ცვლადების დასაყენებლად ფურცლის კოპირებისთვის და დანიშნულების ფურცლისთვის.

შემდეგი, გამოიყენა მწკრივის მეთოდი ასლის დიაპაზონში სვეტის A მონაცემების საფუძველზე ბოლო მწკრივის მოსაძებნად.

კიდევ ერთხელ გამოიყენა რიგი მეთოდი დანიშნულების დიაპაზონში A სვეტის მონაცემებზე დაფუძნებული პირველი ცარიელი მწკრივის საპოვნელად ასევე გამოიყენება Offset ერთი თვისების ქვემოთ გადასატანად.

საბოლოოდ, კოპირებულია Dataset2 ფურცლის მონაცემები Excel VBA კოპირების დიაპაზონიდან სხვა Sheet.xlsm სამუშაო წიგნიდან Sheet1 სამუშაო წიგნის დანიშნულებამდე Book2.xlsx .

ახლა, შეინახეთ კოდი და დაუბრუნდით სამუშაო ფურცელს.

შემდეგ გახსენით View ჩანართი >> მაკროდან >> აირჩიეთ მაკროს ნახვა

დიალოგური ფანჯარა გაჩნდება.

ახლა, მაკროს სახელიდან აირჩიეთ Copy_Range_BelowLastCell_To_Another_Workbook ასევე აირჩიეთ სამუშაო წიგნი მაკროსში -ში.

ბოლოს, გაშვება არჩეული მაკრო .

აქედან გამომდინარე, ის აკოპირებს არჩეულ დიაპაზონს არსებული ფურცლიდან სხვა სამუშაო წიგნის ბოლო სტრიქონამდე.

პრაქტიკის განყოფილება

მე მივაწოდე სავარჯიშო ფურცელი სამუშაო წიგნში Excel VBA ასლის დიაპაზონის ამ ახსნილი გზების გამოსაყენებლად სხვა ფურცელზე.

დასკვნა

ამ სტატიაში მე ავხსენი 8 სხვადასხვა სახის მარტივი და სწრაფი გზაExcel VBA დააკოპირეთ დიაპაზონი სხვა ფურცელზე. ეს განსხვავებული გზები დაგეხმარებათ დააკოპიროთ დიაპაზონი ერთი ფურცლიდან მეორეზე და ასევე ერთი ფურცლიდან მეორე სამუშაო წიგნში. დაბოლოს, მაგრამ არანაკლებ მნიშვნელოვანი, თუ თქვენ გაქვთ რაიმე სახის წინადადება, იდეა და გამოხმაურება, გთხოვთ, მოგერიდებათ კომენტარის გაკეთება ქვემოთ.

მოდული.
5029

აქ მე გამოვაცხადე ქვეპროცედურა Copy_Range_withFormat_ToAnother_Sheet

მე ავიღე დიაპაზონი B1:E10 არსებული ფურცლიდან ფურცლის სახელზე გადასაწერად WithFormat .

აქ გამოვიყენე ასლი არჩეული დიაპაზონის კოპირების მეთოდი, კოპირება მეთოდი კოპირებს ნებისმიერ დიაპაზონს ფორმატით .

ბოლოს, შეინახეთ კოდი და დაუბრუნდით სამუშაო ფურცელს .

შემდეგ გახსენით ნახვა ჩანართი >> მაკროდან >> აირჩიეთ მაკროს ნახვა

დიალოგური ფანჯარა გაჩნდება.

ახლა, მაკროს სახელიდან აირჩიეთ Copy_Range_withFormat_ToAnother_Sheet ასევე აირჩიეთ სამუშაო წიგნი მაკროებში -ში.

საბოლოოდ, გაშვება არჩეული მაკრო .

აქედან გამომდინარე, ის აკოპირებს შერჩეულ დიაპაზონს ფორმატით ჩემს მიერ არჩეულ ახალ ფურცელზე ( ფორმატით) .

2. VBA დააკოპირეთ დიაპაზონი სხვა ფურცელზე ფორმატის გარეშე

ასევე შესაძლებელია დაკოპირება დიაპაზონის სხვა ფურცელზე ფორმატი გარეშე VBA .

აქ, მე კოპირებ დიაპაზონი Dataset ფურცლიდან WithoutFormat ფურცლამდე.

მოდით, დავიწყოთ პროცედურა,

ახლა გახსენით Developer ჩანართი >> აირჩიეთ Visual Basic ( გამოიყენეთ ALT + F11)

შემდეგი, გაიხსნება Microsoft Visual Basic აპლიკაციებისთვის.

შემდეგ გახსენით Insert >> აირჩიეთ მოდული .

A მოდული გაიხსნება და შემდეგ აკრიფეთ შემდეგი კოდი გახსნილ მოდულში .

9239

აქ მე გამოვაცხადე ქვეპროცედურა Copy_Range_WithoutFormat_Toanother_Sheet

მე ავიღე დიაპაზონი B1:E10 დააკოპირეთ არსებული ფურცლიდან ფურცლის სახელზე WithoutFormat .

აქ მე გამოვიყენე Copy მეთოდი არჩეული დიაპაზონის დასაკოპირებლად, მაგრამ ასევე ნახსენები Paste:=xlPasteValues ​​ PasteSpecial მეთოდიში, რათა ჩასვას მხოლოდ შერჩეული დიაპაზონის მნიშვნელობები და არა ფორმატი.

საბოლოოდ. , შეინახეთ კოდი და დაუბრუნდით სამუშაო ფურცელს.

შემდეგ გახსენით View ჩანართი >> მაკროდან >> აირჩიეთ მაკროს ნახვა

დიალოგური ფანჯარა გაჩნდება.

ახლა, მაკროს სახელიდან აირჩიეთ Copy_Range_WithoutFormat_Toanother_Sheet და ასევე აირჩიეთ სამუშაო წიგნი მაკროსში -ში.

ბოლოს, გაუშვით არჩეული მაკრო .

ამგვარად, ის აკოპირებს შერჩეულ დიაპაზონს მხოლოდ მნიშვნელობები არა ფორმატი .

3. დააკოპირეთ დიაპაზონი სხვა ფურცელზე ფორმატით და სვეტის სიგანით

ზოგჯერ შეიძლება დაგჭირდეთ დააკოპირეთ ნებისმიერი შერჩეული დიაპაზონი ისე, როგორც არის, ამისთვის შეგიძლიათ დააკოპიროთ დიაპაზონი ფორმატით და სვეტის სიგანით .

აქ, მე დაკოპირებ დიაპაზონს მონაცემთა ნაკრები ფურცლიდან ფორმატამდე და amp; სვეტის სიგანე ფურცელი.

დავალების შესრულების პროცედურის სანახავად VBA ,

პირველ რიგში, გახსენით დეველოპერი ჩანართი >> აირჩიეთ Visual Basic

ასევე შეგიძლიათ გამოიყენოთ ALT + F11 კლავიატურა VBA რედაქტორის გასახსნელად.

შემდეგ, გაიხსნება Microsoft Visual Basic-ის ახალი ფანჯარა აპლიკაციებისთვის.

იქ გახსენით Insert >> აირჩიეთ მოდული .

A მოდული გაიხსნება და შემდეგ აკრიფეთ შემდეგი კოდი გახსნილ მოდულში .

1539

აქ მე გამოვაცხადე ქვეპროცედურა Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth

მე ავიღე დიაპაზონი B1:E10 არსებული ფურცლიდან დანიშნულების ფურცლის სახელზე გადაწერა ფორმატი & amp; სვეტის სიგანე .

აქ მე გამოვიყენე Copy მეთოდი არჩეული დიაპაზონის დასაკოპირებლად. მე ასევე გამოვიყენე PasteSpecial მეთოდი, სადაც აღვნიშნე Paste:=xlPasteColumnWidths ისე, რომ ჩასვით შერჩეული დიაპაზონი Format და Column Width .

ბოლოს, შეინახეთ კოდი და დაუბრუნდით სამუშაო ფურცელს.

შემდეგ გახსენით View ჩანართი >> მაკროდან >> აირჩიეთ მაკროს ნახვა

დიალოგური ფანჯარა გამოჩნდება.

ახლა, მაკროს სახელიდან აირჩიეთ Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth და ასევე აირჩიეთ სამუშაო წიგნი მაკროსში -ში.

ბოლოს, გაუშვით შერჩეული მაკრო .

შედეგად, ის დააკოპირებს შერჩეულ დიაპაზონს ფორმატით და სვეტის სიგანით .

4. VBA დააკოპირეთ დიაპაზონი სხვა ფურცელზე ფორმულით

იმ შემთხვევაში, თუ თქვენს მონაცემთა ბაზაში გაქვთ რაიმე ფორმულა, რომლის კოპირებაც გსურთ. Არაფერია სანერვიულო! შეგიძლიათ დააკოპიროთ დიაპაზონი, რომელიც შეიცავს ფორმულას სხვა ფურცელზე, ფორმულის ხელუხლებლად შენარჩუნებით.

აქ, მე დაკოპირებ დიაპაზონს Dataset ფურცლიდან. Formula ფურცლით

დავიწყოთ პროცედურა,

დასაწყისად გახსენით Developer ჩანართი >> აირჩიეთ Visual Basic ( ასევე შეგიძლიათ გამოიყენოთ ALT + F11 კლავიატურა)

შემდეგ, გაიხსნება Microsoft Visual Basic აპლიკაციებისთვის.

აქედან გახსენით Insert >> აირჩიეთ მოდული .

A მოდული გაიხსნება და შემდეგ აკრიფეთ შემდეგი კოდი გახსნილ მოდულში .

7757

აქ მე გამოვაცხადე ქვეპროცედურა Copy_Range_withFormula_ToAnother_Sheet

მე ავიღე დიაპაზონი B1:E10 არსებული ფურცლიდან დანიშნულების ფურცლის სახელზე გადასაწერად WithFormula .

აქ მე გამოვიყენე Copy მეთოდი არჩეული დიაპაზონის დასაკოპირებლად. მე ასევე გამოვიყენე PasteSpecial მეთოდი, სადაც აღვნიშნე Paste:=xlPasteFormulas ისე, რომ ის ატარებს ფორმულებს არჩეულ დიაპაზონთან ერთად.

საბოლოოდ. , შეინახეთ კოდი და დაუბრუნდით სამუშაო ფურცელს.

შემდეგ გახსენით ნახვა ჩანართი >> მაკროდან >> აირჩიეთ მაკროს ნახვა

დიალოგური ფანჯარა გამოჩნდება.

ახლა, მაკრო სახელიდან აირჩიეთ Copy_Range_withFormula_ToAnother_Sheet ასევე აირჩიეთ სამუშაო წიგნი მაკროსში -ში.

ბოლოს, გაშვება არჩეული მაკრო .

ამგვარად, ის დაკოპირებს ყველა არჩეულ უჯრედის დიაპაზონს ფორმულებით .

მსგავსი წაკითხვები:

  • როგორ გამოვიყენოთ VBA დიაპაზონის ოფსეტი (11 გზა)
  • VBA თითოეული უჯრედისთვის დიაპაზონში Excel-ში (3 მეთოდი)
  • როგორ გამოვიყენოთ VBA დიაპაზონის ობიექტი Excel-ში (5 თვისება)

5. დააკოპირეთ დიაპაზონი AutoFit-ით სხვა ფურცელზე

როდესაც აკოპირებთ დიაპაზონს სხვა ფურცელზე, ასევე შეგიძლიათ გამოიყენოთ AutoFit მეთოდი VBA AutoFit დაკოპირებულ დიაპაზონში ახალ ფურცელში.

აქ, მე დაკოპირებ დიაპაზონს Dataset-დან ფურცელი AutoFit ფურცელი

დავიწყოთ პროცედურა,

პირველ რიგში, გახსენით დეველოპერი ჩანართი >> აირჩიეთ Visual Basic

ასევე შეგიძლიათ გამოიყენოთ ALT + F11 კლავიატურა VBA რედაქტორის გასახსნელად.

შემდეგ, გაიხსნება Microsoft Visual Basic-ის აპლიკაციების ფანჯარა.

შემდეგ გახსენით Insert > ;> აირჩიეთ მოდული .

A მოდული გაიხსნება და შემდეგ გახსნილში ჩაწერეთ შემდეგი კოდი მოდული .

2891

აქ მე გამოვაცხადე ქვეპროცედურა Copy_Range_withFormat_AutoFit

ჯერ შევარჩიე სამუშაო ფურცელი მონაცემთა ნაკრები . შემდეგ აიღეთ დიაპაზონი B1:E10 არსებული ფურცლიდან გადასაწერად დანიშნულების ფურცელზე სახელად AutoFit .

აქ გამოვიყენე Copy არჩეული დიაპაზონის კოპირების მეთოდი და AutoFit მეთოდი ავტომატურად მოერგება მოცემულ სვეტებს B:E .

ბოლოს, შეინახეთ კოდი და გადადით დაუბრუნდით სამუშაო ფურცელს.

შემდეგ გახსენით ნახვა ჩანართი >> მაკროდან >> აირჩიეთ მაკროს ნახვა

დიალოგური ფანჯარა გამოჩნდება.

ახლა, მაკროს სახელიდან აირჩიეთ Copy_Range_withFormat_AutoFit ასევე აირჩიეთ სამუშაო წიგნი მაკროსში -ში.

საბოლოოდ, გაშვება არჩეული მაკრო .

აქედან გამომდინარე, ის აკოპირებს არჩეულ დიაპაზონს ახალ ფურცელში და ასევე AutoFit სვეტებს.

6. VBA დააკოპირეთ დიაპაზონი სხვა სამუშაო წიგნში

თუ გსურთ, ასევე შეგიძლიათ დააკოპიროთ დიაპაზონი ერთი ფურცლიდან მეორე ფურცელზე სხვა სამუშაო წიგნის.

აქ, მე დაკოპირებ დიაპაზონს მონაცემთა ნაკრები ფურცლიდან Sheet1-მდე წიგნი1 სამუშაო წიგნი.

მოდით, დავიწყოთ პროცედურა,

პირველ რიგში, გახსენით დეველოპერი ჩანართი >> აირჩიეთ Visual Basic (y ასევე შეგიძლიათ გამოიყენოთ ALT + F11 კლავიატურა)

შემდეგ, ის გაიხსნება Microsoft Visualძირითადი აპლიკაციებისთვის.

შემდეგი, გახსენით ჩასმა >> აირჩიეთ მოდული .

A მოდული გაიხსნება და შემდეგ აკრიფეთ შემდეგი კოდი გახსნილ მოდულში .

6252

აქ მე გამოვაცხადე ქვეპროცედურა Copy_Range_WithFormat_Toanother_WorkBook

მე ავიღე დიაპაზონი B3:E10 ფურცლის სახელიდან მონაცემთა ნაკრები დააკოპირეთ არსებული ფურცლიდან სამუშაო წიგნის ახალ სახელზე Book1 და ფურცლის სახელზე Sheet1 .

აქ მე გამოვიყენე Copy მეთოდი არჩეული დიაპაზონის ახალ სამუშაო წიგნში დასაკოპირებლად.

ბოლოს, შეინახეთ კოდი და დაუბრუნდით სამუშაო ფურცელს.

შემდეგ გახსენით View ჩანართი >> მაკროდან >> აირჩიეთ მაკროს ნახვა

დიალოგური ფანჯარა გამოჩნდება.

ახლა, მაკროს სახელიდან აირჩიეთ Copy_Range_WithFormat_Toanother_WorkBook ასევე აირჩიეთ სამუშაო წიგნი მაკროსში -ში.

ბოლოს, გაშვება. არჩეული მაკრო .

ახლა, ის აკოპირებს შერჩეულ დიაპაზონს მონაცემთა ნაკრები ფურცლიდან სხვა სამუშაო წიგნში.

7. დააკოპირეთ დიაპაზონი სხვა ფურცლის ბოლო რიგზე

ნებისმიერ შემთხვევაში, თუ გსურთ დააკოპიროთ დიაპაზონი სხვა ფურცელზე კონკრეტული უჯრედიდან ან ბოლო უჯრედიდან შეგიძლიათ გააკეთოთ ეს VBA -ის გამოყენებით.

პროცედურებში შესვლამდე მინდა გითხრათ, რომ ავიღე ორი ახალი ფურცელი, რომელიც შედგება 2> სრული სახელი, ელფოსტა, და მისამართი .

მოდით ჯერ დავაკვირდეთ Dataset2 ფურცელს.

აქ არის ბოლო უჯრედის ქვემოთ ფურცელი.

აქ, მე კოპირებ დიაპაზონს <-დან 2>Dataset2 ფურცელი ბოლო უჯრედის ქვემოთ მაგრამ პირველი არა ცარიელი უჯრედიდან.

დასაწყისად გახსენით დეველოპერი ჩანართი >> აირჩიეთ Visual Basic

შემდეგი, გაიხსნება Microsoft Visual Basic აპლიკაციებისთვის.

შემდეგ გახსენით ჩასმა >> აირჩიეთ მოდული .

A მოდული გაიხსნება და შემდეგ აკრიფეთ შემდეგი კოდი გახსნილ მოდულში .

9585

აქ მე გამოვაცხადე ქვეპროცედურა Copy_Range_BelowLastCell_AnotherSheets

პირველ რიგში, მე შევარჩიე ფურცელი Dataset2 და შემდეგ გამოიყენა Row მეთოდი ბოლო მწკრივის დასათვლელად და დათვლილი მწკრივი შეინახა lr .

შემდეგ გადაღებულია დიაპაზონი A2:C & lr. სხვა ფურცლის მწკრივი სახელად ბოლო უჯრედის ქვემოთ და დათვლილი მწკრივი ინახება lrAnotherSheet -ში.

აქ მე გამოვიყენე Copy მეთოდი არჩეული დიაპაზონის დასაკოპირებლად და AutoFit მეთოდი ავტომატურად მოერგება მოცემულ სვეტებს A:C .

ბოლოს, შეინახეთ კოდი და დაბრუნდით უკან სამუშაო ფურცელზე.

შემდეგ გახსენით View ჩანართი >> მაკროდან

ჰიუ ვესტი არის Excel-ის ძალიან გამოცდილი ტრენერი და ანალიტიკოსი, რომელსაც აქვს 10 წელზე მეტი გამოცდილება ინდუსტრიაში. მას აქვს ბაკალავრის ხარისხი ბუღალტერიასა და ფინანსებში და მაგისტრის ხარისხი ბიზნესის ადმინისტრირებაში. ჰიუს აქვს სწავლების გატაცება და შეიმუშავა სწავლების უნიკალური მიდგომა, რომელიც ადვილად გასაგები და გასაგებია. მისი ექსპერტი Excel-ის ცოდნა დაეხმარა ათასობით სტუდენტს და პროფესიონალს მთელს მსოფლიოში, გაეუმჯობესებინათ თავიანთი უნარები და გამოირჩეოდნენ თავიანთ კარიერაში. თავისი ბლოგის საშუალებით, ჰიუ უზიარებს თავის ცოდნას მსოფლიოს, სთავაზობს უფასო Excel გაკვეთილებს და ონლაინ ტრენინგებს, რათა დაეხმაროს ინდივიდებსა და ბიზნესს თავიანთი პოტენციალის სრულად მიღწევაში.