Πώς να εισαγάγετε εικόνες χρησιμοποιώντας το Excel VBA

Πίνακας περιεχομένων:

Anonim

Γεια σου! Προσπαθώντας να κουνήσετε το ταμπλό με εικόνες με νόημα. Or απλά προσπαθείτε να εισαγάγετε εικόνα στο κελί Excel VBA. Λοιπόν, δεν μπορείτε να εισαγάγετε εικόνες σε κελιά excel, αλλά μπορείτε να αλλάξετε το μέγεθός τους ώστε να ταιριάζει στο κελί excel. Το να το κάνετε χειροκίνητα θα πάρει πολύ χρόνο και είναι ενοχλητικό. Ποια είναι λοιπόν η λύση; Μαντέψατε σωστά, ένα VBA Macro. Θα κωδικοποιήσουμε τώρα.

Παρακάτω είναι ο κώδικας excel vba για εισαγωγή εικόνας από ένα φάκελο σε ένα κελί ή ένα δεδομένο εύρος. Πατήστε Alt+F11, εισαγάγετε μια μονάδα και αντιγράψτε αυτόν τον κωδικό.

Μην ανησυχείτε, το εξήγησα παρακάτω, ώστε να μπορείτε να το τροποποιήσετε σύμφωνα με τις ανάγκες σας.

Εισαγωγή εικόνας σε κελί Excel με VBA σε κελί ή δεδομένο εύρος

Sub TestInsertPictureInRange () InsertPictureInRange "C: \ FolderName \ PictureFileName.gif", _Range ("B5: D10")

Τέλος υπο
Sub InsertPictureInRange (PictureFileName As String, TargetCells As Range)

"εισάγει μια εικόνα και αλλάζει το μέγεθος της ώστε να ταιριάζει στην περιοχή TargetCells

Dim p ως αντικείμενο, t ως διπλό, l ως διπλό, w ως διπλό, h ως διπλό

Εάν TypeName (ActiveSheet) "Φύλλο εργασίας" Τότε Έξοδος από Υπο

If Dir (PictureFileName) = "" Τότε Έξοδος από Sub

"εισαγωγή εικόνας

Ορισμός p = ActiveSheet.Pictures.Insert (PictureFileName)

«καθορίστε θέσεις

Με TargetCells

t =. Κορυφή

l = .Αριστερά

w =. Offset (0, .Columns.Count). Αριστερά - .Αριστερά

h =. Offset (.Rows.Count, 0). Top - .Top

Τέλος με

'εικόνα θέσης

Με σελ

. Κορυφή = t

. Αριστερά = l

.Πλάτος = w

.Eψος = h

Τέλος με

Ρύθμιση p = Τίποτα

Τέλος υπο

Εξήγηση:

Μέρος 1:

Sub TestInsertPictureInRange () InsertPictureInRange "C: \ FolderName \ PictureFileName.gif", _Range ("B5: D10")

Τέλος υπο

Η παραπάνω υπορουτίνα καλεί απλώς την κύρια υπορουτίνα μας InsertPictureInRange που απαιτεί μόνο δύο ορίσματα. Πρώτα η διεύθυνση του αρχείου εικόνας με το όνομά του και το δεύτερο εύρος όπου θέλετε να εισαγάγετε την εικόνα στο Excel.

Μέρος 2ο:

Sub InsertPictureInRange (PictureFileName As String, TargetCells As Range) »εισάγει μια εικόνα και την αλλάζει για να ταιριάζει στην περιοχή TargetCellsDim p As Object, t As Double, l As Double, w As Double, h As Double

Εάν το TypeName (ActiveSheet) "Φύλλο εργασίας", τότε εξέλθετε από το Sub

If Dir (PictureFileName) = "" Τότε Έξοδος από Sub

"εισαγωγή εικόνας

Ορισμός p = ActiveSheet.Pictures.Insert (PictureFileName)

«καθορίστε θέσεις

Με TargetCells

t =. Κορυφή

l = .Αριστερά

w =. Offset (0, .Columns.Count). Αριστερά - .Αριστερά

h =. Offset (.Rows.Count, 0). Top - .Top

Τέλος με

'εικόνα θέσης

Με σελ

. Κορυφή = t

. Αριστερά = l

.Πλάτος = w

.Eψος = h

