Ercan ÖZYURT
Altın Üye
- Katılım
- 26 Eylül 2021
- Mesajlar
- 17
- Excel Vers. ve Dili
- Professional Plus 2016 Türkçe
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
1 nolu alanda yazılacak satır sayısı 5 den fazla olamıyor mu? Olursa ne olacak?
B2:B5 aralığına veri yazacak mısınız?
A19:A21 ve D19: D21 de bulunan şekillerin içine bir işlem yapacak mısınız?
Sub GörevFormuOluştur()
Dim S1 As Worksheet, S2 As Worksheet, Son As Long, Zaman As Double, Bul As Range, Kurumlar As Range
Dim Veri As Variant, Öğrenciler As Variant
Dim i%, k%, Say%, xSay%
Set S1 = Worksheets("Bilgi")
Set S2 = Worksheets("GörevFormu")
Set Bul = S1.Cells.Find("Öğrenci Ad Soyad", , xlValues, xlWhole)
If Bul Is Nothing Then MsgBox "Başlık satırı 'Öğrenci Adı Soyadı' bulunamadı": Exit Sub
Son = Bul.End(xlDown).Row
Bul.Offset(1, 0).Resize(Son - Bul.Row, 5).Sort Key1:=Bul.Offset(0, 3), Order1:=xlAscending, _
Key2:=Bul.Offset(0, 4), Order2:=xlAscending, Key3:=Bul.Offset(0, 0), Order3:=xlAscending
Veri = Bul.Offset(1, 0).Resize(Son - Bul.Row, 5).Value
Set Kurumlar = Bul.Offset(1, 4).Resize(Son - Bul.Row, 1)
For i = 1 To UBound(Veri, 1)
S2.Range("B7") = Veri(i, 5)
S2.Range("A29") = Veri(i, 4)
S2.Range("D29") = S1.Range("B3")
S2.Range("D31") = S1.Range("A3")
Say = WorksheetFunction.CountIf(Kurumlar, Veri(i, 5))
xSay = WorksheetFunction.Min(5, Say)
S2.Range("A11:E15").ClearContents
Öğrenciler = Bul.Offset(i, 0).Resize(Say, 3).Value
For k = 1 To xSay
S2.Range("A" & 10 + k) = Öğrenciler(k, 1)
S2.Range("D" & 10 + k) = Öğrenciler(k, 2)
S2.Range("E" & 10 + k) = Öğrenciler(k, 3)
Next k
S2.Range("C16") = Say
i = i + Say - 1
S2.Rows("1:32").Copy S2.Rows("35:66")
'S2.PrintOut 'Print etmek için satırın başındaki ('S2.PrintOut) tek tırnağı silmeniz yeterli
Next i
Set Bul = Nothing: Set Kurumlar = Nothing: Set S1 = Nothing: Set S2 = Nothing
End Sub
'S2.PrintOut 'Print etmek için satırın başındaki ('S2.PrintOut) tek tırnağı silmeniz yeterli
Next i
Set Bul = Nothing: Set Kurumlar = Nothing: Set S1 = Nothing: Set S2 = Nothing
End Sub
For i = 1 To UBound(Veri, 1)
S2.Range("B7") = Veri(i, 5)
S2.Range("A29") = Veri(i, 4)
' başlangıç bitiş tarihleri ilavesi.................................................
S2.Range("D28") = S1.Range("B2") & " - " & S1.Range("C2")
' ...........................................
S2.Range("D30") = S1.Range("B3") ' bu satırda D29 olan kısmı D30 yapacaksınız
S2.Range("D31") = S1.Range("A3")
Sub GörevFormuOluştur()
Dim S1 As Worksheet, S2 As Worksheet, Son As Long, Zaman As Double, Bul As Range, Kurumlar As Range
Dim Veri As Variant, Öğrenciler As Variant, FormAlanları As Range
Dim i%, k%, Say%, xSay%
Set S1 = Worksheets("Bilgi")
Set S2 = Worksheets("GörevFormu")
Set FormAlanları = S2.Range("B7:B8,A29,D28:D31,C16,A11:E15")
Set Bul = S1.Cells.Find("Öğrenci Ad Soyad", , xlValues, xlWhole)
If Bul Is Nothing Then MsgBox "Başlık satırı 'Öğrenci Adı Soyadı' bulunamadı": Exit Sub
Son = Bul.End(xlDown).Row
Bul.Offset(1, 0).Resize(Son - Bul.Row, 5).Sort Key1:=Bul.Offset(0, 3), Order1:=xlAscending, _
Key2:=Bul.Offset(0, 4), Order2:=xlAscending, Key3:=Bul.Offset(0, 0), Order3:=xlAscending
Veri = Bul.Offset(1, 0).Resize(Son - Bul.Row, 5).Value
Set Kurumlar = Bul.Offset(1, 4).Resize(Son - Bul.Row, 1)
FormAlanları.Offset(0, 0) = ""
FormAlanları.Offset(34, 0) = ""
For i = 1 To UBound(Veri, 1)
S2.Range("B7") = Veri(i, 5)
S2.Range("A29") = Veri(i, 4)
S2.Range("D28") = S1.Range("B2") & " - " & S1.Range("C2")
S2.Range("D30") = S1.Range("B3")
S2.Range("D31") = S1.Range("A3")
Say = WorksheetFunction.CountIf(Kurumlar, Veri(i, 5))
xSay = WorksheetFunction.Min(5, Say)
S2.Range("A11:E15").ClearContents
Öğrenciler = Bul.Offset(i, 0).Resize(Say, 3).Value
For k = 1 To xSay
S2.Range("A" & 10 + k) = Öğrenciler(k, 1)
S2.Range("D" & 10 + k) = Öğrenciler(k, 2)
S2.Range("E" & 10 + k) = Öğrenciler(k, 3)
Next k
S2.Range("C16") = Say
i = i + Say - 1
If i Mod 2 And i < UBound(Veri, 1) Then
S2.Rows("1:32").Copy S2.Rows("35:66")
Else
S2.PrintOut
FormAlanları.Offset(0, 0) = ""
FormAlanları.Offset(34, 0) = ""
End If
Next i
Set Bul = Nothing: Set Kurumlar = Nothing: Set S1 = Nothing: Set S2 = Nothing
End Sub
For i = 1 To UBound(Veri, 1)
S2.Range("B7") = Veri(i, 5)
S2.Range("A29") = Veri(i, 4)
S2.Range("D28") = S1.Range("B2") & " - " & S1.Range("C2")
S2.Range("D30") = S1.Range("B3")
S2.Range("D31") = S1.Range("A3")
Say = WorksheetFunction.CountIf(Kurumlar, Veri(i, 5))
xSay = WorksheetFunction.Min(5, Say)
S2.Range("A11:E15").ClearContents
Öğrenciler = Bul.Offset(i, 0).Resize(Say, 3).Value
For k = 1 To xSay
S2.Range("A" & 10 + k) = Öğrenciler(k, 1)
S2.Range("D" & 10 + k) = Öğrenciler(k, 2)
S2.Range("E" & 10 + k) = Öğrenciler(k, 3)
Next k
S2.Range("C16") = Say
i = i + Say - 1
Sayfa = Sayfa + 1
If Sayfa Mod 2 = 1 And i < UBound(Veri, 1) Then
S2.Rows("1:32").Copy S2.Rows("35:66")
FormAlanları.Offset(0, 0) = ""
Else
S2.PrintOut
FormAlanları.Offset(0, 0) = ""
FormAlanları.Offset(34, 0) = ""
End If
Next i