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,
excel de yeniyim. Ama beni iyi sardı.
Makrolarla uğraşıyorum.
Basit makrolar üzerinde değişiklik yaparak mantığını çözmeye çalışıyorum. Ama hiç yardımsız olmuyor.
Sizden ricam şu makrodaki anlamadıklarımı açıklayabilir misiniz?
AYRICA MAKROLARIN AÇIKLANDIĞI BİR KİTAP, CD VB. ÖNEREBİLİR MİSİNİZ?
Şimdiden teşekkürler!!!
Örneğin;
Aşağıdaki makro, aktif olan sütuna göre diğer sütunlarla birlikte satırları sıralıyor.
Mesela; If (C3) başlangıç noktası mı? Yanındaki 1 Then neyi ifade ediyor?
Range(Cells(4, E) deki 4 ve E neyi ifade ediyor?
Cells(10, "K")) daki 10 ve K neyi ifade ediyor? K niçin tırnak içinde? Değişmez olduğunu mu gösteriyor?
Key olarak verilen (4,SÜTUN) ve Order1=xlAscending ifadesindeki xlAscending kavramının anlamı nedir?
xlDescending nedir?
Bunları yazarken de işin doğrusu, bu tip soruların forumun kurallarına uyup uymadığını düşünyorum. Umarım yanlış yapmamışımdır.
Ama bazılarını öğrenirsem oradan yararlanarak başkalarını da ben çözebileceğime inanıyorum.
Sub SIRALA()
SÜTUN = ActiveCell.Column
If [C3] = 1 Then
Range(Cells(4, "E"), Cells(10, "K")).Sort Key1:=Cells(4, SÜTUN), Order1:=xlAscending
Else
Range(Cells(4, "E"), Cells(10, "K")).Sort Key1:=Cells(4, SÜTUN), Order1:=xlDescending
End If
End Sub
Arkadaşlar biraz fazla oluyorum galiba ama yine de aşağıdaki makroyu da yazıyorum.
Açıklanması konusunda yardımlarınızı bekliyorum.
Public Sub Aktar()
j = 1
Aranan = InputBox("Aktarılacak Değeri Giriniz :")
If Aranan = "" Or False Then Exit Sub
Aranan = UCase(Aranan)
Range("D2:E65536").ClearContents
For i = 1 To [A65536].End(3).Row
If UCase(Cells(i, "B")) = Aranan Then
j = j + 1
Cells(j, "D") = Aranan
Cells(j, "E") = Cells(i, "A")
End If
Next i
End Sub
sub dağıt()
satır = 1
satır2 = WorksheetFunction.CountA(Range("A:A"))
For i = 1 To satır2
If Cells(i, 2) = "ALP" Then
satır = satır + 1
Cells(satır, 4) = "ALP"
Cells(satır, 5) = Cells(i, 2).Offset(0, -1)
End If
Next
end sub
ARKADAŞLAR AYNI ÇALIŞMA KİTABI İÇİNDE BİRDEN FAZLA MAKRO KULLANILABİLİR Mİ? KULLANILABİLİRSE MODÜL İÇİNE İKİ MAKROYU DA ALT ALTA YAZMAK YETERLİ Mİ? YOKSA BAŞKA BİR İŞLEM YAPMAK GEREKİYOR MU?
excel de yeniyim. Ama beni iyi sardı.
Makrolarla uğraşıyorum.
Basit makrolar üzerinde değişiklik yaparak mantığını çözmeye çalışıyorum. Ama hiç yardımsız olmuyor.
Sizden ricam şu makrodaki anlamadıklarımı açıklayabilir misiniz?
AYRICA MAKROLARIN AÇIKLANDIĞI BİR KİTAP, CD VB. ÖNEREBİLİR MİSİNİZ?
Şimdiden teşekkürler!!!
Örneğin;
Aşağıdaki makro, aktif olan sütuna göre diğer sütunlarla birlikte satırları sıralıyor.
Mesela; If (C3) başlangıç noktası mı? Yanındaki 1 Then neyi ifade ediyor?
Range(Cells(4, E) deki 4 ve E neyi ifade ediyor?
Cells(10, "K")) daki 10 ve K neyi ifade ediyor? K niçin tırnak içinde? Değişmez olduğunu mu gösteriyor?
Key olarak verilen (4,SÜTUN) ve Order1=xlAscending ifadesindeki xlAscending kavramının anlamı nedir?
xlDescending nedir?
Bunları yazarken de işin doğrusu, bu tip soruların forumun kurallarına uyup uymadığını düşünyorum. Umarım yanlış yapmamışımdır.
Ama bazılarını öğrenirsem oradan yararlanarak başkalarını da ben çözebileceğime inanıyorum.
Sub SIRALA()
SÜTUN = ActiveCell.Column
If [C3] = 1 Then
Range(Cells(4, "E"), Cells(10, "K")).Sort Key1:=Cells(4, SÜTUN), Order1:=xlAscending
Else
Range(Cells(4, "E"), Cells(10, "K")).Sort Key1:=Cells(4, SÜTUN), Order1:=xlDescending
End If
End Sub
Arkadaşlar biraz fazla oluyorum galiba ama yine de aşağıdaki makroyu da yazıyorum.
Açıklanması konusunda yardımlarınızı bekliyorum.
Public Sub Aktar()
j = 1
Aranan = InputBox("Aktarılacak Değeri Giriniz :")
If Aranan = "" Or False Then Exit Sub
Aranan = UCase(Aranan)
Range("D2:E65536").ClearContents
For i = 1 To [A65536].End(3).Row
If UCase(Cells(i, "B")) = Aranan Then
j = j + 1
Cells(j, "D") = Aranan
Cells(j, "E") = Cells(i, "A")
End If
Next i
End Sub
sub dağıt()
satır = 1
satır2 = WorksheetFunction.CountA(Range("A:A"))
For i = 1 To satır2
If Cells(i, 2) = "ALP" Then
satır = satır + 1
Cells(satır, 4) = "ALP"
Cells(satır, 5) = Cells(i, 2).Offset(0, -1)
End If
Next
end sub
ARKADAŞLAR AYNI ÇALIŞMA KİTABI İÇİNDE BİRDEN FAZLA MAKRO KULLANILABİLİR Mİ? KULLANILABİLİRSE MODÜL İÇİNE İKİ MAKROYU DA ALT ALTA YAZMAK YETERLİ Mİ? YOKSA BAŞKA BİR İŞLEM YAPMAK GEREKİYOR MU?