Πίνακας περιεχομένων
Στο Microsoft Excel , Μακροεντολές VBA μπορούμε εύκολα να λύσουμε ένα ευρύ φάσμα προβλημάτων. Αν θέλουμε να αντιγράψουμε δεδομένα από ένα άλλο βιβλίο εργασίας χωρίς να ανοίξουμε το βιβλίο εργασίας, μπορούμε εύκολα να το κάνουμε χρησιμοποιώντας την εντολή Excel VBA Σε αυτό το άρθρο, θα μάθετε Excel VBA για να αντιγράψετε δεδομένα από άλλο βιβλίο εργασίας χωρίς να το ανοίξετε.
Κατεβάστε το βιβλίο ασκήσεων
Μπορείτε να κατεβάσετε το τετράδιο εργασιών και να εξασκηθείτε μαζί τους.
Αντιγραφή άλλου βιβλίου εργασίας Data.xlsm3 διαφορετικοί τρόποι αντιγραφής δεδομένων από άλλο βιβλίο εργασίας χωρίς άνοιγμα με το Excel VBA
Μερικές φορές, χρειαζόμαστε δεδομένα από κάποιο προηγούμενο βιβλίο εργασίας. Αν βιαζόμαστε και χρειαζόμαστε τα δεδομένα αμέσως χωρίς να ανοίξουμε το βιβλίο εργασίας, μπορούμε να χρησιμοποιήσουμε την εντολή Excel VBA Με το Excel VBA, μπορούμε να αντιγράψουμε γρήγορα τα δεδομένα από άλλα βιβλία εργασίας, για αυτό, πρέπει απλώς να γνωρίζουμε τη θέση του συγκεκριμένου βιβλίου εργασίας.
Για να αντιγράψουμε τα δεδομένα θα χρησιμοποιήσουμε το όνομα του βιβλίου εργασίας Λεπτομέρειες προϊόντος Και θέλουμε να αντιγράψουμε το εύρος δεδομένων ( B4:E10 ). Το σύνολο δεδομένων που θέλουμε να αντιγράψουμε περιέχει ορισμένα προϊόντα, την τιμή πώλησής τους, το κόστος των προϊόντων και τα περιθώρια μικτού κέρδους. Ας δούμε διαφορετικά κριτήρια για την αντιγραφή δεδομένων από ένα άλλο βιβλίο εργασίας.
1. Αντιγραφή δεδομένων φύλλου από άλλο βιβλίο εργασίας χωρίς άνοιγμα με το Excel VBA
Μπορούμε να αντιγράψουμε δεδομένα από ένα φύλλο ακολουθώντας την εντολή VBA Για το σκοπό αυτό, πρέπει να ακολουθήσουμε τα παρακάτω βήματα.
ΒΗΜΑΤΑ:
- Πρώτον, μεταβείτε στο Προγραμματιστής από την κορδέλα.
- Μετά από αυτό, κάντε κλικ στο Visual Basic για να ανοίξετε το Visual Basic Editor .
- Ένας άλλος τρόπος για να ανοίξετε το Visual Basic Editor είναι απλά να πατήσετε Alt + F11 .
- Ή, κάντε δεξί κλικ στο φύλλο και, στη συνέχεια, επιλέξτε Προβολή κωδικού .
- Τώρα, γράψτε το Κώδικας VBA παρακάτω.
Κωδικός VBA:
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
- Τέλος, εκτελέστε τον κώδικα κάνοντας κλικ στο κουμπί Run Sub από την άλλη πλευρά, πατήστε τη συντόμευση πληκτρολογίου F5 για να εκτελέσετε τον κώδικα.
ΣΗΜΕΙΩΣΗ: Δεν χρειάζεται να τροποποιήσετε τον κώδικα, απλώς αντιγράψτε και επικολλήστε τον.
- Εκτελώντας τον κώδικα Άνοιγμα αρχείου θα εμφανιστεί το παράθυρο από τον υπολογιστή σας.
- Στη συνέχεια, κάντε κλικ στο βιβλίο εργασίας που θέλετε να συλλέξετε δεδομένα.
- Στη συνέχεια, κάντε κλικ στο OK κουμπί.
- Τώρα, επιλέξτε τα δεδομένα από το αρχικό αρχείο σύροντας πάνω από το εύρος B5:E10 και στη συνέχεια κάντε κλικ στο OK .
- Αφού επιλέξετε το εύρος δεδομένων. Τώρα επιλέξτε το εύρος προορισμού στο οποίο θέλετε να τοποθετήσετε τα δεδομένα.
- Και, κάντε κλικ OK .
- Στο τέλος, αυτό θα κλείσει το αρχείο προέλευσης και τα δεδομένα θα αντιγραφούν στο αρχείο προορισμού.
Διαβάστε περισσότερα: Excel VBA: Αντιγραφή περιοχής σε άλλο βιβλίο εργασίας
Παρόμοιες αναγνώσεις
- Πώς να επικολλήσετε από το Πρόχειρο στο Excel χρησιμοποιώντας την VBA
- Απενεργοποίηση αντιγραφής και επικόλλησης στο Excel χωρίς μακροεντολές (με 2 κριτήρια)
- Πώς να αντιγράψετε την εξαίρεση κρυφών σειρών στο Excel (4 εύκολες μέθοδοι)
- Excel VBA για την αντιγραφή σειρών σε άλλο φύλλο εργασίας με βάση τα κριτήρια
- Πώς να χρησιμοποιήσετε το VBA για να επικολλήσετε τιμές μόνο χωρίς μορφοποίηση στο Excel
2. VBA για την αντιγραφή μιας περιοχής δεδομένων από άλλο βιβλίο εργασίας χωρίς άνοιγμα στο Excel
Χρησιμοποιώντας το VBA κώδικα παρακάτω, μπορούμε να αντιγράψουμε δεδομένα από μια περιοχή δεδομένων. Πρέπει να ακολουθήσουμε τα παρακάτω βήματα για να το πετύχουμε αυτό.
ΒΗΜΑΤΑ:
- Για να ξεκινήσετε, μεταβείτε στο Προγραμματιστής στην καρτέλα της κορδέλας.
- Δεύτερον, ανοίξτε το Visual Basic Editor κάνοντας κλικ στο Visual Basic ή πατώντας Alt + F11 .
- Ή απλά κάντε δεξί κλικ στο φύλλο και επιλέξτε Προβολή κωδικού για να ανοίξετε το Visual Basic Editor .
- Μετά από αυτό, γράψτε το Κώδικας VBA εκεί.
Κωδικός VBA:
Sub CollectData() Dim rgTarget As Range Set rgTarget = ActiveSheet.Range("B2:E10") 'που θα τοποθετηθούν τα δεδομένα που αντιγράφονται. rgTarget.FormulaArray = "='D:\[Product_Details.xlsx]Sheet1'!$B$4:$E$10" rgTarget.Formula = rgTarget.Value End Sub
- Εδώ, εκτελέστε τον κώδικα χρησιμοποιώντας Εκτέλεση Υπο ή πατήστε τη συντόμευση πληκτρολογίου F5 για να εκτελέσετε τον κώδικα.
ΣΗΜΕΙΩΣΗ: Δεν χρειάζεται να τροποποιήσετε τον κώδικα, το μόνο που χρειάζεται να κάνετε είναι να αλλάξετε το εύρος σύμφωνα με τα δεδομένα της πηγής σας.
- Και τέλος, τα δεδομένα αντιγράφονται τώρα από ένα άλλο βιβλίο εργασίας στο ενεργό βιβλίο εργασίας.
Διαβάστε περισσότερα: Μακροεντολή για αντιγραφή και επικόλληση από ένα φύλλο εργασίας σε ένα άλλο (15 μέθοδοι)
3. Excel VBA για την αντιγραφή δεδομένων από άλλο βιβλίο εργασίας χωρίς άνοιγμα με τη χρήση κουμπιού εντολών
Μπορούμε να αντιγράψουμε δεδομένα από ένα άλλο βιβλίο εργασίας χρησιμοποιώντας το κουμπί εντολών στο παράθυρο VBA Για να το πετύχουμε αυτό, πρέπει να ακολουθήσουμε τα βήματα που περιγράφονται παρακάτω.
ΒΗΜΑΤΑ:
- Πρώτον, για να βάλουμε ένα Κουμπί εντολών , πηγαίνετε στο Προγραμματιστής καρτέλα.
- Δεύτερον, κάντε κλικ στο Εισαγωγή αναπτυσσόμενο μενού.
- Τρίτον, κάντε κλικ στο Κουμπί εντολών .
- Βάζουμε το Προϊόν στο κύτταρο A1 , καθώς είναι το όνομα του φύλλου του αρχείου πηγής μας. Και ορίζουμε το Κουμπί εντολών , στα δεξιά του ονόματος του φύλλου του αρχείου προέλευσης. Δημιουργήσαμε τον πίνακα τώρα, χρειαζόμαστε απλώς τα δεδομένα που βρίσκονται σε άλλο βιβλίο εργασίας.
- Με την ίδια λογική, πλοηγηθείτε στο Προγραμματιστής στην καρτέλα της κορδέλας.
- Στη συνέχεια, κάντε κλικ στο Visual Basic ή πατήστε Alt + F11 για να ξεκινήσει το Visual Basic Editor .
- Μπορείτε επίσης να ανοίξετε το Visual Basic Editor κάνοντας δεξί κλικ στο φύλλο και επιλέγοντας Προβολή κωδικού .
- Τώρα, γράψτε το VBA κωδικός προς τα κάτω.
Κωδικός VBA:
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
- Στη συνέχεια, αποθηκεύστε τον κώδικα πατώντας Ctrl + S .
ΣΗΜΕΙΩΣΗ: Μπορείτε να αντιγράψετε τον κώδικα, απλά πρέπει να αλλάξετε τη διαδρομή του αρχείου και το εύρος δεδομένων.
- Και, τέλος, αν κάνετε κλικ στο CommandButton1 αυτό θα αντιγράψει τα δεδομένα από ένα άλλο βιβλίο εργασίας χωρίς να το ανοίξει.
Διαβάστε περισσότερα: Μακροεντολή για την αντιγραφή δεδομένων από ένα βιβλίο εργασίας σε ένα άλλο βάσει κριτηρίων
Συμπέρασμα
Τα παραπάνω κριτήρια αποτελούν κατευθυντήριες γραμμές για την αντιγραφή δεδομένων από άλλο βιβλίο εργασίας χωρίς να το ανοίξετε με Excel VBA Αν έχετε οποιεσδήποτε ερωτήσεις, προτάσεις ή σχόλια, παρακαλούμε ενημερώστε μας στο τμήμα σχολίων. Ή μπορείτε να ρίξετε μια ματιά στα άλλα άρθρα μας στην ενότητα ExcelWIKI.com blog!