Skip to main content

AccessTr.neT


Excel Vba Da Veri Kaydederken Diğer Sayfaya Kopyasını Almak.

Oğuz Türkyılmaz
Oğuz Türkyılmaz
28
2062

Excel Vba Da Veri Kaydederken Diğer Sayfaya Kopyasını Almak.

#19
(16/05/2021, 17:25)Oğuz Türkyılmaz yazdı: @feraz hocam kayıt ekleme sorununu hallettim. Güncelleme ile ilgili sorunu nasıl aşabilirim. Güncelleme yapmak istediğimde koda whatapp sayfasında hangi satırı güncelleyeceğini, nasıl gösterebilirim. End(3) dolayısıyla güncellemede de yeni kayıt yapar gibi en son satıra kaydediyor.

Kod:
  End With
       
        If TextBox_Gsm.Value <> "" Then
             
            TextBox_Gsm.Value = Replace(Replace(Replace(Replace(TextBox_Gsm.Value, "(", ""), ")", ""), " ", ""), "-", "")
            ThisWorkbook.Worksheets("Ana_Sayfa").Cells(Guncelle, 30).NumberFormat = "@"
            ThisWorkbook.Worksheets("Ana_Sayfa").Cells(Guncelle, 30) = "+90" & TextBox_Gsm.Value
       
            ThisWorkbook.Worksheets("WHATSAPP").Unprotect ("171717")
            ThisWorkbook.Worksheets("WHATSAPP").Cells(Rows.Count, 1).End(3)(2, 1).NumberFormat = "@"
            ThisWorkbook.Worksheets("WHATSAPP").Cells(Rows.Count, 1).End(3)(2, 1) = "+90" & TextBox_Gsm.Value
            ThisWorkbook.Worksheets("WHATSAPP").Protect
       
        Else
       
        End If

Zaten bu soruyu bekliyordum abey sırada Img-grin
Find kodu ile yada dictionary yada döngü ile satır numara buldurulur gerekli işlem yapılır.
Yeni konu açın çözelim abey Img-grin

(16/05/2021, 17:25)Oğuz Türkyılmaz yazdı: ThisWorkbook.Worksheets("WHATSAPP").Protect

Burayada "şifre" yazılacak abey protect ten sonra boşluk bırakıp.
Cevapla
#20
@feraz hocam çok uğraştıracak gerek var mı diye sorgulamaya başladım. Sizce hücrede 0 değeri sorun yaratır mı. Whatsapp tan mesaj gönderilirken. Yani o hücrede 0 değeri whatsappın orda takılmasına yada vakit kaybetmesine yol açar mı. Deneyemiyorum şu anda onun için soruyorum.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#21
(16/05/2021, 18:04)Oğuz Türkyılmaz yazdı: @feraz hocam çok uğraştıracak gerek var mı diye sorgulamaya başladım. Sizce hücrede 0 değeri sorun yaratır mı. Whatsapp tan mesaj gönderilirken. Yani o hücrede 0 değeri whatsappın orda takılmasına yada vakit kaybetmesine yol açar mı. Deneyemiyorum şu anda onun için soruyorum.
Abey şimdi ben bir dictionary ile kod yazarım silme,güncelleme ve ekleeme için hepsinde kullanırsınız.
Cevapla
#22
Formül sorun yaratıyor feraz hocam zaten hücrede 0 olmuş yada boş olmuş farketmiyor. Whatsapp yine göndermeye çalışıyor. Fakat formülle yada kodla ne yaparsak yapalım boş hücrede çalışmasını bir şekilde engellemek gerekiyor. Ya da hiç istemesem de whatsapp sayfasını filtreleyip dolu olanları başka bir sayfaya yapıştırıp filtresizmiş (filtrelemede resimler kopyalanmıyordu)gibi o sayfadan gönderim yapacağım.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#23
(16/05/2021, 18:35)Oğuz Türkyılmaz yazdı: Formül sorun yaratıyor feraz hocam zaten hücrede 0 olmuş yada boş olmuş farketmiyor
Göndermeye çalışıyorsa koda if ile 0 ise yada boş ise yada formüllü ise diye koşul eklenir.
O konu için extra konu açın bakalım abey.

Resimlerde gösterdim.

[Resim: do.php?img=11043]
https://resim.accesstr.net/do.php?img=11043

[Resim: do.php?img=11044]
https://resim.accesstr.net/do.php?img=11044

[Resim: do.php?img=11045]
https://resim.accesstr.net/do.php?img=11045

[Resim: do.php?img=11046]
https://resim.accesstr.net/do.php?img=11046


Sub Whatsap_ekle_sil_guncelle()

Dim dic As Object, sonAna As Long, keyy As String, kac As Long
Dim syfAna As Worksheet, dizi(), i As Long, say As Long, hatalimi As Boolean

Set dic = CreateObject("Scripting.dictionary")
Set syfAna = ThisWorkbook.Worksheets("Ana_Sayfa")

Application.ScreenUpdating = False
sonAna = syfAna.Range("A:A").Find("*", , , , , xlPrevious).Row
hatalimi = False

With ThisWorkbook.Worksheets("WHATSAPP")
  .Unprotect "171717"
    .Range("A2:A" & Rows.Count).ClearContents
   
    If sonAna < 2 Then
        hatalimi = True: GoTo son
    End If

    kac = WorksheetFunction.CountA(syfAna.Range("A2:A" & Rows.Count))
    If kac = 1 Then
        .Range("A2").Value = syfAna.Cells(sonAna, "AD").Value
        GoTo son
    End If
   
    dizi = syfAna.Range("AD2:AD" & sonAna).Value
    ReDim arr(1 To UBound(dizi), 1 To 1)
    say = 0
   
    For i = LBound(dizi) To UBound(dizi)
      keyy = CStr(dizi(i, 1))
      If Not dic.exists(keyy) Then
          say = say + 1
          dic.Add keyy, 0
          arr(say, 1) = keyy
      End If
    Next
   
    If dic.Count > 0 Then .Range("A2").Resize(dic.Count, 1).Value = arr
son:
Application.ScreenUpdating = True
.Protect "171717"
End With
On Error Resume Next
If hatalimi = True Then
    MsgBox "Kaydedilecek yada güncellenecek yada silinecek veri yok.", vbCritical, "Hata"
Else
    MsgBox "islem tamam.", vbInformation, "Bilgi"
End If
Set sic = Nothing: Set syfAna = Nothing: Erase arr: Erase dizi
End Sub


Cevapla
#24
Bence whatapp sayfadan yollamak sakıncalı.
Yolladığım kodla gönderecekseniz kodu kısaltınca eklerim,uzamış biraz Img-grin
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task