• DİKKAT

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

İf döngüsü yüzlerce koşul gerektiriyorsa ne yapılması gerekiyor? Dosya Ektedir.

Katılım
12 Ekim 2010
Mesajlar
224
Excel Vers. ve Dili
2013 türkçe
Arkadaşlar ekli sayfaları makro içeren dosyanın içinden kopyalayarak kitap haline getirdim. Bu dosyanın içinde son bir sorunum kaldı ve bir türlü aşamıyorum..

Kişi harcirah sayfasında aylık işlemlerini doldurduğu zaman görev oluru sayfasına otomatik işleniyor. Buraya kadar hiç bir sorun yok. Ancak görev olurlarını yazdırma sırasında bakıyorsun ki. kişi ayın 1' sonra 5. ni doldurmuş ama diyerleri boş. veya o ay içersinde sade ayın 26. sında görev yapmış ve onu doldurmuş görev oluruna gittiğin zaman ayın 26 sı görev olurunda 26. yere denk geliyor ve yazdırma sırasında arıyorsun diğerleri önceden dolu kalıyor karıştırıyorsun v.s gibi sorunlarım var. hele hele kişi ayın 3. 5. 11. 25 gibi tarihlerini işlerse görev oluru yazdırmak tam bir sorun oluyor.

görev oluru sayfası yatay ve ilk 1. ve 2 gün 1. ci sayfaya diğer 3 ve 4. gün de 2 sayfaya işliyor.

Benim istediğim şu

Kişi harcirahını doldurdu baktığınızda kişi o ay örneğin sadece ayın 13. ve 18. işlemiş. Görev oluruna girdiğinizde görev olurun ilk sayfası 13. ve 18. tarihleri alsın diğerleri boş kalsın. Bu böyle devam etsin ve kaç gün harcirah yaptıysa görev oluru ilk sayfadan başlayarak o günleri alt alta yazarak gitsin.

Çok rica ediyorum , eğer bu herhangi biriniz için kolay bir işlem olacaksa yardım etmenizi istiyorum.

https://dosyayukle.club/6qz
 
Merhaba.
Eklediğiniz örnek dosyada en az iki tane veri girişi yapar mısınız?
Yani en az iki tane görev girişi yapın. Her iki sayfada da verileri olması gerektiği gibi girin.

Ondan sonra dosyanızı yeniden paylaşın.
 
Hocam
Kısa bir bilgilendirme yapayım
Düzenle sayfasında harcirah dolduruluyor
Doldurulan bilgiler harcirah sayfası aktif olduğunda oraya aktarılıyor
Harcirah almaya hak kazanamadığı saatler arasında ise veya hiç gitmemişse Harcirah sayfasında ki Gün Sayısı Sekmesi Yani ("P13: P43") boş yazıyor
P13: p43 satırları arasında boş varsa o satır gizleniyor
şimdi
Görev oluru Harcirah Sayfasından bilgi aldığı gibi Giriş sayfasından da araç plakası şöför adı v.b bilgiler alıyor

amacımız

Harcirah sayfasında gözüken tarih aralığındaki bilgiler kadar sırasıyla görev oluru sayfasında boş dolu şeklinde ilk sayfanın ilk boş yaprağından dolu tarih arasındaki bilgileri alarak sıra sıra işlemesi. (yan yana ve alt alta..)

Görev Oluru Sayfası Harcirah Sayfasına Girdikten Sonra Verileri İşliyor. Komutlar Work Sheets Activitelerin içinde..

Görev Oluru Sayfasındaki tüm formüller silinecek ve oraya tarih aralarını yanyana ve alt alta sıralayacak tarih arası boş ise diğer tarihi yazdıracak şekilde olması gerekiyor.

https://dosyayukle.club/91S
 
Hocam umarım bir çözüm bulursunuz, merakla bekliyorum..
 
Çok karışık anlamakta zorlanıyorum.

Şöyle düşünüyorum.
"Görev Oluru" sayfasında yazdırılacak alanların şablonu hep aynı onun için sadece bir tane yazdırılacak alan olsun.
"Harcirah" sayfasına "Görev Oluru Yazdır" butonu ekleyelim. "Harcirah" sayfasına veriler girildikten sonra birinci sıradaki verileri "Görev Oluru" sayfasındaki şablona aktarsın ve hemen yazdırsın, sonra ikinci satırı, üçüncü satırı ve diğerlerini sırası ile aktarsın ve hemen yazdırsın.

Bu şekilde olsa nasıl olur?
 
Hocam şimdi görev olurunda 1 a4 kağıdında yarı yarıya 2 gün var, bir şablon olursa kağıdın yarısı boş kalır, tam kağıda yazdırırsak ta çok büyük ve gereksiz olur. dediğiniz gibi sıra sıra aktarıp tek seferde yazdırabilirse hiç bir sorun olmaz ama bir sayfaya iki tarih aralığı getirmesini sağlayabilirmisiniz.. Ancak görev oluruna gelecek olan bilgilerin

Harcirah sayfasındaki p13 ile p43 satırları arasındaki boş ise her bir tarih için yazdırma dolu ise aktar ve yazdır gibi birşey olması lazım.
Yani harcirahta ki herhangi bir tarih aralığı dolu olsa bile eğer p sütünunda herhangi bir karşılığı yok ise zaten o satır gizleniyor ya o tarih aralığı görev oluruna aktarılmayacak sadece p sutunu dolu ise o tarih aralığı aktarılacak

sizin değiniz gibi
 
