[Yardım]  Hücre resmini alarak userform Image içeriğinde gösterme

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

Hücre resmini alarak userform Image içeriğinde gösterme

İleti#1)  alooo » 17 May 2023 09:12

Merhaba,
X sayfasının A1:C10 hücrelerinin resmini alarak, oluşturulan userform Image nesnesi içinde gösterilmesini nasıl sağlayabiliriz?

Belirli kısmın resmini alıp, sayfa içinde C11 hücresine, "ResimX" adı ile kopyalıyorum ancak, image nesnesi içinde gösterimini sağlayamıyorum. (Resmin bir klasör içinde olmadığını ve sürekli olarak değişen verilera ait resim olduğunu belirtmek isterim.)
Bu hususta yardımcı olursanız sevinirim.
Kullanıcı avatarı
alooo
Yeni Başlamış
 
Adı Soyadı:Volkan Kurtoğlu
Kayıt: 01 May 2014 16:19
Konum: Ankara/Çankaya
Meslek: Müteahhit
Yaş: 43
İleti: 63
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara/Çankaya

Yıllık Maaş Bordrosu Hesaplama 2022

Cevap: Hücre resmini alarak userform Image içeriğinde göster

İleti#2)  alooo » 18 May 2023 09:25

Durum günceldir.

Yardımlarınızı talep ederim.
Kullanıcı avatarı
alooo
Yeni Başlamış
 
Adı Soyadı:Volkan Kurtoğlu
Kayıt: 01 May 2014 16:19
Konum: Ankara/Çankaya
Meslek: Müteahhit
Yaş: 43
İleti: 63
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara/Çankaya

Cevap: Hücre resmini alarak userform Image içeriğinde göster

İleti#3)  alooo » 22 May 2023 17:08

Yardım edebilecek arkadaş yok mu acaba?
(Durum güncelliğini belirtmek amacı ile yazılmıştır.)
Kullanıcı avatarı
alooo
Yeni Başlamış
 
Adı Soyadı:Volkan Kurtoğlu
Kayıt: 01 May 2014 16:19
Konum: Ankara/Çankaya
Meslek: Müteahhit
Yaş: 43
İleti: 63
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara/Çankaya

Cevap: Hücre resmini alarak userform Image içeriğinde göster

İleti#4)  erseldemirel2 » 22 May 2023 22:18

Userform açılıp bir adet butona bu kodu ekleyip çalışmasını kontrol ediniz. Küçük notlar ekledim

Kod: Tümünü seç
Private Sub CommandButton1_Click()
Range("A1:C10").Copy 'GÖRÜNTÜ ALINAN YER
Range("H4").Select 'GEÇİCİ YER DEĞİŞTİRİLEBİLİR
ActiveSheet.Pictures.Paste Link:=True
ActiveSheet.Pictures.Select
Application.CutCopyMode = False
Dim tChart As String, tPicture As String
Dim imgWidth As Long, imgHeight As Long
Application.ScreenUpdating = False
tPicture = Selection.Name
With Selection
imgHeight = .ShapeRange.Height
imgWidth = .ShapeRange.Width
End With
Charts.Add
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sayfa1" 'Type your Sheet Name
Selection.Border.LineStyle = 0
tChart = Selection.Name & " " & Split(ActiveChart.Name, " ")(2)
With ActiveSheet
With .Shapes(tChart)
.Width = imgWidth
.Height = imgHeight
End With
.Shapes(tPicture).Copy
With ActiveChart
.ChartArea.Select
.Paste
End With
.ChartObjects(1).Chart.Export Filename:="D:\MyPic.jpg", FilterName:="jpg" 'GEÇİCİ DOSYA SİLİNEBİLİR
.Shapes(tChart).Cut
End With
Application.ScreenUpdating = True
Set Picture = LoadPicture("D:\MyPic.jpg")
ActiveSheet.Pictures.Delete
End Sub
www.erseldemirel.com.tr
Kullanıcı avatarı
erseldemirel2
Site Dostu
 
Kayıt: 31 Oca 2019 14:51
Meslek: Mühendis
Yaş: 39
İleti: 1108
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Çankaya

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Cevap: Hücre resmini alarak userform Image içeriğinde

İleti#5)  alooo » 23 May 2023 10:20

erseldemirel2 yazdı:Userform açılıp bir adet butona bu kodu ekleyip çalışmasını kontrol ediniz. Küçük notlar ekledim

