netvolxxx
Altın Üye
- Katılım
- 29 Ağustos 2023
- Mesajlar
- 117
- Excel Vers. ve Dili
- 2013 Türkçe
- Altın Üyelik Bitiş Tarihi
- 07-03-2025
merhaba aşağıda yazan kodda bi olayı yapamadım user form da textbox ile arattırma yaptığımda kaydet dediğimde a hücresine adını yazıp b hücresine resim ekliyor bu olayı c hücresine adını yazdırıp b hücresine resim ekleyemedim hep bi sağ tarafa ekleme yapıyor.
bu işlemi nasıl yapıcam ustadların yardımına ihtiyacım var kodda değiştirmem gereken yer neresi...
sayfa 1 yazan kodlar
Private Sub Worksheet_Change(ByVal Target As Range)
Target.RowHeight = 70
Columns("B:B").ColumnWidth = 14
If Intersect(Target, [c2:c65536]) Is Nothing Then Exit Sub
yatay = 1
dikey = 0
Dim s1
Set s1 = Sheets(ActiveSheet.Name)
deg1 = 0
hucre = ActiveWindow.RangeSelection.Address(False, False)
For i = 3 To Len(hucre)
If Mid(hucre, i, 3) = ":" Then
deg1 = 1
Exit For
Exit Sub
End If
Next
If deg1 = 0 Then
Adres = Worksheets(ActiveSheet.Name).Cells(Target.Row + dikey, Target.Column + yatay).Address
Dim Picture As Object
For Each Picture In s1.Shapes
If TypeName(s1.Shapes(Picture.Name).OLEFormat.Object) = "Picture" Then
yer = Cells(Picture.BottomRightCell.Row, Picture.BottomRightCell.Column).Address
If yer = Adres Then
Picture.Delete
Exit For
End If
End If
Next Picture
ReDim byfika$(50)
byfika$(1) = "bmp": byfika$(2) = "jpg"
byfika$(3) = "gif": byfika$(4) = "png"
For j = 1 To 4
If CreateObject("Scripting.FileSystemObject").FileExists(ThisWorkbook.Path & "\Resimler\" & Target.Value & "." & byfika(j)) = True Then
ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\Resimler\" & Target.Value & "." & byfika(j)).Select
Selection.Top = Val(Target.Offset(dikey, yatay).Top + 4)
Selection.Left = Val(Target.Offset(dikey, yatay).Left + 4)
Selection.ShapeRange.LockAspectRatio = msoFalse
Selection.ShapeRange.Height = Val(Target.Offset(dikey, yatay).Height - 6)
Selection.ShapeRange.Width = Val(Target.Offset(dikey, yatay).Width - 6)
Cells(Target.Row + 1, Target.Column).Select
Exit For
End If
Next
End If
End Sub
userform da yazan kodlar
Private Sub CommandButton1_Click()
sat = Cells(Rows.Count, 1).End(1).Row + 1
Cells(sat, 3) = TextBox1.Value
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub Image1_Click()
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub TextBox1_Change()
resimYol = ThisWorkbook.Path & "\Resimler\"
resimler = Dir(resimYol & "*.*")
resim = 0
While resimler <> ""
DoEvents
resimlerAd = Mid(resimler, 1, Len(resimler) - 4)
If resimlerAd = Me.TextBox1.Text Then
Me.Image1.Picture = LoadPicture(resimYol & resimler)
resim = 1
End If
resimler = Dir
Wend
If resim = 0 Then Me.Image1.Picture = LoadPicture(resimYol & "RESİM YOK.jpg")
Image1.PictureSizeMode = fmPictureSizeModeZoom
End Sub
bu işlemi nasıl yapıcam ustadların yardımına ihtiyacım var kodda değiştirmem gereken yer neresi...
sayfa 1 yazan kodlar
Private Sub Worksheet_Change(ByVal Target As Range)
Target.RowHeight = 70
Columns("B:B").ColumnWidth = 14
If Intersect(Target, [c2:c65536]) Is Nothing Then Exit Sub
yatay = 1
dikey = 0
Dim s1
Set s1 = Sheets(ActiveSheet.Name)
deg1 = 0
hucre = ActiveWindow.RangeSelection.Address(False, False)
For i = 3 To Len(hucre)
If Mid(hucre, i, 3) = ":" Then
deg1 = 1
Exit For
Exit Sub
End If
Next
If deg1 = 0 Then
Adres = Worksheets(ActiveSheet.Name).Cells(Target.Row + dikey, Target.Column + yatay).Address
Dim Picture As Object
For Each Picture In s1.Shapes
If TypeName(s1.Shapes(Picture.Name).OLEFormat.Object) = "Picture" Then
yer = Cells(Picture.BottomRightCell.Row, Picture.BottomRightCell.Column).Address
If yer = Adres Then
Picture.Delete
Exit For
End If
End If
Next Picture
ReDim byfika$(50)
byfika$(1) = "bmp": byfika$(2) = "jpg"
byfika$(3) = "gif": byfika$(4) = "png"
For j = 1 To 4
If CreateObject("Scripting.FileSystemObject").FileExists(ThisWorkbook.Path & "\Resimler\" & Target.Value & "." & byfika(j)) = True Then
ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\Resimler\" & Target.Value & "." & byfika(j)).Select
Selection.Top = Val(Target.Offset(dikey, yatay).Top + 4)
Selection.Left = Val(Target.Offset(dikey, yatay).Left + 4)
Selection.ShapeRange.LockAspectRatio = msoFalse
Selection.ShapeRange.Height = Val(Target.Offset(dikey, yatay).Height - 6)
Selection.ShapeRange.Width = Val(Target.Offset(dikey, yatay).Width - 6)
Cells(Target.Row + 1, Target.Column).Select
Exit For
End If
Next
End If
End Sub
userform da yazan kodlar
Private Sub CommandButton1_Click()
sat = Cells(Rows.Count, 1).End(1).Row + 1
Cells(sat, 3) = TextBox1.Value
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub Image1_Click()
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub TextBox1_Change()
resimYol = ThisWorkbook.Path & "\Resimler\"
resimler = Dir(resimYol & "*.*")
resim = 0
While resimler <> ""
DoEvents
resimlerAd = Mid(resimler, 1, Len(resimler) - 4)
If resimlerAd = Me.TextBox1.Text Then
Me.Image1.Picture = LoadPicture(resimYol & resimler)
resim = 1
End If
resimler = Dir
Wend
If resim = 0 Then Me.Image1.Picture = LoadPicture(resimYol & "RESİM YOK.jpg")
Image1.PictureSizeMode = fmPictureSizeModeZoom
End Sub