Verİ Aktarma

Katılım
31 Ocak 2006
Mesajlar
61
Excel Vers. ve Dili
excell 2003
türkçe
selamun aleykum arkadaşlar
Aşağıda eklediğim dosyada Sayfa1 bulunan D sütünunda bulunan izin sürelerini Sayfa2 de bulunan D sütununa key numaralarına göre eşitleyerek atmasını istiyorum ve 30 dan çıkarmasını istiyorum. Yalnız sayfa2 de bulunan ancak izni olmayan personelinde izin süresinin değişmemesini istiyorum. Yardımcı olursanız sevinir. Şimdiden kolay gelsin. ALLAH yar ve yardımcınız olsun.
 
Katılım
17 Şubat 2006
Mesajlar
981
Excel Vers. ve Dili
M.Office Excel 2003 Tr.
Safa 2 de bütün izin günlerinin 30 olmasından yola çıkarak, Sayfa 2 de D2 hücresine aşağıdaki formülü yazıp aşağı doğru çekerek kopyalayın.
=EĞER(EHATALIYSA(30-(DÜŞEYARA(B2;Sayfa1!$B$2:$D$500;3;0)));30;30-(DÜŞEYARA(B2;Sayfa1!$B$2:$D$500;3;0)))
 
Katılım
31 Ocak 2006
Mesajlar
61
Excel Vers. ve Dili
excell 2003
türkçe
veri aktarma

selamun aleykum arkadaşlar
Aşağıda eklediğim dosyada izin sayfasında C sütünunda bulunan izin sürelerini bordro sayfasında bulunan L sütununa key numaralarına göre eşitleyerek atmasını istiyorum ve o ayın gün sayısından da çıkarmasını istiyorum. izni bulunmayan personellere ise o ayın gün sayısını atmasını istiyorum.

Bunun bir makrosunu yapan arkadaş olursa çok sevinirim. düşeyara ile hücrelerle çok oynandığı için yanlışlılar oluyor. Yaparsanın sevinirim Şimdiden ALLAH razı olsun.
 
Katılım
31 Ocak 2006
Mesajlar
61
Excel Vers. ve Dili
excell 2003
türkçe
Yardımcı olacak yokmu. Çok Minnettar kalacağım. Lütfen
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Sub İZİN_AKTAR()
    Set Sİ = Sheets("İZİN")
    Set SB = Sheets("BORDRO")
    For X = 2 To Sİ.[A65536].End(3).Row
    SAY = WorksheetFunction.CountIf(SB.Columns("B:B"), Sİ.Cells(X, 1))
    If SAY > 0 Then
    ARA = SB.Columns("B:B").Find(What:=Sİ.Cells(X, 1), LookAt:=xlWhole).Row
    SB.Cells(ARA, 12) = SB.Cells(ARA, 12) - Sİ.Cells(X, 3)
    End If
    Next
    MsgBox "İZİNLER BAŞARIYLA AKTARILMIŞTIR.", vbInformation
End Sub
 
Katılım
31 Ocak 2006
Mesajlar
61
Excel Vers. ve Dili
excell 2003
türkçe
Üstadım Cost Contral ,
Makroyu butona atadım fakat
Set Sİ=Sheets("İZİN") de hata veriyor


Sub İZİN_AKTAR()
Set Sİ = Sheets("İZİN")
Set SB = Sheets("BORDRO")
For X = 2 To Sİ.[A65536].End(3).Row
SAY = WorksheetFunction.CountIf(SB.Columns("B:B"), Sİ.Cells(X, 1))
If SAY > 0 Then
ARA = SB.Columns("B:B").Find(What:=Sİ.Cells(X, 1), LookAt:=xlWhole).Row
SB.Cells(ARA, 12) = SB.Cells(ARA, 12) - Sİ.Cells(X, 3)
End If
Next
MsgBox "İZİNLER BAŞARIYLA AKTARILMIŞTIR.", vbInformation
End Sub
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
sayın cost_control'un gönderdiği kodlarda sanırım hata yok. ben denedim hata vermeden çalışıyor. eki incelermisiniz?
 
Katılım
31 Ocak 2006
Mesajlar
61
Excel Vers. ve Dili
excell 2003
türkçe
veri aktarma

