Excel - Μια μακροεντολή για την εισαγωγή εικόνων σε ένα φύλλο εργασίας

  • Θέμα
  • Λύση

Θέμα

Προσπαθώ να τοποθετήσω εικόνες στη στήλη του Excel χρησιμοποιώντας μια μακροεντολή η οποία παίρνει το όνομα αρχείου refrence από το κύτταρο B2 και εισάγετε την εικόνα στο κελί Α2. Παραδείγματος χάριν: αν το Β2 περιέχει Ν235 τότε η εικόνα που θα εισαχθεί στο Α2 θα είναι N235.jpg από τη δεδομένη διαδρομή στο Macro. Αυτό λειτουργεί καλά εκτός εάν δεν υπάρχει εικόνα στο φάκελο με το ίδιο όνομα όπως στο φάκελο.
  • Παίρνω ένα σφάλμα χρόνου εκτέλεσης 1004 και το Macro σταματά και δεν μπορεί να συμπληρώσει την εικόνα μετά από αυτό το κελί.

Λύση

 Υπο-εικόνα ()

Dim picname ως συμβολοσειρά

Διαμέσου πάστας ως ακέραιος

Dim lThisRow As Long

lThisRow = 2

Κάντε Ενώ (Κύτταρα (lThisRow, 2) "")

pasteAt = lThisRow

Κύτταρα (pasteAt, 1) .Επιλέξτε 'Εδώ θα εισαχθεί η εικόνα

picname = Κύτταρα (lThisRow, 2) 'Αυτό είναι το όνομα της εικόνας

present = Διεύθυνση ("C: \ Users \ Administrator \ Desktop \ LC \" & picname & ".jpg")

Εάν υπάρχει "" Τότε

ActiveSheet.Pictures.Insert ("C: \ Users \ Administrator \ Desktop \ LC \" & picname & ".jpg") Επιλέξτε "Διαδρομή στην οποία αποθηκεύονται οι εικόνες

'' '"" "" "" "" "" "" "" " '' '' '

"Αυτό αλλάζει την εικόνα

'' '"" "" "" "" "" "" "" " '' '' '

Με την επιλογή

Msgstr "Αριστερό = Εύρος (" A6 ")

'.Τοπ = Περιοχή ("Α6")

.Left = Κύτταρα (pasteAt, 1) .Αριστερά

.Top = Κύτταρα (pasteAt, 1)

.ShapeRange.LockAspectRatio = msoFalse

.ShapeRange.Height = 100 #

.ShapeRange.Width = 130 #

.ShapeRange.Rotation = 0 #

Τέλος με

Αλλού

Κύτταρα (pasteAt, 1) = "Δεν βρέθηκε εικόνα"

Τέλος εαν

lThisRow = lThisRow + 1

Βρόχος

Εύρος ("A10") Επιλέξτε

Application.ScreenUpdating = True

Exit Sub

ErrNoPhoto:

MsgBox "Δεν είναι δυνατή η εύρεση φωτογραφίας" Εμφανίζει το πλαίσιο μηνύματος αν η εικόνα δεν βρέθηκε

Exit Sub

Εύρος ("B20") Επιλέξτε

End Sub

Χάρη στην rizvisa1 για αυτή την συμβουλή.

Προηγούμενο Άρθρο Επόμενο Άρθρο

Οι Καλύτερες Συμβουλές