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 για αυτή την συμβουλή.