අන්තර්ගත වගුව
ඔබට අවශ්ය විටෙක ඔබට එක් පත්රයකින් තවත් පත්රයකට හෝ වැඩපොතකට පරාසයක් පිටපත් කළ හැක. පිටපත් කිරීම සහ ඇලවීම විවිධ වර්ග තිබේ. මෙම ලිපියෙන් පසුව, Excel VBA පිටපත් පරාසය වෙනත් පත්රයකට භාවිතා කිරීමට විවිධ ක්රම ඔබට දැනගත හැකි වනු ඇත.
පැහැදිලි කිරීම සජීවී කිරීමට, මම විශේෂිත පුද්ගලයින්ගේ පුද්ගලික තොරතුරු නියෝජනය කරන නියැදි දත්ත කට්ටලයක් භාවිතා කිරීමට යන්නෙමි. . දත්ත කට්ටලයට තීරු 4ක් ඇත. මෙම තීරු මුල් නම, අවසන් නම, සම්පූර්ණ නම, සහ ඊමේල් වේ.
පුහුණු වීමට වැඩපොත බාගන්න
VBA පරාසය වෙනත් පත්රයකට පිටපත් කරන්නආකෘතිය සහිත වෙනත් පත්රයකට පිටපත් කිරීමට ඔබට අවශ්ය ඕනෑම විටක එක් පත්රිකාවක සිට තවත් පත්රයකට ආකෘතිය සමඟින් ඔබට එය සරලව කළ හැක 2>VBA .
මෙහි, මම දත්ත කට්ටලය පත්රයේ සිට ආකෘතිය සමඟ පත්රය දක්වා පරාසයක් පිටපත් කරමි.
0>අපි ක්රියා පටිපාටිය ආරම්භ කරමු,පළමුව, සංවර්ධක tab >> Visual Basic තෝරන්න
ඔබට VBA <විවෘත කිරීමට ALT + F11 යතුරු පුවරුව භාවිතා කළ හැක. 3>සංස්කාරකය.
ඊළඟට, එය යෙදුම් සඳහා මයික්රොසොෆ්ට් විෂුවල් බේසික් නමින් නව කවුළුවක් විවෘත කරයි.
එතනින්, විවෘත කරන්න ඇතුළු කරන්න >> මොඩියුලය තෝරන්න.
A මොඩියුලය විවෘත වනු ඇත ඉන්පසු විවෘත කරන ලද කේතයෙහි පහත කේතය ටයිප් කරන්න >> තෝරන්න මැක්රෝස් බලන්න
➤ සංවාද පෙට්ටියක් උපතේවි.
දැන්, මැක්රෝ නාමයෙන් Copy_Range_BelowLastCell_AnotherSheets තෝරන්න Macros in තුළ ඇති වැඩපොතද තෝරන්න.
අවසානය, ධාවනය කරන්න. තෝරාගත් මැක්රෝ .
එබැවින්, එය තෝරාගත් පරාසය පිටපත් කර වෙනත් පත්රයක අවසාන පේළියෙන් අලවන්නේ .
8. VBA වෙනත් වැඩපොතක අවසාන පේළියට පරාසයක් පිටපත් කරන්න
ඔබට පිටපත් කිරීමට අවශ්ය නම් වෙනත් වැඩපොත් පත්රයක අවසාන පේළිය දක්වා පරාසයක් ඔබට VBA ද භාවිත කළ හැක.
මෙහි, මම Dataset2 වෙතින් පරාසයක් පිටපත් කරමි. Book2 හි පත්රය Sheet1 නමුත් පළමු හිස් නොවන කොටුවෙන්.
ක්රියා පටිපාටිය ආරම්භ කිරීමට,
පළමුව, Developer tab >> Visual Basic
ඔබට VBA සංස්කාරකය විවෘත කිරීමට ALT + F11 යතුරු පුවරුව භාවිතා කළ හැක.
ඊළඟට, එය යෙදුම් සඳහා මයික්රොසොෆ්ට් විෂුවල් බේසික් හි නව කවුළුවක් විවෘත කරයි.
එතනින්, විවෘත කරන්න ඇතුළු කරන්න >> මොඩියුලය තෝරන්න.
A මොඩියුලය විවෘත වනු ඇත ඉන්පසු විවෘත කළ මොඩියුලය තුළ පහත කේතය ටයිප් කරන්න.
5870
මෙහි, මම උප ක්රියාපටිපාටිය Copy_Range_BelowLastCell_To_Another_Workbook තැන wsCopy සහ wsDestination ප්රකාශ කළෙමි. 3> වැඩපත්ර වර්ගය, lCopyLastRow සහ lDestLastRow වේ දිගු වර්ගයයි.
පළමුව, පත්රය පිටපත් කිරීමට සහ ගමනාන්ත පත්රය සඳහා විචල්යයන් සැකසීමට සකසන්න භාවිත කළා.
ඊළඟට, පිටපත් පරාසයේ A තීරුවේ දත්ත මත පදනම්ව අවසාන පේළිය සොයා ගැනීමට පේළිය ක්රමය භාවිත කළේය.
නැවතත්, පේළිය ක්රමය භාවිත කළේය. ගමනාන්ත පරාසයේ A තීරුවේ දත්ත මත පදනම් වූ පළමු හිස් පේළිය සොයා ගැනීමට Offset එක් දේපලක් පහළට ගෙනයාමට ද භාවිතා කළේය.
අවසානය, පිටපත් කරන ලදී Dataset2 පත්රයේ Excel VBA පිටපත් පරාසයේ සිට වෙනත් Sheet.xlsm වැඩපොත දක්වා ගමනාන්තය වෙත Sheet1 වැඩපොත Book2.xlsx 3>.
දැන්, කේතය සුරකින්න සහ වැඩ පත්රිකාව වෙත ආපසු යන්න.
ඊළඟට, View tab >> Macros >> තෝරන්න මැක්රෝස් බලන්න
➤ සංවාද පෙට්ටියක් උපතේවි.
දැන්, මැක්රෝ නාමයෙන් Copy_Range_BelowLastCell_To_Another_Workbook තෝරන්න, Macros in තුළ ඇති වැඩපොතද තෝරන්න.
අවසානය, Run තෝරාගත් මැක්රෝ .
එබැවින්, එය පිටපත් කරනු ඇත තේරූ පරාසය පවතින පත්රයේ සිට වෙනත් වැඩපොතක අවසාන පේළිය දක්වා.
අභ්යාස අංශය
Excel VBA පිටපත් පරාසයේ මෙම පැහැදිලි කරන ලද ක්රම පුහුණු කිරීමට මම වැඩපොතෙහි පුහුණු පත්රිකාවක් සපයා ඇත. වෙනත් පත්රිකාවකට.
නිගමනය
මෙම ලිපියෙන් මම විවිධ ආකාරයේ පහසු සහ ඉක්මන් ක්රම 8ක් පැහැදිලි කර ඇත.Excel VBA පරාසය වෙනත් පත්රයකට පිටපත් කරන්න. මෙම විවිධ ක්රම මඟින් ඔබට පරාසයක් එක් පත්රයකින් තවත් පත්රයකට සහ එක් පත්රයකින් තවත් වැඩපොතකට පිටපත් කිරීමට උපකාරී වේ. අවසාන වශයෙන් නොව, ඔබට කිසියම් ආකාරයක යෝජනා, අදහස් සහ ප්රතිපෝෂණ තිබේ නම් කරුණාකර පහත අදහස් දැක්වීමට නිදහස් වන්න.
මොඩියුලය.5668
මෙහි, මම උප ක්රියා පටිපාටිය Copy_Range_withFormat_ToAnother_Sheet
මම B1:E10 පවතින පත්රයේ සිට පත්රයේ නමට ආකෘතිය සහිතව පිටපත් කිරීමට පරාසයක් ගෙන ඇත.
මෙහි, මම පිටපත භාවිත කළෙමි. තෝරාගත් පරාසය පිටපත් කිරීමේ ක්රමය, පිටපත් කරන්න ක්රමය ආකෘතිය සමඟ ඕනෑම පරාසයක් පිටපත් කරයි.
අවසානයේ, කේතය සුරකින්න සහ වැඩ පත්රිකාව වෙත ආපසු යන්න .
ඊළඟට, View tab >> Macros >> තෝරන්න මැක්රෝස් බලන්න
➤ සංවාද පෙට්ටියක් උපතේවි.
දැන්, මැක්රෝ නාමයෙන් Copy_Range_withFormat_ToAnother_Sheet එසේම Macros in තුළ ඇති වැඩපොත තෝරන්න.
අවසාන වශයෙන්, ධාවනය කරන්න. තෝරාගත් Macro .
එබැවින්, එය තෝරාගත් පරාසය ආකෘතිය සමඟින් මා තෝරාගත් නව පත්රයට පිටපත් කරයි ( ආකෘතිය සමඟ) .
2. VBA ආකෘතියකින් තොරව පරාසයක් වෙනත් පත්රයකට පිටපත් කරන්න
එය ද වේ. VBA භාවිතයෙන් ආකෘතිය කින් තොරව පරාසයක් වෙනත් පත්රයකට පිටපත් කළ හැක.
මෙහි, මම පිටපත් කරන්නම් <3 දත්ත කට්ටලය පත්රය සිට ආකෘතියෙන් තොරව පත්රය දක්වා පරාසයක්.
අපි ක්රියා පටිපාටිය ආරම්භ කරමු,
දැන්, සංවර්ධකයා විවෘත කරන්න ටැබ් >> Visual Basic තෝරන්න ( ALT + F11 භාවිතා කරන්න)
ඊළඟට, එය විවෘත වනු ඇත යෙදුම් සඳහා මයික්රොසොෆ්ට් විෂුවල් බේසික්.
ඉන්පසු, ඇතුළු කරන්න විවෘත කරන්න >> මොඩියුලය තෝරන්න.
A මොඩියුලය විවෘත වනු ඇත ඉන්පසු විවෘත කළ මොඩියුලය තුළ පහත කේතය ටයිප් කරන්න.
7504
මෙහි, මම උප ක්රියා පටිපාටිය ප්රකාශ කළෙමි Copy_Range_WithoutFormat_Toanother_Sheet
මම පරාසය ගෙන ඇත B1:E10 පවතින පත්රයේ සිට පත්ර නමට පිටපත් කිරීමට ආකෘතියෙන් තොරව .
මෙහි, මම තෝරාගත් පරාසය පිටපත් කිරීමට පිටපත් ක්රමය භාවිත කළ නමුත් Paste:=xlPasteValues PasteSpecial ක්රමය තුළ සඳහන් කර ඇති අතර එමඟින් එය අලවන්නේ තෝරාගත් පරාසයේ අගයන් පමණක් මිස ආකෘතිය නොවේ.
අවසාන වශයෙන්. , කේතය සුරකින්න සහ වැඩ පත්රිකාව වෙත ආපසු යන්න.
ඊළඟට, View tab >> Macros >> තෝරන්න මැක්රෝස් බලන්න
➤ සංවාද පෙට්ටියක් උපතේවි.
දැන්, මැක්රෝ නාමයෙන් Copy_Range_WithoutFormat_Toanother_Sheet තෝරන්න සහ Macros in තුළ ඇති වැඩපොතද තෝරන්න.
අවසානය, තෝරාගත් මැක්රෝ ක්රියාත්මක කරන්න.
එමගින්, එය පිටපත් කරන්න තෝරාගත් පරාසය අගය නැති ආකෘතිය<3 සමඟ පමණි>.
3. ආකෘතිය සහ තීරු පළල සමඟ පරාසයක් වෙනත් පත්රයකට පිටපත් කරන්න
සමහර විට ඔබට අවශ්ය විය හැක තෝරාගත් ඕනෑම පරාසයක් එලෙසම පිටපත් කරන්න, ඒ සඳහා ඔබට ආකෘතිය සහ තීරු පළල සහිත පරාසයක් පිටපත් කළ හැක .
මෙහි, මම Dataset පත්රයේ සිට Format & දක්වා පරාසයක් පිටපත් කරන්නම් තීරු පළල පත්රය.
VBA ,
ප්රථමයෙන්, Developer tab >> භාවිතයෙන් කාර්යය සිදු කිරීමට ක්රියා පටිපාටිය බැලීමට Visual Basic
ඔබට VBA සංස්කාරකය විවෘත කිරීමට ALT + F11 යතුරු පුවරුව භාවිතා කළ හැක.
ඊළඟට, එය යෙදුම් සඳහා මයික්රොසොෆ්ට් විෂුවල් බේසික් හි නව කවුළුවක් විවෘත කරනු ඇත.
එහිදී, ඇතුළු කරන්න විවෘත කරන්න. >> මොඩියුලය තෝරන්න.
A මොඩියුලය විවෘත වනු ඇත ඉන්පසු විවෘත කළ මොඩියුලය තුළ පහත කේතය ටයිප් කරන්න.
5865
මෙහි, මම උප ක්රියා පටිපාටිය ප්රකාශ කළෙමි Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth
මම පරාසය ගෙන ඇත B1:E10 පවතින පත්රයේ සිට ගමනාන්ත පත්රයේ නමට පිටපත් කිරීමට ආකෘතිය & තීරු පළල .
මෙහි, මම තෝරාගත් පරාසය පිටපත් කිරීමට පිටපත් කරන්න ක්රමය භාවිතා කළෙමි. මම PasteSpecial ක්රමයද භාවිතා කළෙමි Paste:=xlPasteColumnWidths එවිට එය තෝරාගත් පරාසය ආකෘතිය සහ තීරු පළල සමඟ අලවයි .
අවසාන වශයෙන්, කේතය සුරකින්න සහ වැඩ පත්රිකාව වෙත ආපසු යන්න.
ඊළඟට, View tab >> Macros >> තෝරන්න මැක්රෝස් බලන්න
➤ සංවාද පෙට්ටියක් උපතේවි.
දැන්, මැක්රෝ නාමයෙන් Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth එසේම Macros in තුළ ඇති වැඩපොතද තෝරන්න.
අවසානය, තෝරාගත් ධාවනය කරන්න Macro .
ප්රතිඵලයක් ලෙස, එය තෝරාගත් පරාසය ආකෘතිය සහ තීරු පළල සමඟ පිටපත් කරයි.
4. VBA සූත්රය සමඟින් පරාසයක් වෙනත් පත්රයකට පිටපත් කරන්න
ඔබේ දත්ත කට්ටලයේ කිසියම් සූත්රයක් තිබේ නම් ඔබට පිටපත් කිරීමට අවශ්ය වේ. කරදර නැහැ! ඔබට සූත්රය අඩංගු පරාසය වෙනත් පත්රයකට පිටපත් කළ හැක. Formula පත්රය සමඟ
අපි ක්රියා පටිපාටිය ආරම්භ කරමු,
ආරම්භ කිරීමට, Developer tab >> Visual Basic තෝරන්න ( ඔබට ALT + F11 යතුරු පුවරුවද භාවිතා කළ හැක)
ඊළඟට, එය යෙදුම් සඳහා Microsoft Visual Basic විවෘත වනු ඇත.
එතනින්, විවෘත කරන්න Insert >> මොඩියුලය තෝරන්න.
A මොඩියුලය විවෘත වනු ඇත ඉන්පසු විවෘත කළ මොඩියුලය තුළ පහත කේතය ටයිප් කරන්න.
9480
මෙහි, මම උප ක්රියාපටිපාටිය ප්රකාශ කළෙමි Copy_Range_withFormula_ToAnother_Sheet
මම පරාසය ගෙන ඇත B1:E10 පවතින පත්රයේ සිට ගමනාන්ත පත්රයේ නමට පිටපත් කිරීමට Formula .
මෙහිදී, මම තෝරාගත් පරාසය පිටපත් කිරීමට පිටපත් ක්රමය භාවිතා කළෙමි. මම Paste:=xlPasteFormulas සඳහන් කළ PasteSpecial ක්රමයද භාවිතා කළෙමි, එවිට එය තෝරාගත් පරාසය සමඟ සූත්ර රැගෙන යයි.
අවසානය , කේතය සුරකින්න සහ වැඩ පත්රිකාව වෙත ආපසු යන්න.
ඉන්පසු, View විවෘත කරන්න ටැබ් >> Macros >> තෝරන්න මැක්රෝස් බලන්න
➤ සංවාද පෙට්ටියක් උපතේවි.
දැන්, මැක්රෝ නාමයෙන් Copy_Range_withFormula_ToAnother_Sheet එමෙන්ම Macros in තුළ ඇති වැඩපොත තෝරන්න.
අවසාන වශයෙන්, Run කරන්න. තෝරාගත් Macro .
එමගින්, එය තෝරාගත් සියලුම සෛල පරාසයන් සූත්ර සමඟ පිටපත් කරයි.
සමාන කියවීම්:
- VBA පරාස ඕෆ්සෙට් භාවිතා කරන්නේ කෙසේද (විධි 11)
- එක්සෙල් හි එක් එක් සෛලය සඳහා VBA (ක්රම 3)
- Excel හි VBA හි පරාසයක වස්තුව භාවිතා කරන්නේ කෙසේද (ගුණාංග 5)
පරාසයක් වෙනත් පත්රයකට පිටපත් කරන අතරතුර ඔබට AutoFit ක්රමය ද භාවිත කළ හැක. VBA සිට AutoFit දක්වා නව පත්රයේ පිටපත් කළ පරාසය.
මෙහි, මම Dataset වෙතින් පරාසයක් පිටපත් කරමි. sheet to AutoFit sheet
අපි ක්රියා පටිපාටිය ආරම්භ කරමු,
මුලින්ම, Developer tab >> Visual Basic
ඔබට VBA සංස්කාරකය විවෘත කිරීමට ALT + F11 යතුරු පුවරුව භාවිතා කළ හැක.
ඊළඟට, එය යෙදුම් සඳහා Microsoft Visual Basic හි කවුළුවක් විවෘත කරයි.
ඉන්පසු, Insert > විවෘත කරන්න. ;> මොඩියුලය තෝරන්න.
A මොඩියුලය විවෘත වනු ඇත ඉන්පසු විවෘත කරන ලද කේතයෙහි පහත කේතය ටයිප් කරන්න මොඩියුලය .
1733
මෙහි, මම උප පටිපාටිය Copy_Range_withFormat_AutoFit
ප්රකාශ කළෙමි. පළමුව, මම Dataset වැඩ පත්රිකාව තෝරා ගත්තෙමි. ඉන්පසු B1:E10 පවතින පත්රයේ සිට AutoFit නම් ගමනාන්ත පත්රයට පිටපත් කිරීමට පරාසය ගත්තා.
මෙහි, මම පිටපත භාවිත කළා. තෝරාගත් පරාසය පිටපත් කිරීමේ ක්රමය සහ AutoFit ක්රමය මඟින් ලබා දී ඇති තීරු B:E ස්වයංක්රීයව ගැලපේ.
අවසානයේ, කේතය සුරකින්න සහ යන්න වැඩ පත්රිකාව වෙත ආපසු යන්න.
ඊළඟට, View tab >> Macros >> තෝරන්න මැක්රෝස් බලන්න
➤ සංවාද පෙට්ටියක් උපතේවි.
දැන්, මැක්රෝ නාමයෙන් Copy_Range_withFormat_AutoFit එමෙන්ම Macros in තුළ ඇති වැඩපොත තෝරන්න.
අවසානය, ධාවනය කරන්න. තෝරාගත් මැක්රෝ .
එබැවින්, එය තෝරාගත් පරාසය නව පත්රයකට සහ AutoFit තීරු පිටපත් කරයි.
6. VBA පරාසයක් වෙනත් වැඩපොතකට පිටපත් කරන්න
ඔබට අවශ්ය නම් ඔබට එක් පත්රයකින් තවත් පත්රයකට පරාසයක් පිටපත් කිරීමටද හැකිය වෙනස් වැඩපොතක.
මෙහි, මම Dataset පත්රයේ සිට Sheet1 Book1 දක්වා පරාසයක් පිටපත් කරන්නම් වැඩපොත.
ක්රියා පටිපාටිය ආරම්භ කරමු,
පළමුව, සංවර්ධක tab >> Visual Basic තෝරන්න (y ඔබට ALT + F11 යතුරු පුවරුවද භාවිතා කළ හැක)
ඉන්පසු, එය Microsoft Visual විවෘත වනු ඇතයෙදුම් සඳහා මූලික.
ඊළඟට, ඇතුළු කරන්න >> මොඩියුලය තෝරන්න.
A මොඩියුලය විවෘත වනු ඇත ඉන්පසු විවෘත කළ මොඩියුලය තුළ පහත කේතය ටයිප් කරන්න.
6551
මෙහි, මම උප පටිපාටිය ප්රකාශ කළෙමි Copy_Range_WithFormat_Toanother_WorkBook
මම පරාසය B3:E10 පත්ර නාමයෙන් දත්ත කට්ටලය පවතින පත්රයේ සිට නව වැඩපොත නම පොත1 සහ පත්ර නම පත්ර1 වෙත පිටපත් කිරීමට.
0>මෙහි, මම තෝරාගත් පරාසය නව වැඩපොත වෙත පිටපත් කිරීමට පිටපත්ක්රමය භාවිතා කළෙමි.අවසානයේ, කේතය සුරකින්න සහ වැඩ පත්රිකාව වෙත ආපසු යන්න.
ඊළඟට, View tab >> Macros >> තෝරන්න මැක්රෝස් බලන්න
➤ සංවාද පෙට්ටියක් උපතේවි.
දැන්, මැක්රෝ නාමයෙන් Copy_Range_WithFormat_Toanother_WorkBook තෝරන්න Macros in තුළ ඇති වැඩපොතද තෝරන්න.
අවසානය, Run තෝරාගත් Macro .
දැන්, එය තෝරාගත් පරාසය Dataset පත්රයෙන් වෙනත් වැඩපොතකට පිටපත් කරයි.
7. වෙනත් පත්රයක අවසාන පේළියට පරාසයක් පිටපත් කරන්න
ඕනෑම අවස්ථාවක, ඔබට පරාසයක් වෙනත් පත්රයකට පිටපත් කිරීමට අවශ්ය නම් විශේෂිත සෛලයකින් හෝ අවසාන කොටුවකින් ඔබට VBA භාවිතයෙන් එය කළ හැකිය.
ක්රියා පටිපාටියට ඇතුළු වීමට පෙර, මට ඔබට කියන්නට අවශ්ය වන්නේ, මම <සමන්විත නව පත්ර දෙකක් ගෙන ඇති බවයි. 2> සම්පූර්ණ නම, විද්යුත් තැපෑල, සහ ලිපිනය .
අපි මුලින්ම Dataset2 පත්රය නිරීක්ෂණය කරමු.
මෙන්න පහත ඇති අවසාන කොටුව පත්රය.
මෙන්න, මම පහළින් පහළ පරාසයක් පිටපත් කරන්නම්. 2>Dataset2 පත්රය සිට අවසාන කොටුවට පහළින් නමුත් පළමු හිස් නොවන කොටුවෙන්.
ආරම්භ කිරීමට, සංවර්ධක tab >> තෝරන්න Visual Basic
ඊළඟට, එය Microsoft Visual Basic for Applications විවෘත වේ.
ඉන්පසු, විවෘත කරන්න. ඇතුළු කරන්න >> මොඩියුලය තෝරන්න.
A මොඩියුලය විවෘත වනු ඇත ඉන්පසු විවෘත කළ මොඩියුලය තුළ පහත කේතය ටයිප් කරන්න.
5837
මෙහි, මම උප පටිපාටිය ප්රකාශ කළෙමි Copy_Range_BelowLastCell_AnotherSheets
පළමුව, මම පත්රය තෝරා ගත්තෙමි Dataset2 සහ පසුව අවසන් පේළිය ගණන් කිරීමට පේළිය ක්රමය භාවිතා කර ගණන් කළ පේළිය lr හි තබා ඇත.
ඉන්පසු ගත්තේ පරාසය A2:C & lr පවතින පත්රයේ සිට ගමනාන්ත පත්රයේ නමට පිටපත් කිරීමට අවසාන කොටුවට පහළින් .
නැවතත්, පේළිය ක්රමය අවසානය ගණන් කිරීමට භාවිත කළේය. අවසාන කොටුවට පහළින් නමින් වෙනත් පත්රයක පේළිය සහ ගණන් කළ පේළිය lrAnotherSheet තුළ තබා ඇත.
මෙහි, මම පිටපත් ක්රමය භාවිත කළෙමි. තෝරාගත් පරාසය පිටපත් කිරීමට සහ AutoFit ක්රමය ලබා දී ඇති තීරු A:C ස්වයංක්රීයව ගැළපේ.
අවසානයේ, කේතය සුරකින්න සහ ආපසු යන්න වැඩ පත්රිකාවට.
ඊළඟට, View tab >> මැක්රෝස් වෙතින්