Kod: Tümünü seç
Private Sub CommandButton1_Click()
Range("A1:C10").Copy 'GÖRÜNTÜ ALINAN YER
Range("H4").Select 'GEÇİCİ YER DEĞİŞTİRİLEBİLİR
ActiveSheet.Pictures.Paste Link:=True
ActiveSheet.Pictures.Select
Application.CutCopyMode = False
Dim tChart As String, tPicture As String
Dim imgWidth As Long, imgHeight As Long
Application.ScreenUpdating = False
tPicture = Selection.Name
With Selection
imgHeight = .ShapeRange.Height
imgWidth = .ShapeRange.Width
End With
Charts.Add
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sayfa1" 'Type your Sheet Name
Selection.Border.LineStyle = 0
tChart = Selection.Name & " " & Split(ActiveChart.Name, " ")(2)
With ActiveSheet
With .Shapes(tChart)
.Width = imgWidth
.Height = imgHeight
End With
.Shapes(tPicture).Copy
With ActiveChart
.ChartArea.Select
.Paste
End With
.ChartObjects(1).Chart.Export Filename:="D:\MyPic.jpg", FilterName:="jpg" 'GEÇİCİ DOSYA SİLİNEBİLİR
.Shapes(tChart).Cut
End With
Application.ScreenUpdating = True
Set Picture = LoadPicture("D:\MyPic.jpg")
ActiveSheet.Pictures.Delete
End Sub


Teşekkür ederim üstad. Lakin bende çalışmasa da fikir verdi. Umarım bu doğrultuda işimi görebilirim :) Durumdan haberdar edeceğim.

Farklı çalışması olan arkadaşlardan, bu çalışmalarını da beklediğimi bildirmek isterim.
Kullanıcı avatarı
alooo
Yeni Başlamış
 
Adı Soyadı:Volkan Kurtoğlu
Kayıt: 01 May 2014 16:19
Konum: Ankara/Çankaya
Meslek: Müteahhit
Yaş: 43
İleti: 63
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara/Çankaya

Cevap: Hücre resmini alarak userform Image içeriğinde göster

İleti#6)  alibuyuk66 » 23 May 2023 11:09

erseldemirel2 Bey.
Kodlar çalışıyor fakat Userformun üzerindi Image1 nesnesi çinde değil userformun bacgroundu olarak ekliyor. Image1 in içine nasıl eklenebilir.
Kullanıcı avatarı
alibuyuk66
Siteye Alışmış
 
Adı Soyadı:ali büyük
Kayıt: 26 Ağu 2012 00:16
İleti: 336
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: urfa

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Hücre resmini alarak userform Image içeriğinde göster

İleti#7)  erseldemirel2 » 23 May 2023 14:31

Aşağıdaki kodun altına ekleme yaptım image1 nesnesine ekler. Mevcut kodda fazlalıkların silinmesi lazım. Sonuçda userform body çıkmasına gerek kalmaz. Şuan araştırmadım ama daha sade çözümlerde vardır.

Kod: Tümünü seç
Private Sub CommandButton1_Click()
Range("A1:C10").Copy 'GÖRÜNTÜ ALINAN YER
Range("H4").Select 'GEÇİCİ YER DEĞİŞTİRİLEBİLİR
ActiveSheet.Pictures.Paste Link:=True
ActiveSheet.Pictures.Select
Application.CutCopyMode = False
Dim tChart As String, tPicture As String
Dim imgWidth As Long, imgHeight As Long
Application.ScreenUpdating = False
tPicture = Selection.Name
With Selection
imgHeight = .ShapeRange.Height
imgWidth = .ShapeRange.Width
End With
Charts.Add
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sayfa1" 'Type your Sheet Name
Selection.Border.LineStyle = 0
tChart = Selection.Name & " " & Split(ActiveChart.Name, " ")(2)
With ActiveSheet
With .Shapes(tChart)
.Width = imgWidth
.Height = imgHeight
End With
.Shapes(tPicture).Copy
With ActiveChart
.ChartArea.Select
.Paste
End With
.ChartObjects(1).Chart.Export Filename:="D:\MyPic.jpg", FilterName:="jpg" 'GEÇİCİ DOSYA SİLİNEBİLİR
.Shapes(tChart).Cut
End With
Application.ScreenUpdating = True
Set Picture = LoadPicture("D:\MyPic.jpg")
ActiveSheet.Pictures.Delete
End Sub





Kod: Tümünü seç
Set Img = UserForm1.Image1
With Img
.Picture = LoadPicture("D:\MyPic.jpg")
.PictureSizeMode = fmPictureSizeModeStretch
.Left = 50
.Top = 50
End With
www.erseldemirel.com.tr
Kullanıcı avatarı
erseldemirel2
Site Dostu
 
Kayıt: 31 Oca 2019 14:51
Meslek: Mühendis
Yaş: 39
İleti: 1108
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Çankaya

