• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Çözüldü Matrah Aktar

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,543
Excel Vers. ve Dili
2021 LTSC TR
Kod:
http://www.filebig.net/files/GvJDyZNAsb

Yukarıda linki verilmiş dosyada sizden ricam ve isteğim

a) Sayfa1 sekmesinde ki C sütununa "Personelin adı ve soyadı" göre bakacak
b) Sayfa2 sekmesinde ki B sütununa "Personelin adı ve soyadı" göre bakacak
Sayfa1 deki düğme çalıştırıldığı zaman açılan ınputbox' a ay adı girildiği zaman
c) Sayfa2 de yer alan aya aktarılmasını istiyorum.
Yardımcı olabilir misiniz?

Yalnız ALTIN ÜYE sürem geçtiği için harici linke dosyayı yükledim. Kodu yazabilirseniz sevinirim.

Teşekkür eder Saygılarımı sunarım.
 
Sayın cengizdemir72
Teşekkür ederim. Ellerinize sağlık.
Yeni yılınız kutlu olsun.
Matrah Aktarımı isme göre aktarmıyor. Kontrol edebilir misiniz?
 
Sayfa 1 deki isim listesi sabit ve sayfa 2 ile aynı olmayacak mı ?
Ben bu duruma göre hazırlamıştım.

Eger sayfa 2 sabit liste olacak ve sayfa 1 deki sıralama sürekli değişecekse makro düzgün çalışmaz.. Tekrar düzenlemek lazım.

Ayrıca şöyle bir durum söz konusu olacak mı? Ocak ve Şubat ta x kişisi olmayıp Mart ve sonrası için listeye dahil olabilir mi ?
(Bu kosul gerçekleşirse Sayfa 2 ye en sona ilave edilecek.)

Bu ve buna benzer başka olasılıklar da olacaksa bildirebilir misiniz ?
 
a ) sayfa1 de olan isimlerin sıralaması değişebilir.
b) ocak, şubat ve martta olmayan kişi nisan da olabilir mi Evet.
c) Personel eklemesi giden kişinin yerine de yazılabilir. Eğer ayrılan kişi yoksa en sona yazılır.

Tekrar teşekkür ederim. saygılarımla
 
Rica ederim. ;)
Yeni duruma göre makroyu yeniden düzenleyeyim. (Yarın bakabilirim sanırım)
Yanlız. Personel işten ayrılırsa. Verilerini silmek yada yeni gelen kişinin verilerine onun verilerine dahil ederek devam etmek o seneye ait olan hesabın yanlış olmasına neden olmaz mı? Ayrılan kişinin yeni yıla geçişte listeye dahil edilmemesi daha sağlıklı olmaz mı ?
 
....

Kod:
Sub Ay_Aktar()
Set s1 = Sheets("sayfa1")
Set s2 = Sheets("sayfa2")
Set d = CreateObject("scripting.dictionary")
ay = Application.InputBox("Ay Giriniz..", Type:=2, Title:="MATRAH")
ay = UCase(Replace(Replace(ay, "i", "İ"), "ı", "I"))
On Error Resume Next
sut = Application.Match(ay, s2.Range("C2:Z2"), 0) + 2
    If Err = 0 Then
        a = s1.Range("C6:M" & s1.Cells(Rows.Count, 3).End(3).Row).Value
        For i = 1 To UBound(a)
            If a(i, 1) <> "" Then
                d(a(i, 1)) = a(i, 9) & "#" & a(i, 11)
            End If
        Next i
        a = s2.Range("B4:B" & s2.Cells(Rows.Count, 2).End(3).Row).Value
        ReDim b(1 To UBound(a), 1 To 2)
        For i = 1 To UBound(a)
            If d.exists(a(i, 1)) Then
                b(i, 1) = CDbl(Split(d(a(i, 1)), "#")(0))
                b(i, 2) = CDbl(Split(d(a(i, 1)), "#")(1))
            End If
        Next i
        s2.Range(s2.Cells(4, sut), s2.Cells(Rows.Count, sut + 1)).ClearContents
        s2.Cells(4, sut).Resize(UBound(a), 2).NumberFormat = "#,##0.00"
        s2.Cells(4, sut).Resize(UBound(a), 2) = b
        MsgBox "İşlem Bitti", vbInformation
    Else
        MsgBox "Hatalı giriş", vbCritical
    End If
End Sub
 
Sayın Ziynettin
Teşekkür ederim. Hakkını helal et. Sağ olasın
 
Geri
Üst