evet sizin dosyanızı aldım çalıştı. teşekkür ederim. yalnız bir sorun daha var.
normalde bordro sayfasında izin sütunu boş olacak. izinleri aktardığım zaman izin sayfasında bulunanların izinleri o ayın gün toplamından çıkacak. olmayanların çalışma sürelerine ise o ayın gün toplamı atacak. bordroda izin sütununu boşaltığım zaman izin süreleri negatif sayı olarak atıyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Ay günü derken içinde bulunduğunuz ayımı kastediyorsunuz?
 
Katılım
31 Ocak 2006
Mesajlar
61
Excel Vers. ve Dili
excell 2003
türkçe
evet içinde bulunduğumuz ay
yada bir seçenek sunulursa ay seçimide yapabiliriz
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
normalde bordro sayfasında izin sütunu boş olacak. izinleri aktardığım zaman izin sayfasında bulunanların izinleri o ayın gün toplamından çıkacak.
Sayın Cost_Control,

bu soruya vereceğiniz cevabı bende merak ediyorum. çünkü buna benzer bir sorgulama makrosu (hatta bugün forumda msgbox ekleme ile ilgili sizlere danışmıştım) benim programımda da var. sorgulamayı yapmadan önce satırların boş olmasını ve makroyu çalıştırdıktan sonra sonuçları oraya yazmasını sağlamak mümkünmü? çünkü o sayfaya geldiğimde bir önceki sorguya ait veriler yazılı olarak duruyor? cevabınızı merakla bekliyorum.. :roll: :roll:

saygılar...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Sub İZİN_AKTAR()
    Set Sİ = Sheets("İZİN")
    Set SB = Sheets("BORDRO")
    
    AY = Application.InputBox("1-12 ARASINDA AY DEĞERİ GİRİNİZ...", "AY SEÇİMİ...", Month(Date))
    If AY = False Then Exit Sub
    If AY = "" Or IsNumeric(AY) = False Then GoTo HATA

    GÜN = Day(DateAdd("D", -1, CDate(DateAdd("M", 1, DateSerial(Year(Date), AY * 1, 1)))))
    
    For X = 2 To SB.[A65536].End(3).Row
    SAY = WorksheetFunction.CountIf(Sİ.Columns("A:A"), SB.Cells(X, 2))
    ARA = SB.Columns("B:B").Find(What:=Sİ.Cells(X, 1), LookAt:=xlWhole).Row
    If SAY = 0 Then
    SB.Cells(ARA, 12) = GÜN
    Else
    SB.Cells(ARA, 12) = GÜN - Sİ.Cells(X, 3)
    End If
    Next
    MsgBox "İZİNLER BAŞARIYLA AKTARILMIŞTIR.", vbInformation
    Exit Sub
HATA: MsgBox "İŞLEMİNİZDE HATA OLUŞMUŞTUR." & Chr(10) & Chr(10) & "LÜTFEN GİRDİĞİNİZ BİLGİLERİ KONTROL EDİNİZ.", vbCritical, "DİKKAT !"
End Sub
 
Katılım
31 Ocak 2006
Mesajlar
61
Excel Vers. ve Dili
excell 2003
türkçe
SAYIN COST CONTROL ÜSTADIM
Aşağıdaki Satırda"object variable or with block variable not set" run time error 91 diye hata veriyor
ARA = SB.Columns("B:B").Find(What:=Sİ.Cells(x, 1), LookAt:=xlWhole).Row
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Genelde kodları denemeden göndermiyorum ama ufak bir ayrıntıyı gözden kaçırmışım. Özür dilerim. Neyse ekte çalışan örnek dosyayı gönderiyorum.
 
Son düzenleme:
Katılım
31 Ocak 2006
Mesajlar
61
Excel Vers. ve Dili
excell 2003
türkçe
üstadım Cost Control yardımlarınız için ALLAH razı olsun. Çok Minnettar kaldım. Yalnız ben bir yerde hata yapıyorum ama nerede ekteki dosyada gereken açıklamaları yaptım. Aktarımı yanlış yapıyor. ve izin sayfasında bulunmayan keylere ise o ayın gün sayısını atmıyorum.

Minnettarım üstadım
 
Katılım
31 Ocak 2006
Mesajlar
61
Excel Vers. ve Dili
excell 2003
türkçe
üstadım Cost Control yardımlarınız için ALLAH razı olsun. Çok Minnettar kaldım. Yalnız ben bir yerde hata yapıyorum ama nerede ekteki dosyada gereken açıklamaları yaptım. Aktarımı yanlış yapıyor. ve izin sayfasında bulunmayan keylere ise o ayın gün sayısını atmıyor.

