- Katılım
- 29 Haziran 2005
- Mesajlar
- 158
- Excel Vers. ve Dili
-
MS Office Professional Plus 2013 64 Bit -Eng
MSSQL 2012 R2 64 Bit
Merhaba arkadaslar ; Crystal Reports ile gelistirilmis bir Raporun EXCEL.5.0 formatinda Excel dosyasina aktarilmesi durumunda bicimsel olarak veriler daginik gelmektedir...
Benim amacım daginik veriler iceren bu EXCEL sayfasini makrolar vasitasi ile bicimlendirmektir.
Bicimlendirmenin en buyuk sorunu CR dan EXcel e akratilan raporun Satirsayisinin gun hergun 5-6 satir artmasidir.bunun sebebi hergun portfoye yeni musteriler eklenmesidir...
1-Oyle bir makro yazmaliyim ki....Sabit 26 sutun, dinamik N satir daki hucrelere (icerisinde veri olan tüm hucrelerin) kenarlık cizgisi eklesin...Yani burada ROWS sayisi sabit degil Colums sayisi 26..
2-A4-e yatay olarak bicimlendirilmis (1 nolu sorunu cozdukten sonra) verinin ZEBRA olarak dolgulandirilmasi gerekiyor...Yani veri basliginin 1.ci satirda oldugunu sayacak olursak....2.ci satir KOYU SARI , 3.satir BEYAZ , 4.cü Satir Koyu Sari , 5.ci satir BEYAZ.....vs..vs...Boyle yaklasik olarak 5000 satiri zebralandirmam gerekiyor...
Bu sorulari hazirlamadan once , kendi basima ve YURTTAS arkadasimizin da katkilari ile yazdigim kodları sizlerle paylasmak istiyorum...
Bu kodlara neden gerek duydum....CR to EXCEL veriler arasinda 2-3 satir ve 1-2 sutun bosluk birakarak aktariyor...Bu bosluklari her defasinda silmekten usandim...yazmis oldugum basit makrolar yerine ; "Application.ScreenUpdating = True " içermeyen makrolar yazmak istedim...Yani Ekrandaki mouse olay tiklamalari yada klavye ekran hareketlerinin olmadigi yeni makrolar duzenlemek isityorum...daha profosyonelce....
Bosluk silmek icin
Sub Bossatirsil()
Rows("1:1").Select
LastRow = ActiveSheet.UsedRange.Row - 1 + _
ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For k = LastRow To 1 Step -1
If Cells(k, 1) = "" Then Rows(k).Delete
Next k
End Sub
Sub Bossutunsil()
Rows("1:1").Select
LastColumn = ActiveSheet.UsedRange.Column - 1 + _
ActiveSheet.UsedRange.Columns.Count
Application.ScreenUpdating = False
For k = LastColumn To 1 Step -1
If Cells(1, k) = "" Then Columns(k).Delete
Next k
End Sub
Sub Ch_Arabaslik_Sil()
Rows("1:1").Select
LastRow = ActiveSheet.UsedRange.Row - 1 + _
ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For k = LastRow To 1 Step -1
If Cells(k, 1) = "C/H KOD" Then Rows(k).Delete
Next k
End Sub
Silinen Basliginda Yeniden duzenlenmesi icin
Sub HTC_Baslik_Yaz()
Application.ScreenUpdating = False
Rows("1:1").Select
Selection.Insert Shift:=xlDown
Range("A1").Select
ActiveCell.FormulaR1C1 = "C/H_Kodu"
Range("B1").Select
ActiveCell.FormulaR1C1 = "C/H_Ünvanı"
Range("C1").Select
ActiveCell.FormulaR1C1 = "Bakiye_86"
Range("D1").Select
ActiveCell.FormulaR1C1 = "Bakiye_87"
Range("E1").Select
ActiveCell.FormulaR1C1 = "YTL"
Range("F1").Select
ActiveCell.FormulaR1C1 = "USD"
Range("G1").Select
ActiveCell.FormulaR1C1 = "EUR"
Range("H1").Select
ActiveCell.FormulaR1C1 = "Kapamasi_Yapilmamis_Borc"
Range("I1").Select
ActiveCell.FormulaR1C1 = "Kapamasi_Yapilmamis_Alacak"
Range("J1").Select
ActiveCell.FormulaR1C1 = "C/H_Bakiyesi"
Range("K1").Select
ActiveCell.FormulaR1C1 = "Faturalanmamis_irsaliyeler"
Range("L1").Select
ActiveCell.FormulaR1C1 = "Top.ACIK.Bakiye"
Range("M1").Select
ActiveCell.FormulaR1C1 = "Vadesi.Gelmemis.Cek-Senet"
Range("N1").Select
ActiveCell.FormulaR1C1 = "Top.Risk"
Range("O1").Select
ActiveCell.FormulaR1C1 = "Bekleyen_Siparisleri"
Range("P1").Select
ActiveCell.FormulaR1C1 = "Karsiliksiz.C/S.iadesi"
Range("Q1").Select
ActiveCell.FormulaR1C1 = "Karsiliksiz.C/S.Bakiye"
Range("R1").Select
ActiveCell.FormulaR1C1 = "Kapanmamis.Pesin.FTR.lari"
Range("S1").Select
ActiveCell.FormulaR1C1 = "Net_Ciro"
Range("T1").Select
ActiveCell.FormulaR1C1 = "Odeme.Perf.GUN"
Range("U1").Select
ActiveCell.FormulaR1C1 = "iadeler.Tut"
Range("V1").Select
ActiveCell.FormulaR1C1 = "iade.Orani"
Range("W1").Select
ActiveCell.FormulaR1C1 = "Tahsilat/SatisFTR_orani"
Application.ScreenUpdating = False
End Sub
Bu arada CR ile sadece gorsel ve verisel baglari yakalayip , profosyonel yazilimciya iletip , gelen yonlendirmeler ile guncellemeler yapabiliyorum...CR konusunda profosyonel degilim..Ama egitimine katilmistim...Bu yazıma bakarak bana CR ile ilgili sorular sormamanizi oneririm...
Asil sorumu hatirlatayim.
1-Oyle bir makro yazmaliyim ki....Sabit 26 sutun, dinamik N satir daki hucrelere (icerisinde veri olan tüm hucrelerin) kenarlık cizgisi eklesin...Yani burada ROWS sayisi sabit degil Colums sayisi 26..
2-A4-e yatay olarak bicimlendirilmis (1 nolu sorunu cozdukten sonra) verinin ZEBRA olarak dolgulandirilmasi gerekiyor...Yani veri basliginin 1.ci satirda oldugunu sayacak olursak....2.ci satir KOYU SARI , 3.satir BEYAZ , 4.cü Satir Koyu Sari , 5.ci satir BEYAZ.....vs..vs...Boyle yaklasik olarak 5000 satiri zebralandirmam gerekiyor...
ilginize , simdiden tesekkur ederim...
Herkese iyi calismalar,
Benim amacım daginik veriler iceren bu EXCEL sayfasini makrolar vasitasi ile bicimlendirmektir.
Bicimlendirmenin en buyuk sorunu CR dan EXcel e akratilan raporun Satirsayisinin gun hergun 5-6 satir artmasidir.bunun sebebi hergun portfoye yeni musteriler eklenmesidir...
1-Oyle bir makro yazmaliyim ki....Sabit 26 sutun, dinamik N satir daki hucrelere (icerisinde veri olan tüm hucrelerin) kenarlık cizgisi eklesin...Yani burada ROWS sayisi sabit degil Colums sayisi 26..
2-A4-e yatay olarak bicimlendirilmis (1 nolu sorunu cozdukten sonra) verinin ZEBRA olarak dolgulandirilmasi gerekiyor...Yani veri basliginin 1.ci satirda oldugunu sayacak olursak....2.ci satir KOYU SARI , 3.satir BEYAZ , 4.cü Satir Koyu Sari , 5.ci satir BEYAZ.....vs..vs...Boyle yaklasik olarak 5000 satiri zebralandirmam gerekiyor...
Bu sorulari hazirlamadan once , kendi basima ve YURTTAS arkadasimizin da katkilari ile yazdigim kodları sizlerle paylasmak istiyorum...
Bu kodlara neden gerek duydum....CR to EXCEL veriler arasinda 2-3 satir ve 1-2 sutun bosluk birakarak aktariyor...Bu bosluklari her defasinda silmekten usandim...yazmis oldugum basit makrolar yerine ; "Application.ScreenUpdating = True " içermeyen makrolar yazmak istedim...Yani Ekrandaki mouse olay tiklamalari yada klavye ekran hareketlerinin olmadigi yeni makrolar duzenlemek isityorum...daha profosyonelce....
Bosluk silmek icin
Sub Bossatirsil()
Rows("1:1").Select
LastRow = ActiveSheet.UsedRange.Row - 1 + _
ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For k = LastRow To 1 Step -1
If Cells(k, 1) = "" Then Rows(k).Delete
Next k
End Sub
Sub Bossutunsil()
Rows("1:1").Select
LastColumn = ActiveSheet.UsedRange.Column - 1 + _
ActiveSheet.UsedRange.Columns.Count
Application.ScreenUpdating = False
For k = LastColumn To 1 Step -1
If Cells(1, k) = "" Then Columns(k).Delete
Next k
End Sub
Sub Ch_Arabaslik_Sil()
Rows("1:1").Select
LastRow = ActiveSheet.UsedRange.Row - 1 + _
ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For k = LastRow To 1 Step -1
If Cells(k, 1) = "C/H KOD" Then Rows(k).Delete
Next k
End Sub
Silinen Basliginda Yeniden duzenlenmesi icin
Sub HTC_Baslik_Yaz()
Application.ScreenUpdating = False
Rows("1:1").Select
Selection.Insert Shift:=xlDown
Range("A1").Select
ActiveCell.FormulaR1C1 = "C/H_Kodu"
Range("B1").Select
ActiveCell.FormulaR1C1 = "C/H_Ünvanı"
Range("C1").Select
ActiveCell.FormulaR1C1 = "Bakiye_86"
Range("D1").Select
ActiveCell.FormulaR1C1 = "Bakiye_87"
Range("E1").Select
ActiveCell.FormulaR1C1 = "YTL"
Range("F1").Select
ActiveCell.FormulaR1C1 = "USD"
Range("G1").Select
ActiveCell.FormulaR1C1 = "EUR"
Range("H1").Select
ActiveCell.FormulaR1C1 = "Kapamasi_Yapilmamis_Borc"
Range("I1").Select
ActiveCell.FormulaR1C1 = "Kapamasi_Yapilmamis_Alacak"
Range("J1").Select
ActiveCell.FormulaR1C1 = "C/H_Bakiyesi"
Range("K1").Select
ActiveCell.FormulaR1C1 = "Faturalanmamis_irsaliyeler"
Range("L1").Select
ActiveCell.FormulaR1C1 = "Top.ACIK.Bakiye"
Range("M1").Select
ActiveCell.FormulaR1C1 = "Vadesi.Gelmemis.Cek-Senet"
Range("N1").Select
ActiveCell.FormulaR1C1 = "Top.Risk"
Range("O1").Select
ActiveCell.FormulaR1C1 = "Bekleyen_Siparisleri"
Range("P1").Select
ActiveCell.FormulaR1C1 = "Karsiliksiz.C/S.iadesi"
Range("Q1").Select
ActiveCell.FormulaR1C1 = "Karsiliksiz.C/S.Bakiye"
Range("R1").Select
ActiveCell.FormulaR1C1 = "Kapanmamis.Pesin.FTR.lari"
Range("S1").Select
ActiveCell.FormulaR1C1 = "Net_Ciro"
Range("T1").Select
ActiveCell.FormulaR1C1 = "Odeme.Perf.GUN"
Range("U1").Select
ActiveCell.FormulaR1C1 = "iadeler.Tut"
Range("V1").Select
ActiveCell.FormulaR1C1 = "iade.Orani"
Range("W1").Select
ActiveCell.FormulaR1C1 = "Tahsilat/SatisFTR_orani"
Application.ScreenUpdating = False
End Sub
Bu arada CR ile sadece gorsel ve verisel baglari yakalayip , profosyonel yazilimciya iletip , gelen yonlendirmeler ile guncellemeler yapabiliyorum...CR konusunda profosyonel degilim..Ama egitimine katilmistim...Bu yazıma bakarak bana CR ile ilgili sorular sormamanizi oneririm...
Asil sorumu hatirlatayim.
1-Oyle bir makro yazmaliyim ki....Sabit 26 sutun, dinamik N satir daki hucrelere (icerisinde veri olan tüm hucrelerin) kenarlık cizgisi eklesin...Yani burada ROWS sayisi sabit degil Colums sayisi 26..
2-A4-e yatay olarak bicimlendirilmis (1 nolu sorunu cozdukten sonra) verinin ZEBRA olarak dolgulandirilmasi gerekiyor...Yani veri basliginin 1.ci satirda oldugunu sayacak olursak....2.ci satir KOYU SARI , 3.satir BEYAZ , 4.cü Satir Koyu Sari , 5.ci satir BEYAZ.....vs..vs...Boyle yaklasik olarak 5000 satiri zebralandirmam gerekiyor...
ilginize , simdiden tesekkur ederim...
Herkese iyi calismalar,