Erdinç FIRTINA
Altın Üye
- Katılım
- 14 Şubat 2007
- Mesajlar
- 400
- Excel Vers. ve Dili
- excel 2003 türkçe
- Altın Üyelik Bitiş Tarihi
- 15-05-2026
Değerli arkadaşlar aşağıdaki makro kodu bir sayfadaki verileri diğer sayfaya aktarıyor. Bu kodların anlamlarını açıklarsanız çok sevinirim. Çünkü ben kodlarda değişiklik yaparak satır ve sütunlardaki verileri değiştirmek istiyorum. Yardımlarınız için şimdiden teşekkürler!
Yapmak istediğim değişikliği varolan veri tablosuna göre anlatmak istiyorum.
Şu andaki veri sayfasındaki verilerin sütunları aşağıdaki gibidir.
Ben ise bu sıralamayı bir alttaki gibi değiştirmek istiyorum. Bunun için makroda ne gibi değişiklik yapmalıyım? (Makro kodu ile C sütununa göre aktarım yapılıyor. Ben ise A sütununa göre aktarım yapmak istiyorum. Mevcut olanda 7 sütun variken benim oluşturduğumda ise 8 sütun var)
Benim düşündüğüm kodda C yerine A yazmak oldu ama makro hata veriyor. Nerede hata yapmış olabilirim?
Yardımlarınız için çok teşekkürler!!!
...A..........B.......C..........D..........E............F......G.....H
TARİH...... no.....firma...tutar......ödenen...yeni...eski...ilk
01.09.06...0001....A......35,00.....15,00.......1......2......3
05.04.07...0002....B......20,00.....10,00.......2......2......3
01.09.06...0003....C......10,00.....20,00.......2......2......3
01.09.06...0001....A......40,00.....20,00.......3......2......3
01.09.06...0001....D......20,00.....10,00.......1......2......3
Firmno.... kişi adı.... tarih........tutar....ödenen....öd.şekli.....açıklama....özet
...1........ali............01.02.07...30YTL....10YTL....PEŞİN.......itekma......tea
...2........vel............03.04.07...50YTL....10YTL....taksit.......itekma......tea
...3........ayşe.........04.07.07....80YTL....20YTL....vadeli.......itekma......tea
...1........ahmt.........02.08.07....30YTL....20YTL....vadeli.......itekma......tea
...4........selim.........04.07.07....90YTL....40YTL....peşin.......itekma......tea
Sub ExtractReps()
Dim s1 As Worksheet
Dim Sy As Worksheet
Dim alan As Range
Dim r As Integer
Dim c As Range
Set s1 = Sheets("VERİ")
Set alan = Range("veritabanı")
s1.Columns("C:C").Copy _
Destination:=Range("AL1")
s1.Columns("AL:AL").AdvancedFilter _
Action:=xlFilterCopy, _
CopyToRange:=Range("AJ5"), Unique:=True
r = Cells(Rows.Count, "AJ").End(xlUp).Row
Range("AL5").Value = Range("c5").Value
For Each c In Range("AJ6:AJ" & r)
s1.Range("AL6").Value = c.Value
If SAYFA(c.Value) Then
Sheets(c.Value).Cells.Clear
alan.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("VERİ").Range("AL5:AL6"), _
CopyToRange:=Sheets(c.Value).Range("A1"), _
Unique:=False
Else
Set Sy = Sheets.Add
Sy.Move After:=Worksheets(Worksheets.Count)
Sy.Name = c.Value
alan.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("VERİ").Range("AL5:AL6"), _
CopyToRange:=Sy.Range("A1"), _
Unique:=False
End If
Next
s1.Select
s1.Columns("aJ:aL").Delete
End Sub
Function SAYFA(SAYFAADI As String) As Boolean
On Error Resume Next
SAYFA = CBool(Len(Worksheets(SAYFAADI).Name) > 0)
End Function
Yapmak istediğim değişikliği varolan veri tablosuna göre anlatmak istiyorum.
Şu andaki veri sayfasındaki verilerin sütunları aşağıdaki gibidir.
Ben ise bu sıralamayı bir alttaki gibi değiştirmek istiyorum. Bunun için makroda ne gibi değişiklik yapmalıyım? (Makro kodu ile C sütununa göre aktarım yapılıyor. Ben ise A sütununa göre aktarım yapmak istiyorum. Mevcut olanda 7 sütun variken benim oluşturduğumda ise 8 sütun var)
Benim düşündüğüm kodda C yerine A yazmak oldu ama makro hata veriyor. Nerede hata yapmış olabilirim?
Yardımlarınız için çok teşekkürler!!!
...A..........B.......C..........D..........E............F......G.....H
TARİH...... no.....firma...tutar......ödenen...yeni...eski...ilk
01.09.06...0001....A......35,00.....15,00.......1......2......3
05.04.07...0002....B......20,00.....10,00.......2......2......3
01.09.06...0003....C......10,00.....20,00.......2......2......3
01.09.06...0001....A......40,00.....20,00.......3......2......3
01.09.06...0001....D......20,00.....10,00.......1......2......3
Firmno.... kişi adı.... tarih........tutar....ödenen....öd.şekli.....açıklama....özet
...1........ali............01.02.07...30YTL....10YTL....PEŞİN.......itekma......tea
...2........vel............03.04.07...50YTL....10YTL....taksit.......itekma......tea
...3........ayşe.........04.07.07....80YTL....20YTL....vadeli.......itekma......tea
...1........ahmt.........02.08.07....30YTL....20YTL....vadeli.......itekma......tea
...4........selim.........04.07.07....90YTL....40YTL....peşin.......itekma......tea
Sub ExtractReps()
Dim s1 As Worksheet
Dim Sy As Worksheet
Dim alan As Range
Dim r As Integer
Dim c As Range
Set s1 = Sheets("VERİ")
Set alan = Range("veritabanı")
s1.Columns("C:C").Copy _
Destination:=Range("AL1")
s1.Columns("AL:AL").AdvancedFilter _
Action:=xlFilterCopy, _
CopyToRange:=Range("AJ5"), Unique:=True
r = Cells(Rows.Count, "AJ").End(xlUp).Row
Range("AL5").Value = Range("c5").Value
For Each c In Range("AJ6:AJ" & r)
s1.Range("AL6").Value = c.Value
If SAYFA(c.Value) Then
Sheets(c.Value).Cells.Clear
alan.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("VERİ").Range("AL5:AL6"), _
CopyToRange:=Sheets(c.Value).Range("A1"), _
Unique:=False
Else
Set Sy = Sheets.Add
Sy.Move After:=Worksheets(Worksheets.Count)
Sy.Name = c.Value
alan.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("VERİ").Range("AL5:AL6"), _
CopyToRange:=Sy.Range("A1"), _
Unique:=False
End If
Next
s1.Select
s1.Columns("aJ:aL").Delete
End Sub
Function SAYFA(SAYFAADI As String) As Boolean
On Error Resume Next
SAYFA = CBool(Len(Worksheets(SAYFAADI).Name) > 0)
End Function