- Katılım
- 29 Mayıs 2008
- Mesajlar
- 81
- Excel Vers. ve Dili
- 2007
B kolnunda resimler olan birden fazla personel çalışma sayfalarım var.
3 ayrı excel sayfası.
Bu üç ayrı excel tek sayfaya topladığımda filitre uygulandığında filitre uygulanan veriye göre ya en alt kısma yada ilk satır resminin üzerine diğer hücredeki resimleri topluyor.
bu konuda ne yapıla bilir.
birleştirilen sayfalarda resim varsa filitre sonrası filitre dışında kalan resimler üst üste son satırda toplanıyor.
bu vba kodu sitede bulmuştum, ama sonuç alamadım.
Sub sayfabirlestir()
Dim yol As String, dosya As String
Dim syf As Worksheet, kop As Range, yap As Integer
Dim bas As Range, bit As Range
Application.ScreenUpdating = False
yol = ThisWorkbook.Path & "\"
dosya = Dir(yol & "*.xls")
Do
If dosya = ThisWorkbook.Name Then GoTo a:
Workbooks.Open yol & dosya
ThisWorkbook.Activate
For Each syf In Workbooks(dosya).Worksheets
Set bas = Workbooks(dosya).Worksheets(syf.Name).Range("A2")
Set bit = Workbooks(dosya).Worksheets(syf.Name).Range("A1").SpecialCells(xlCellTypeLastCell)
yap = ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Row + 1
Set kop = Workbooks(dosya).Worksheets(syf.Name).Range(bas, bit)
kop.Copy Range("A" & yap)
Next syf
Workbooks(dosya).Close False
a:
dosya = Dir
Loop Until dosya = ""
Application.ScreenUpdating = True
End Sub
3 ayrı excel sayfası.
Bu üç ayrı excel tek sayfaya topladığımda filitre uygulandığında filitre uygulanan veriye göre ya en alt kısma yada ilk satır resminin üzerine diğer hücredeki resimleri topluyor.
bu konuda ne yapıla bilir.
birleştirilen sayfalarda resim varsa filitre sonrası filitre dışında kalan resimler üst üste son satırda toplanıyor.
bu vba kodu sitede bulmuştum, ama sonuç alamadım.
Sub sayfabirlestir()
Dim yol As String, dosya As String
Dim syf As Worksheet, kop As Range, yap As Integer
Dim bas As Range, bit As Range
Application.ScreenUpdating = False
yol = ThisWorkbook.Path & "\"
dosya = Dir(yol & "*.xls")
Do
If dosya = ThisWorkbook.Name Then GoTo a:
Workbooks.Open yol & dosya
ThisWorkbook.Activate
For Each syf In Workbooks(dosya).Worksheets
Set bas = Workbooks(dosya).Worksheets(syf.Name).Range("A2")
Set bit = Workbooks(dosya).Worksheets(syf.Name).Range("A1").SpecialCells(xlCellTypeLastCell)
yap = ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Row + 1
Set kop = Workbooks(dosya).Worksheets(syf.Name).Range(bas, bit)
kop.Copy Range("A" & yap)
Next syf
Workbooks(dosya).Close False
a:
dosya = Dir
Loop Until dosya = ""
Application.ScreenUpdating = True
End Sub
