Çözüldü ListBoxta seçtiğim sayfa adını değiştirme ve mail gönderme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Admin

Yönetici
Site Sahibi
Katılım
25 May 2018
Mesajlar
1,000
En İyi Yanıtlar
72
Beğeniler
773
Puanları
113
Konum
İstanbul
#2
Nereye yazdığınız veri ile değiştireceğinizi bilmiyorum ama bu kodları kullanabilirsiniz.
VBA:
Private Sub Label4_Click()
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            Sheets(ListBox1.List(i, 1)).Name = "Elma"
        End If
    Next i
End Sub
 
Katılım
2 Ocak 2019
Mesajlar
14
En İyi Yanıtlar
1
Beğeniler
2
Puanları
3
Konum
Bolu
Ad Soyad
Emre AFACAN
#3
Sayfa ismini seçip "Ad Değiştir" düğmesine bastığımda açılan bir pencereye seçtiğim sayfanın yeni adını yazmayı istiyorum aslında.

Sayfa2 seçili.
Ad değiştir bastım.
Açılan ekrana Sayfa3 yazdım
Sayfa2 - Sayfa3 olarak değişti.
 

Admin

Yönetici
Site Sahibi
Katılım
25 May 2018
Mesajlar
1,000
En İyi Yanıtlar
72
Beğeniler
773
Puanları
113
Konum
İstanbul
#4
Bu kodları kullanabilirsiniz..
VBA:
Private Sub Label4_Click()
    ad = Application.InputBox("Yeni Sayfa Adını Yazın", "SAYFA ADI DEĞİŞİKLİĞİ")
    If ad <> "" Then
        For i = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(i) = True Then
                Sheets(ListBox1.List(i, 1)).Name = ad
                ListBox1.List(i, 1) = ad
            End If
        Next i
    End If
End Sub
 
Katılım
2 Ocak 2019
Mesajlar
14
En İyi Yanıtlar
1
Beğeniler
2
Puanları
3
Konum
Bolu
Ad Soyad
Emre AFACAN
#5
@Admin teşekkürler işlevini görüyor.
Lakin küçük bir problem var. Ad değiştir butonuna bastığımda hiçbirşey yazmadan çıktığımda iptal dediğimde sayfa adını "0" ya da "False" olarak değiştiriyor. Buna bir çözüm bulabilirmiyiz acaba?

Adsız.png
 
Moderatör tarafında düzenlendi:
Katılım
2 Ocak 2019
Mesajlar
14
En İyi Yanıtlar
1
Beğeniler
2
Puanları
3
Konum
Bolu
Ad Soyad
Emre AFACAN
#6
Ek olarak seçilen sayfaları mail gönder diye bir alan ekleyeceğim. Listeden seçeceğim sayfaları outlook açarak bilgileri elle girmek suretiyle göndermek istiyorum. Kendimce yaptım ama sayfanın tamamını mail gönderiyor.

Kod:
Private Sub Label5_Click()

If ListBox1.Selected(i) = True Then
                Sheets(ListBox1.List(i, 1)).Copy
                           End If
With ActiveWorkbook
         .SendMail Recipients:="", _
          Subject:=""
         End With
MsgBox "Mail gönderildi"
End Sub
 

Admin

Yönetici
Site Sahibi
Katılım
25 May 2018
Mesajlar
1,000
En İyi Yanıtlar
72
Beğeniler
773
Puanları
113
Konum
İstanbul
#7
@Admin teşekkürler işlevini görüyor.
Lakin küçük bir problem var. Ad değiştir butonuna bastığımda hiçbirşey yazmadan çıktığımda iptal dediğimde sayfa adını "0" ya da "False" olarak değiştiriyor. Buna bir çözüm bulabilirmiyiz acaba?
Şartı bu şekilde revize edin..
VBA:
If ad <> "" And ad <> False Then
 

Admin

Yönetici
Site Sahibi
Katılım
25 May 2018
Mesajlar
1,000
En İyi Yanıtlar
72
Beğeniler
773
Puanları
113
Konum
İstanbul
#9
Ana Sayfadaki Hızlı Arama kutucuğuna mail yazabilirsiniz. Mail gönderme ile ilgili birçok örnek kod göreceksiniz.
 
Katılım
2 Ocak 2019
Mesajlar
14
En İyi Yanıtlar
1
Beğeniler
2
Puanları
3
Konum
Bolu
Ad Soyad
Emre AFACAN
#10
Ana Sayfadaki Hızlı Arama kutucuğuna mail yazabilirsiniz. Mail gönderme ile ilgili birçok örnek kod göreceksiniz.
Sevgili @Admin ,
Tabiki bakıyorum inceliyorum. Takıldığım yerlerde sizlerden yardım istiyorum. Seçilen Kitabın tamamını mail gönderebiliyorum. Ama benim istediğim 500 sayfalık kitapta seçtiğim sayfaları mail olarak göndertmek. Bunu yapamıyorum.
 

Admin

Yönetici
Site Sahibi
Katılım
25 May 2018
Mesajlar
1,000
En İyi Yanıtlar
72
Beğeniler
773
Puanları
113
Konum
İstanbul
#11
UserForm üzerine Label5 ilave edin ve ona da bu kodları yazın. (y)
VBA:
Private Sub Label5_Click()
    Dim i%, a%, dosya$, yeni As Workbook, out As Object, mail As Object, syf()
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            ReDim Preserve syf(a)
            syf(a) = ListBox1.List(i, 1)
            a = a + 1
        End If
    Next i
    Application.ScreenUpdating = False
    ThisWorkbook.Worksheets(syf()).Copy
    Set yeni = ActiveWorkbook
    dosya = ThisWorkbook.Path & "\mail.xls"
    yeni.SaveAs Filename:=dosya, FileFormat:=xlNormal
    yeni.Close
    Set out = CreateObject("Outlook.Application")
    Set mail = out.CreateItem(0)
    With mail
        .To = "info@excelarsivi.com"
        .cc = "destek@excelturkey.com"
        .Subject = "ListBoxta Seçilen Sayfaları Mail Atma"
        .body = "Excel Turkey Forum Sunar.."
        .attachments.Add dosya
        .display ' --> Ekrana getirir.
        '.Send   ' --> Gönderir.
    End With
    'İstenirsa aşağıdaki satır aktif edilip mailden sonra oluşan dosya silinebilir.
    'Kill dosya
    Application.ScreenUpdating = True
    i = Empty: a = Empty: dosya = vbNullString: Erase syf
    Set yeni = Nothing: Set out = Nothing: Set mail = Nothing
End Sub
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst Alt