Cevap: Hücre resmini alarak userform Image içeriğinde göster

İleti#8)  alibuyuk66 » 23 May 2023 14:52

Teşekkürler Ersel bey
Kullanıcı avatarı
alibuyuk66
Siteye Alışmış
 
Adı Soyadı:ali büyük
Kayıt: 26 Ağu 2012 00:16
İleti: 336
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: urfa

Cevap: Hücre resmini alarak userform Image içeriğinde göster

İleti#9)  erseldemirel2 » 23 May 2023 14:52

Rica ederim kolay gelsin
www.erseldemirel.com.tr
Kullanıcı avatarı
erseldemirel2
Site Dostu
 
Kayıt: 31 Oca 2019 14:51
Meslek: Mühendis
Yaş: 39
İleti: 1108
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Çankaya

Cevap: Hücre resmini alarak userform Image içeriğinde göster

İleti#10)  alooo » 24 May 2023 16:22

Eline, koluna, bilgine sağlık üstadım. Var olasın.
Kullanıcı avatarı
alooo
Yeni Başlamış
 
Adı Soyadı:Volkan Kurtoğlu
Kayıt: 01 May 2014 16:19
Konum: Ankara/Çankaya
Meslek: Müteahhit
Yaş: 43
İleti: 63
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara/Çankaya

Cevap: Hücre resmini alarak userform Image içeriğinde göster

İleti#11)  alibuyuk66 » 02 Haz 2023 16:29

Merhaba Ersel bey.
aşağıdaki dosya yolunu Dinamik dosya yoluna nasıl çevirebilirim. Ben yapıyorm fakat hep hata alıyorum.
Kod: Tümünü seç
.ChartObjects(1).Chart.Export Filename:="D:\MyPic.jpg", FilterName:="jpg" 'GEÇİCİ DOSYA SİLİNEBİLİR

.ChartObjects(1).Chart.Export Filename:="D:\MyPic.jpg", FilterName:="jpg" 'GEÇİCİ DOSYA SİLİNEBİLİR
Kullanıcı avatarı
alibuyuk66
Siteye Alışmış
 
Adı Soyadı:ali büyük
Kayıt: 26 Ağu 2012 00:16
İleti: 336
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: urfa

Cevap: Hücre resmini alarak userform Image içeriğinde göster

İleti#12)  erseldemirel2 » 02 Haz 2023 17:13

Dinamikten kasıt değişken olmasıdır. Bu ifadede file için değişken belirlersiniz; file ne olursa o dosyaya bakar.

Örnek: kodların içinde yoldan önce bu girilirse;

Kod: Tümünü seç
file="5.foto"


olsun

Kod: Tümünü seç
.ChartObjects(1).Chart.Export Filename:="D:\" & file &.jpg", FilterName:="jpg" 'GEÇİCİ DOSYA SİLİNEBİLİR


sonuç

.ChartObjects(1).Chart.Export Filename:="D:\5.foto.jpg", FilterName:="jpg" 'GEÇİCİ DOSYA SİLİNEBİLİR

olur.
www.erseldemirel.com.tr
Kullanıcı avatarı
erseldemirel2
Site Dostu
 
Kayıt: 31 Oca 2019 14:51
Meslek: Mühendis
Yaş: 39
İleti: 1108
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Çankaya

Cevap: Hücre resmini alarak userform Image içeriğinde göster

İleti#13)  alibuyuk66 » 02 Haz 2023 17:20

Demek istediğim. Dosyanın bulunduğu klasör.
Ağ ortamında olacağı için değişebilir. Aktif dosya nerede ise oraya kaydeysin
Kullanıcı avatarı
alibuyuk66
Siteye Alışmış
 
Adı Soyadı:ali büyük
Kayıt: 26 Ağu 2012 00:16
İleti: 336
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: urfa

Cevap: Hücre resmini alarak userform Image içeriğinde göster

İleti#14)  erseldemirel2 » 02 Haz 2023 17:24

Dosyanın bulunduğu klasör en basitinden;

"ThisWorkbook.path" dir.

.ChartObjects(1).Chart.Export Filename:=ThisWorkbook.path & "\" & file &.jpg", FilterName:="jpg" 'GEÇİCİ DOSYA SİLİNEBİLİR
www.erseldemirel.com.tr
Kullanıcı avatarı
erseldemirel2
Site Dostu
 
Kayıt: 31 Oca 2019 14:51
Meslek: Mühendis
Yaş: 39
İleti: 1108
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Çankaya


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: AhrefsBot ve 1 misafir

Bumerang - Yazarkafe