Ben bu işi if dögüsünde halledebilirim diye düşündüm ama şöyle bir durum oldu.
1. gün İf döngüsünde 1 formül istiyor
2. gün İf döngüsünde 4 förmül istiyor
3 gün 6
4 gün 8 ve çıkmaz bir formül işine dönüyor yazarken karıştırıyorsunuz artık. :)
 
Son düzenleme:
Araç Plakası, Araç Şoförü ve Yapılacak İşi Nev'i bilgilerini neye göre yazacağız?
Bir de en altta iki tane tarih var "08.07.2019" yazıyor. Bu tarihler yazdırma günü tarihi mi olacak? Değilse nerede yazıyor?
 
"Harcirah" sayfasına bir buton ekleyin aşağıdaki kodları butona basarak çalıştırın.

Kod:
Sub GorevOluruYazdir()
    Dim Bak As Integer
    Dim Sablon As Integer
    Dim syfGorev As Worksheet
    Dim syfHarcirah As Worksheet
    Set syfGorev = Worksheets("GorevOluru")
    Set syfHarcirah = Worksheets("Harcirah")
    For Bak = 13 To 43
        If syfHarcirah.Cells(Bak, "P") <> "" Then
            Sablon = 1 + Sablon
            If Sablon = 1 Then
                syfGorev.Range("E10") = syfHarcirah.Range("F3")
                syfGorev.Range("E11") = syfHarcirah.Range("F4")
                syfGorev.Range("E12") = syfHarcirah.Cells(Bak, "B")
                syfGorev.Range("E13") = syfHarcirah.Cells(Bak, "F")
                syfGorev.Range("E14") = syfHarcirah.Cells(Bak, "J")
                syfGorev.Range("E15") = syfHarcirah.Cells(Bak, "M")
                syfGorev.Range("F25") = Date
                syfGorev.Range("A32") = Date
            ElseIf Sablon = 2 Then
                syfGorev.Range("M10") = syfHarcirah.Range("F3")
                syfGorev.Range("M11") = syfHarcirah.Range("F4")
                syfGorev.Range("M12") = syfHarcirah.Cells(Bak, "B")
                syfGorev.Range("M13") = syfHarcirah.Cells(Bak, "F")
                syfGorev.Range("M14") = syfHarcirah.Cells(Bak, "J")
                syfGorev.Range("M15") = syfHarcirah.Cells(Bak, "M")
                syfGorev.Range("N25") = Date
                syfGorev.Range("I32") = Date
                Range("A1:I34").PrintOut Copies:=1, Collate:=True
                Sablon = 0
                Temizle
            End If
        End If
    Next
    If Sablon = 1 Then
        Range("A1:G34").PrintOut Copies:=1, Collate:=True
        Temizle
    End If
End Sub

Sub Temizle()
    syfGorev.Range("E10") = ""
    syfGorev.Range("E11") = ""
    syfGorev.Range("E12") = ""
    syfGorev.Range("E13") = ""
    syfGorev.Range("E14") = ""
    syfGorev.Range("E15") = ""
    syfGorev.Range("F25") = ""
    syfGorev.Range("A32") = ""
    
    syfGorev.Range("M10") = ""
    syfGorev.Range("M11") = ""
    syfGorev.Range("M12") = ""
    syfGorev.Range("M13") = ""
    syfGorev.Range("M14") = ""
    syfGorev.Range("M15") = ""
    syfGorev.Range("N25") = ""
    syfGorev.Range("I32") = ""

End Sub
 
Hocam deneyemedim işlerim yoğunlaştı. denemeye fırsat bulduktan sonra size geri dönüş yapacağım..
 
8. mesajdaki sorularıma yanıt vermeyi unutmayın.
 
Görev olurunda olan alttaki tarihler evrakın düzenlenme tarihi ortadaki tarihler ise kişinin harcirah tarihi. görev yaptığı tarihler.. Yani ay sonunda hazırlanıyor evraklar veya diğer ayda hazırlanıyor
 
bütün yazacağın herşeyi Harcirah sayfasındaki p 13 ile p43 sütünları arasındaki boş olup olmadığınına göre yazdıracağız

p13 ile p43 arasındaki boş dolu döngüsüne göre karşılığına gelen tarih aralığındaki bilgiler görev oluru sayfasının ilk sayfasını dolduracak
Abi ayın 1 p13 e denk geliyor p 13 doluysa görev oluru sayfasının ilk sayfası bilgilerini doldursun

ayın 5 ine kadar boş ve ayın 6 sı doluysa yani p18 doluysa p18 denk gelen billeri görev olurunun ilk sayfasını doldurmalı döngü lazım

sizin formülü denedim ama tuhaf bilgiler çıktı
 
Abi bak görev olurunda ortada kalan boyalı yerlerin bilgileri yer değiştirse yeter kişiye ait bilgiler ve alttaki tarih ve bilgilri bütün sayfada yazsa da sorun değil zaten tek bir kişiye ait 1 aylık cetve lolarak çıkıyor. Döngüye girmesi gereken yerler
Tarih Görev Yeri Çıkış Saati Dönüş Saati Çalıştığı Birim Araç Plakası Araç Şoförü Yapılacak İşi Nev'i
diğerleri sabit olsun
 
Kodlar dediklerinden başka bir şey yapmıyor ki.

Yukarıda sormuştum.
Araç Plakası, Araç Şoförü ve Yapılacak İşi Nev'i bilgilerini neye göre yazacağız?

Sadece bunlar doğru değil, bunları da nereden bakıp yazacağımı hala söylemediniz.
 
Acaba telefonla iletişim kurabilirmiyiz. sizin için sorun olur mu
 
Hocam çok zorladı ama ben çözdüm işi. Verdiğin emek ve ayırdığın zaman için çok çok teşekkür ederim.
 
Geri
Üst