Makro konusunda daha yeniyim.Sayın V.Basic For Applications tarafından hazırlanan makroda ana sayfada opr no satırındaki değerlerden aktarma yapmak istiyorum. Buradaki değeler sayı olduğu için sayfa adınıda sayı olarak verdiğimde aktarma yapmıyor. Diğer harf yazılı sütunları ayırıyor. Makroda nasıl bir değişiklik gerekir. Makroda aşağıda. Örnek sayfada ekledim.
If Cells(i, 10).Value = Sheets(z).Name Then
Bu satırda 11 deki değerleri aktarıyor. Ama 10 yazdığımda aktarma yapmıyor.
Sub aktar()
Set s1 = Sheets("anasayfa")
For i = 2 To Sheets.Count
Sheets(i).Range("a2:w5000").Clear
For say = 2 To Sheets.Count
s1.[a3:v3].Copy
Sheets(say).[a1].PasteSpecial
Next
For bak = 4 To s1.[h65536].End(3).Row
If Sheets(i).Name = Range("h" & bak).Value Then
Range(s1.Range("h" & bak).Offset(0, -7), s1.Range("h" & bak).Offset(0, 14)).Copy
s = WorksheetFunction.CountA(Sheets(i).[a1:a65536])
Sheets(i).Range("a" & s + 1).PasteSpecial
End If
Next
Next
Application.CutCopyMode = False
End Sub
Sub sayfayaAktar()
For z = 2 To Sheets.Count
Sheets(z).[a2:ae5000].ClearContents
For i = 2 To [a65536].End(3).Row
w = Sheets(z).[a65536].End(3).Row + 1
If Cells(i, 10).Value = Sheets(z).Name Then
Sheets(z).Rows(w).Value = Sheets("anasayfa").Rows(i).Value
End If
Next
Next
'Call duzen
End Sub
Sub duzen()
For x = 2 To Worksheets.Count
Worksheets(x).Select
Columns("A:z").Select
Selection.Columns.AutoFit
[a1].Select
Next
Sheets("anasayfa").Select
[a1].Select
End Sub
If Cells(i, 10).Value = Sheets(z).Name Then
Bu satırda 11 deki değerleri aktarıyor. Ama 10 yazdığımda aktarma yapmıyor.
Sub aktar()
Set s1 = Sheets("anasayfa")
For i = 2 To Sheets.Count
Sheets(i).Range("a2:w5000").Clear
For say = 2 To Sheets.Count
s1.[a3:v3].Copy
Sheets(say).[a1].PasteSpecial
Next
For bak = 4 To s1.[h65536].End(3).Row
If Sheets(i).Name = Range("h" & bak).Value Then
Range(s1.Range("h" & bak).Offset(0, -7), s1.Range("h" & bak).Offset(0, 14)).Copy
s = WorksheetFunction.CountA(Sheets(i).[a1:a65536])
Sheets(i).Range("a" & s + 1).PasteSpecial
End If
Next
Next
Application.CutCopyMode = False
End Sub
Sub sayfayaAktar()
For z = 2 To Sheets.Count
Sheets(z).[a2:ae5000].ClearContents
For i = 2 To [a65536].End(3).Row
w = Sheets(z).[a65536].End(3).Row + 1
If Cells(i, 10).Value = Sheets(z).Name Then
Sheets(z).Rows(w).Value = Sheets("anasayfa").Rows(i).Value
End If
Next
Next
'Call duzen
End Sub
Sub duzen()
For x = 2 To Worksheets.Count
Worksheets(x).Select
Columns("A:z").Select
Selection.Columns.AutoFit
[a1].Select
Next
Sheets("anasayfa").Select
[a1].Select
End Sub
Son düzenleme: