Satura rādītājs
In Microsoft Excel , VBA makroīkli var viegli atrisināt dažādas problēmas. Ja vēlamies nokopēt datus no citas darbgrāmatas, neatverot darbgrāmatu, to varam viegli izdarīt, izmantojot Excel VBA Šajā rakstā uzzināsiet Excel VBA lai kopētu datus no citas darbgrāmatas, to neatverot.
Lejupielādēt Practice Workbook
Varat lejupielādēt darba burtnīcu un vingrināties ar tiem.
Citas darbgrāmatas datu kopēšana.xlsm3 dažādi veidi, kā kopēt datus no citas darbgrāmatas, neatverot to ar Excel VBA
Dažreiz mums ir nepieciešami dati no kādas iepriekšējās darbgrāmatas. Ja steidzamies un dati mums ir nepieciešami nekavējoties, neatverot darbgrāmatu, varam izmantot funkciju Excel VBA . Izmantojot Excel VBA, mēs varam ātri kopēt datus no citām darbgrāmatām, lai to izdarītu, mums tikai jāzina konkrētās darbgrāmatas atrašanās vieta.
Lai kopētu datus, mēs izmantosim darbgrāmatas nosaukumu Informācija par produktu_Details . Un mēs vēlamies kopēt datu diapazonu ( B4:E10 ). Datu kopa, ko vēlamies kopēt, satur dažus produktus, to pārdošanas cenu, preču pašizmaksu un bruto peļņas normu. Apskatīsim dažādus kritērijus, lai kopētu datus no citas darbgrāmatas.
1. Loksnes datu kopēšana no citas darbgrāmatas, neatverot to ar Excel VBA
Mēs varam kopēt datus no lapas, izpildot šādas norādes VBA Lai to izdarītu, mums ir jāveic turpmāk norādītās darbības.
PASĀKUMI:
- Vispirms dodieties uz Izstrādātājs cilni no lentes.
- Pēc tam noklikšķiniet uz Visual Basic lai atvērtu Visual Basic redaktors .
- Vēl viens veids, kā atvērt Visual Basic redaktors ir vienkārši nospiest Alt + F11 .
- Vai arī noklikšķiniet uz lapas ar peles labo pogu, pēc tam atlasiet Skatīt kodu .
- Tagad pierakstiet VBA kods zemāk.
VBA kods:
Sub Copy_Data_from_Another_Workbook() Dim wb As Workbook Dim newwb As Workbook Dim rn1 As Range Dim rn2 As Range Set wb = Application.ActiveWorkbook With Application.FileDialog(msoFileDialogOpen) .Filters.Clear .Filters.Add "Excel 2007-13", "*.xlsx; *.xlsm; *.xlsa" .AllowMultiSelect = False .Show If .SelectedItems.Count> 0 Then Application.Workbooks.Open.SelectedItems(1) Set newwb = Application.ActiveWorkbook Set rn1 = Application.InputBox(prompt:="Select Data Range", Default:="A1", Type:=8) wb.Activate Set rn2 = Application.InputBox(prompt:="Select Destination Range", Default:="A1", Type:=8) rn1.Copy rn2 rn2.CurrentRegion.EntireColumn.AutoFit newwb.Close False End If End With End SubEnd With End Sub
- Visbeidzot, palaidiet kodu, noklikšķinot uz Run Sub no otras puses, nospiediet tastatūras saīsni F5 taustiņu, lai palaistu kodu.
PIEZĪME: Kods nav jāmaina. Vienkārši kopējiet un ielīmējiet kodu.
- Palaižot kodu Failu atvēršana datorā parādīsies logs.
- Pēc tam noklikšķiniet uz darbgrāmatas, kurā vēlaties vākt datus.
- Pēc tam noklikšķiniet uz LABI pogu.
- Tagad atlasiet datus no avota faila, velkot virs diapazona. B5:E10 un pēc tam noklikšķiniet uz LABI .
- Pēc datu diapazona atlases tagad atlasiet mērķa diapazonu, kurā vēlaties ievietot datus.
- Un noklikšķiniet uz LABI .
- Beigās tiks aizvērts avota fails, un dati tiks kopēti galamērķa failā.
Lasīt vairāk: Excel VBA: diapazona kopēšana uz citu darbgrāmatu
Līdzīgi lasījumi
- Kā ielīmēt no starpliktuves uz Excel, izmantojot VBA
- Izslēgt kopēšanu un ielīmēšanu programmā Excel bez makroekrāniem (ar 2 kritērijiem)
- Kā kopēt slēpto rindu izslēgšanu programmā Excel (4 vienkāršas metodes)
- Excel VBA, lai kopētu rindas uz citu darblapu, pamatojoties uz kritērijiem
- Kā izmantot VBA, lai programmā Excel ielīmētu tikai vērtības bez formatēšanas
2. VBA, lai kopētu datu diapazonu no citas darbgrāmatas, neatverot to programmā Excel
Izmantojot VBA Lai to paveiktu, mums ir jāveic turpmāk norādītās darbības. Lai to paveiktu, mums ir jāveic turpmāk norādītās darbības.
PASĀKUMI:
- Lai sāktu, dodieties uz Izstrādātājs lentes cilne.
- Otrkārt, atveriet Visual Basic redaktors noklikšķinot uz Visual Basic vai nospiežot Alt + F11 .
- Vai arī vienkārši noklikšķiniet uz lapas ar peles labo pogu un izvēlieties Skatīt kodu lai atvērtu Visual Basic redaktors .
- Pēc tam pierakstiet VBA kods tur.
VBA kods:
Sub CollectData() Dim rgTarget As Range Set rgTarget = ActiveSheet.Range("B2:E10") 'kur ievietot kopētos datus. rgTarget.FormulaArray = "='D:\[Product_Details.xlsx]Sheet1'!$B$4:$E$10" rgTarget.Formula = rgTarget.Value End Sub
- Šeit palaidiet kodu, izmantojot Palaist Sub vai nospiediet tastatūras saīsni F5 lai palaistu kodu.
PIEZĪME: Kods nav jāmaina, viss, kas jums jādara, ir tikai jāmaina diapazons atbilstoši avota datiem.
- Visbeidzot, dati no citas darbgrāmatas tiek kopēti aktīvajā darbgrāmatā.
Lasīt vairāk: Makrokopēšana un ielīmēšana no vienas darblapas uz citu (15 metodes)
3. Excel VBA, lai kopētu datus no citas darbgrāmatas, neatverot to ar komandu pogu
Mēs varam kopēt datus no citas darbgrāmatas, izmantojot komandu pogu uz VBA Lai to paveiktu, ir jāveic turpmāk aprakstītās darbības.
PASĀKUMI:
- Pirmkārt, likt Komandas poga , dodieties uz Izstrādātājs cilne.
- Otrkārt, noklikšķiniet uz Ievietot nolaižamajā izvēlnē.
- Treškārt, noklikšķiniet uz Komandas poga .
- Mēs ieliekam Produkts par šūnu A1 , jo tas ir mūsu avota faila lapas nosaukums. Un mēs iestatām Komandas poga , avota faila lapas nosaukuma labajā pusē. Tagad esam izveidojuši tabulu, mums tikai nepieciešami dati, kas atrodas citā darbgrāmatā.
- Tāpat arī pārejiet uz Izstrādātājs lentes cilne.
- Pēc tam noklikšķiniet uz Visual Basic vai nospiediet Alt + F11 lai palaistu Visual Basic redaktors .
- Varat arī atvērt Visual Basic redaktors noklikšķinot uz lapas ar peles labo pogu un izvēloties Skatīt kodu .
- Tagad rakstiet VBA kodu uz leju.
VBA kods:
Private Sub CommandButton1_Click() Dim sourceworkbook As Workbook Dim currentworkbook As Workbook Set currentworkbook = ThisWorkbook Set sourceworkbook = Workbooks.Open("D:\Products_Details.xlsx") sourceworkbook.Worksheets("Product").Range("B5:E10").Copy currentworkbook.Activate currentworkbook.Worksheets("Sheet3").Activate currentworkbook.Worksheets("Sheet3").Cells(4, 1).Select ActiveSheet.PasteSourceworkbook.Close Set sourceworkbook = Nothing Set currentworkbook = Nothing ThisWorkbook.Activate Worksheets("Sheet3").Activate Worksheets("Sheet3").Range("A2").Select End Sub
- Pēc tam saglabājiet kodu, nospiežot Ctrl + S .
PIEZĪME: Varat kopēt kodu, tikai jāmaina faila ceļš un datu diapazons.
- Un, visbeidzot, ja noklikšķiniet uz CommandButton1 tas nokopēs datus no citas darbgrāmatas, to neatverot.
Lasīt vairāk: Makro datu kopēšana no vienas darbgrāmatas uz citu, pamatojoties uz kritērijiem
Secinājums
Iepriekš minētie kritēriji ir vadlīnijas, lai kopētu datus no citas darbgrāmatas, neatverot to ar Excel VBA . Ceru, ka tas jums palīdzēs! Ja jums ir kādi jautājumi, ieteikumi vai atsauksmes, lūdzu, dariet mums zināmu komentāru sadaļā. Vai arī varat ielūkoties citos mūsu rakstos sadaļā ExcelWIKI.com blogs!