Merhaba! Anlamlı resimlerle panoyu sallamaya çalışmak. Veya sadece Excel VBA hücresine resim eklemeye çalışıyorum. Pekala, excel hücrelerine resim ekleyemezsiniz, ancak excel hücresine sığacak şekilde yeniden boyutlandırabilirsiniz. Manuel olarak yapmak çok zaman alacak ve can sıkıcı. Çözüm nedir? Doğru tahmin ettiniz, bir VBA Makrosu. Şimdi kodlayacağız.
Aşağıda, bir klasörden bir hücreye veya belirli bir aralığa resim eklemek için excel vba kodu verilmiştir. Alt+F11 tuşlarına basın, bir modül ekleyin ve bu kodu kopyalayın.
Endişelenmeyin, ihtiyaçlarınıza göre değiştirebilmeniz için aşağıda açıkladım.
Bir Hücreye veya Verilen Aralığa VBA ile Excel Hücresine Resim Ekleme
Sub TestInsertPictureInRange()InsertPictureInRange "C:\FolderName\PictureFileName.gif", _Range("B5:D10")
Alt Bitiş ' bir resim ekler ve onu TargetCells aralığına uyacak şekilde yeniden boyutlandırır Dim p Obje Olarak, t Çift Olarak, l Olarak Çift, w Olarak Çift, h Olarak Çift TypeName(ActiveSheet) "Çalışma Sayfası" ise Sub'dan Çıkın Dir(PictureFileName) = "" ise Sub'dan Çıkın ' resmi içe aktar Set p = ActiveSheet.Pictures.Insert(PictureFileName) 'pozisyonları belirle TargetCells ile t = .Üst l = .Sol w = .Offset(0, .Columns.Count).Sol - .Sol h = .Offset(.Satır Sayısı, 0).Üst - .Üst İle bitmek 'pozisyon resmi p ile .Üst = t .Sol = l .Genişlik = w .Yükseklik = h İle bitmek p = Hiçbir şey ayarla Alt Bitiş |
Açıklama:
Bölüm 1:
Sub TestInsertPictureInRange()InsertPictureInRange "C:\FolderName\PictureFileName.gif", _Range("B5:D10")
Alt Bitiş |
Yukarıdaki alt yordam, yalnızca iki argüman alan ana alt yordamımız InsertPictureInRange'i çağırır. İlk olarak resim dosyasının adresi ile adı ve ikinci Aralık resmi Excel'de eklemek istediğiniz yer.
Bölüm 2:
Sub InsertPictureInRange(PictureFileName As String, TargetCells As Range)' bir resim ekler ve onu TargetCells rangeDim p As Object, t As Double, l As Double, w As Double, h As Double'a uyacak şekilde yeniden boyutlandırır
TypeName(ActiveSheet) "Çalışma Sayfası" ise Sub'dan Çıkın Dir(PictureFileName) = "" ise Sub'dan Çıkın ' resmi içe aktar Set p = ActiveSheet.Pictures.Insert(PictureFileName) 'pozisyonları belirle TargetCells ile t = .Üst l = .Sol w = .Offset(0, .Columns.Count).Sol - .Sol h = .Offset(.Satır Sayısı, 0).Üst - .Üst İle bitmek 'pozisyon resmi p ile .Üst = t .Sol = l .Genişlik = w .Yükseklik = h İle bitmek p = Hiçbir şey ayarla Alt Bitiş |
Bu, resmi verilen aralığa uyacak şekilde ekleyen ve yeniden boyutlandıran ana alt yordamdır. Hadi araştıralım.
Dim p Obje Olarak, t Çift Olarak, l Olarak Çift, w Olarak Çift, h Olarak Çift
Bu satır sadece ihtiyacımız olacak değişken bir bildirimdir. Not p Nesne değişkeni olarak. Bu değişken resmimizi tutacaktır.
TypeName(ActiveSheet) "Çalışma Sayfası" ise Sub'dan Çıkın
Activesheet'in çalışma sayfası olup olmadığını kontrol eder. Olmazsa, koddan hemen çıkar ve hiçbir şey olmaz.
Dir(PictureFileName) = "" ise Sub'dan Çıkın
Excel hücresine fotoğraf eklemek için görüntü için bir adres sağladığınızı kontrol edin. Eğer sağlamadıysanız, hemen çıkacaktır ve hiçbir şey olmayacaktır.
Set p = ActiveSheet.Pictures.Insert(PictureFileName)
Şimdi, bu en önemli çizgi. Bu satırda Activesheet'in Insert fonksiyonunu kullanıyoruz. Resimler nesne ve daha önce beyan ettiğimiz p nesnesine koyar. Şimdi p kullanarak görüntünün genişliğini ve uzunluğunu kolayca ayarlayabiliriz.
TargetCells ile t = .Top l = .Left w = .Offset(0, .Columns.Count).Left - .Left h = .Offset(.Rows.Count, 0).Üst - .Üst Bitiş
Bu segment sadece verilen aralıktan Uzunluk, Genişlik, Üst ve Sol alır.
p ile .Üst = t .Sol = l .Genişlik = w Yükseklik = h İle Bitir
Bu kısım, görüntüyü verilen aralığa ayarlar. Ve bitti. Son olarak, onu hiçbir şeye ayarlayarak serbest bırakıyoruz.
p = Hiçbir şey ayarla
Bu hat ücretsiz hafıza.
Bu kod Excel 2016, Excel 2013, Excel 2010 ve Excel 2007'de çalışacaktır.
Burada görüntüyü A1:C10 aralığında eklemek istedim. Bunu yapmak için aşağıdaki kodumu değiştirdim
Alt TestInsertPictureInRange()InsertPictureInRange "C:\Users\Manish Singh\Downloads\biker.jpg", _Menzil("A1:C10")
Alt Bitiş |
Ve aldığım şey bu. Tam olarak istediğim şey.
Yani evet. Excel hücresine veya aralığına resim eklemek için bu kodu kullanın. Kodun etrafında oynayın. Farklı formatlar, garip aralıklar eklemeye çalışın ve ne olduğunu görün. Herhangi bir sorunuz varsa veya herhangi bir zorlukla karşı karşıyaysanız, bana sormak için aşağıdaki yorum bölümünü kullanın.
Dosyayı indir
Popüler Makaleler:
Verimliliğinizi Artıracak 50 Excel Kısayolu
Excel'de DÜŞEYARA İşlevi nasıl kullanılır?
Excel'de COUNTIF işlevi nasıl kullanılır?
Excel'de SUMIF İşlevi nasıl kullanılır?