Τέλος με

Ρύθμιση p = Τίποτα

Τέλος υπο

Αυτή είναι η κύρια υπορουτίνα που εισάγει και αλλάζει το μέγεθος της εικόνας ώστε να ταιριάζει στο συγκεκριμένο εύρος. Ας το ψάξουμε.

Dim p ως αντικείμενο, t ως διπλό, l ως διπλό, w ως διπλό, h ως διπλό

Αυτή η γραμμή είναι απλώς μια δήλωση μεταβλητής που θα χρειαστούμε. Σημείωση p Ως μεταβλητή αντικειμένου. Αυτή η μεταβλητή θα κρατήσει την εικόνα μας.

Εάν το TypeName (ActiveSheet) "Φύλλο εργασίας", τότε εξέλθετε από το Sub

Ελέγχει αν το Activesheet είναι φύλλο εργασίας ή όχι. Εάν δεν το κάνει, θα βγει αμέσως από τον κώδικα και δεν θα συμβεί τίποτα.

If Dir (PictureFileName) = "" Τότε Έξοδος από Sub

Βεβαιωθείτε ότι έχετε παράσχει μια διεύθυνση για την εικόνα για να εισαγάγετε μια φωτογραφία στο κελί του excel. Εάν δεν το έχετε παράσχει, θα βγει αμέσως και δεν θα συμβεί τίποτα.

Ορισμός p = ActiveSheet.Pictures.Insert (PictureFileName)

Τώρα, αυτή είναι η πιο σημαντική γραμμή. Σε αυτή τη γραμμή, χρησιμοποιούμε τη συνάρτηση Εισαγωγή Activesheet. Οι εικόνες αντιτίθενται και το τοποθετούν στο αντικείμενο p που δηλώσαμε νωρίτερα. Τώρα χρησιμοποιώντας το p μπορούμε εύκολα να προσαρμόσουμε το πλάτος και το μήκος της εικόνας.

Με TargetCells t = .Top l = .Left w = .Offset (0, .Columns.Count) .Left - .Left h = .Offset (.Rows.Count, 0). Top - .Top End With 

Αυτό το τμήμα μόλις παίρνει Μήκος, Πλάτος, Κορυφή και Αριστερά από το δεδομένο εύρος.

Με p. Κορυφή = t .Αριστερά = l .Πλάτος = w ightψος = h Τέλος Με

Αυτό το τμήμα προσαρμόζει την εικόνα στο δεδομένο εύρος. Και έγινε. Τέλος, το αφήσαμε ελεύθερο, θέτοντάς το στο τίποτα.

Ρύθμιση p = Τίποτα

Η ελεύθερη μνήμη αυτής της γραμμής.

Αυτός ο κώδικας θα λειτουργήσει στα Excel 2016, Excel 2013, Excel 2010 και Excel 2007.

Εδώ ήθελα να εισαγάγω την εικόνα στο εύρος A1: C10. Για να γίνει αυτό, τροποποίησα τον κωδικό μου παρακάτω

Sub TestInsertPictureInRange () InsertPictureInRange "C: \ Users \ Manish Singh \ Downloads \ biker.jpg", _Εύρος("A1: C10")

Τέλος υπο

Και αυτό είναι που πήρα. Ακριβώς αυτό που ήθελα.


Λοιπόν ναι. Χρησιμοποιήστε αυτόν τον κωδικό για να εισαγάγετε μια εικόνα στο κελί ή το εύρος του Excel. Παίξτε γύρω από τον κώδικα. Προσπαθήστε να εισαγάγετε διαφορετικές μορφές, περίεργα εύρη και δείτε τι συμβαίνει. Εάν έχετε οποιεσδήποτε ερωτήσεις ή αντιμετωπίζετε οποιαδήποτε πρόκληση, χρησιμοποιήστε την παρακάτω ενότητα σχολίων για να με ρωτήσετε.
Λήψη αρχείου

Εισαγωγή εικόνων με χρήση VBA στο Microsoft Excel 2016

Δημοφιλή άρθρα:

50 συντομεύσεις Excel για να αυξήσετε την παραγωγικότητά σας

Πώς να χρησιμοποιήσετε τη συνάρτηση VLOOKUP στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση COUNTIF στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση SUMIF στο Excel