Minnettarım üstadım
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki şekilde denermisiniz.

Kod:
Sub İZİN_AKTAR()
    Set Sİ = Sheets("İZİN")
    Set SB = Sheets("BORDRO")
    Application.Calculation = xlCalculationManual
    AY = Application.InputBox("1-12 ARASINDA AY DEĞERİ GİRİNİZ...", "AY SEÇİMİ...", Month(Date))
    If AY = False Then Exit Sub
    If AY = "" Or IsNumeric(AY) = False Then GoTo HATA
    GÜN = Day(DateAdd("D", -1, CDate(DateAdd("M", 1, DateSerial(Year(Date), AY * 1, 1)))))
    For X = 2 To SB.[A65536].End(3).Row
    SAY = WorksheetFunction.CountIf(Sİ.Columns("A:A"), SB.Cells(X, 2))
    On Error Resume Next
    ARA = Sİ.Columns("A:A").Find(What:=SB.Cells(X, 2), LookAt:=xlWhole).Row
    If SAY = 0 Then
    SB.Cells(X, 12) = GÜN
    Else
    SB.Cells(X, 12) = GÜN - Sİ.Cells(ARA, 3)
    End If
    Next
    Application.Calculation = xlCalculationAutomatic
    MsgBox "İZİNLER BAŞARIYLA AKTARILMIŞTIR.", vbInformation
    Exit Sub
HATA: MsgBox "İŞLEMİNİZDE HATA OLUŞMUŞTUR." & Chr(10) & Chr(10) & "LÜTFEN GİRDİĞİNİZ BİLGİLERİ KONTROL EDİNİZ.", vbCritical, "DİKKAT !"
End Sub
 
Katılım
31 Ocak 2006
Mesajlar
61
Excel Vers. ve Dili
excell 2003
türkçe
minnettarım üstadım. ALLAH razı olsun.
 
Katılım
31 Ocak 2006
Mesajlar
61
Excel Vers. ve Dili
excell 2003
türkçe
puan aktarma

Sevgili üstadlarım, sayın Cost Control üstadımızın sayesinde birşeyler yapmaya çalışıyorum.Ama Artık Sayın Cost Controla karşı yüzüm tutmuyor. ama hala bir ilerleme kaydedemedim. Tabi bu benim eksikliğim. sağolsun ekteki dosyanın izin aktarma meselesini halletti. yalnız birde puanlarımı aktarmam lazım. Puan aktarırken puan listesinde yer alan şahısların puanlarını yani c sütunundaki key numaralarını bordrodaki key numaralarına göre bordro sayfasındaki I sütünuna aktaracak. puan listesinde bulunmayanları ise yine puan listesinde bulunan c131 hücresindeki ortalama puanı atacak. izin aktar makrosunun üzerinde oynama yaptım ama bir türlü puana uyarlayamadım.

yardımcı olursanız sevinirim
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki şekilde denermisiniz.

Kod:
Sub PUAN_AKTAR()
    Set SP = Sheets("PUAN")
    Set SB = Sheets("BORDRO")
    ORTALAMA_PUAN = SP.[C130]
    
    Application.Calculation = xlCalculationManual
    For X = 2 To SB.[A65536].End(3).Row
    SAY = WorksheetFunction.CountIf(SP.Columns("A:A"), SB.Cells(X, 2))
    On Error Resume Next
    ARA = SP.Columns("A:A").Find(What:=SB.Cells(X, 2), LookAt:=xlWhole).Row
    If SAY = 0 Then
    SB.Cells(X, 9) = ORTALAMA_PUAN
    Else
    SB.Cells(X, 9) = SP.Cells(ARA, 3)
    End If
    Next
    Application.Calculation = xlCalculationAutomatic
    MsgBox "PUANLAR BAŞARIYLA AKTARILMIŞTIR.", vbInformation
    Exit Sub
HATA: MsgBox "İŞLEMİNİZDE HATA OLUŞMUŞTUR." & Chr(10) & Chr(10) & "LÜTFEN GİRDİĞİNİZ BİLGİLERİ KONTROL EDİNİZ.", vbCritical, "DİKKAT !"
End Sub
 
Üst