mcetinkaya65
Altın Üye
- Katılım
- 1 Mart 2011
- Mesajlar
- 490
- Excel Vers. ve Dili
- 2021 türkçe
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub KOD()
Dim SD As Worksheet: Set SD = Sheets("Giderler")
Dim SO As Worksheet: Set SO = Sheets("Toplu Ödemeler")
Dim liste(), dizi()
Son = SD.Cells(Rows.Count, "C").End(3).Row
liste = SD.Range("C4:D" & Son).Value
Set dic = CreateObject("scripting.dictionary")
For x = 1 To UBound(liste, 1)
aranan = liste(x, 1)
If Not dic.exists(aranan) Then
dic.Add aranan, ""
End If
Next x
SO.Range("C:C").ClearContents
SO.Range("C1") = "Kime Ödendiği"
SO.Range("C2").Resize(dic.Count, 1) = Application.Transpose(dic.keys)
Son2 = SO.Cells(Rows.Count, "C").End(3).Row
So.Range("C2:C" & Son2).Sort So.Range("C1"), xlAscending
MsgBox "B i t t i"
End Sub
Sub hafız()
Set s1 = Sheets("Giderler")
Set s2 = Sheets("Toplu Ödemeler")
son1 = s1.Cells(Rows.Count, "C").End(3).Row
s1.Range("C3 :C" & son1).Copy: s2.[K1].PasteSpecial Paste:=xlValues
s2.Range("$K$1:$K$" & son1).RemoveDuplicates Columns:=1, Header:=xlYes
son2 = s2.Cells(Rows.Count, "K").End(3).Row
s2.Sort.SortFields.Add Key:=Range("K2:K" & son2), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With s2.Sort
.SetRange Range("K1:K" & son2)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
s2.Range("K2:K" & son2).Copy: s2.[C2].PasteSpecial Paste:=xlValues
s2.Columns("K").Delete
[C1].Select
End Sub
Sub hafız()
Set s1 = Sheets("Giderler")
Set s2 = Sheets("Toplu Ödemeler")
son1 = s1.Cells(Rows.Count, "C").End(3).Row
s1.Range("C3 :C" & son1).Copy: s2.[K1].PasteSpecial Paste:=xlValues
s2.Range("$K$1:$K$" & son1).RemoveDuplicates Columns:=1, Header:=xlYes
son2 = s2.Cells(Rows.Count, "K").End(3).Row
s2.Sort.SortFields.Add Key:=Range("K2:K" & son2), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With s2.Sort
.SetRange Range("K1:K" & son2)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
s2.Range("K2:K" & son2).Copy: s2.[C2].PasteSpecial Paste:=xlValues
s2.Columns("K").Delete
[C1].Select
End Sub
[FONT="Arial Narrow"]Sub ALFABETİK_BENZERSİZ()
Set tod = Sheets("Toplu Ödemeler"): Set gid = Sheets("Giderler")
tod.Range("C:C").ClearContents
gid.Range("C3:C" & gid.Cells(65536, 3).End(3).Row).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=tod.[C1], Unique:=True
tod.Range("C2:C" & tod.[C65536].End(3).Row).Sort tod.Range("C1"), xlAscending
tod.[C1] = "Kime Ödendiği": MsgBox "İŞLEM TAMAM..."
End Sub[/FONT]
. . .Faydalandığım bu güzel soruya yardım eden herkese teşekkür ederim.
Bu listelemeyi bir kritere bağlamak mümkün müdür?
Örneğin D sütununda bu ödemelerin türü yer alsın. (Gelir-Gider şeklinde.)
Ben sadece karşısında gelir yazanları bu şekilde sıralamak istiyorum.
Sub KOD()
Dim SD As Worksheet: Set SD = Sheets("Giderler")
Dim SO As Worksheet: Set SO = Sheets("Toplu Ödemeler")
Dim liste(), dizi()
Son = SD.Cells(Rows.Count, "C").End(3).Row
liste = SD.Range("C4:D" & Son).Value
Set dic = CreateObject("scripting.dictionary")
For x = 1 To UBound(liste, 1)
[B] If UCase(Replace(Replace(liste(x, 2), "ı", "I"), "i", "İ")) = "GELİR" Then[/B]
aranan = liste(x, 1)
If Not dic.exists(aranan) Then
dic.Add aranan, ""
End If
[B] End If[/B]
Next x
SO.Range("C:C").ClearContents
SO.Range("C1") = "Kime Ödendiği"
[B] If dic.Count > 0 Then[/B]
SO.Range("C2").Resize(dic.Count, 1) = Application.Transpose(dic.keys)
[B] End If[/B]
Son2 = SO.Cells(Rows.Count, "C").End(3).Row
SO.Range("C2:C" & Son2).Sort SO.Range("C1"), xlAscending
MsgBox "B i t t i"
End Sub
Sub denemem()
Sayfa2.Range("c2:c1000").ClearContents
Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=yes"""
sorgu = "select distinct [Alınan Yer] from [giderler$c3:c1000] where [Alınan Yer] <>'' "
Set rs = con.Execute(sorgu)
Sayfa2.Range("c2").CopyFromRecordset rs
End Sub
. . .@Emir Hüseyin Çoban Beye tekrar teşekkür ederek bir maruzatımı daha belirtmek istiyorum.
Ekteki dosyada olduğu gibi Gelirler sütunum C'de ama isimlerin olduğu sütun L'de. C ve D yanyana iken sorun yok ama sütunlar birbirine ters olunca işler karıştı. Çok kurcaladım ama beceremedim.
Yardımcı olursanız sevinirim.
Sub Gelirler()
Dim SD As Worksheet: Set SD = Sheets("Giderler")
Dim SO As Worksheet: Set SO = Sheets("Toplu Ödemeler")
Dim liste(), dizi()
Son = SD.Cells(Rows.Count, "L").End(3).Row
liste = SD.Range("C4:L" & Son).Value
Set dic = CreateObject("scripting.dictionary")
For x = 1 To UBound(liste, 1)
If UCase(Replace(Replace(liste(x, 1), "ı", "I"), "i", "İ")) = "GELİR" Then
aranan = liste(x, 10)
If Not dic.exists(aranan) Then
dic.Add aranan, ""
End If
End If
Next x
SO.Range("C:C").ClearContents
SO.Range("C1") = "Gelirler"
If dic.Count > 0 Then
SO.Range("C2").Resize(dic.Count, 1) = Application.Transpose(dic.keys)
End If
Son2 = SO.Cells(Rows.Count, "C").End(3).Row
SO.Range("C2:C" & Son2).Sort SO.Range("C1"), xlAscending
MsgBox "B i t t i"
End Sub
aranan = [B]UCase(Replace(Replace(liste(x, [COLOR="DarkRed"]10[/COLOR]), "ı", "I"), "i", "İ"))[/B]
. . .Büyük harf küçük harf görme durumu
aranan = UCase(Replace(Replace(liste(x, [B][COLOR="DarkRed"]1[/COLOR][/B]), "ı", "I"), "i", "İ"))