- Katılım
- 28 Mart 2011
- Mesajlar
- 46
- Excel Vers. ve Dili
- Excel 2016 Türkçe
- Altın Üyelik Bitiş Tarihi
- 19-03-2022
Herkese iyi günler iyi çalışmalar;
İlk yorumda göndereceğim makro kodunda şu şekilde
( Run-time error ‘1004’:
application-defined or object-defined error)
hata almaktayım. Daha doğrusu kod ana bilgisayarda sorunsuz çalışıyor, Başka bilgisayarda bu hatayı veriyor.
Makro Kodunun; bu satırında
If Picture.TopLeftCell.Row >= 1 And Picture.TopLeftCell.Row <= 4 Then
Picture.Delete
Bu sorunu nasıl çözebilirim başka bilgisayarlarda bu sorunla karşılaşmamak İçin. Şimdiden teşekkür ederim...
Sub Dosyayi_Makrosuz_Formulsuz_Farkli_Kaydet()
Dim Aktif_Dosya As Workbook, Sayfa As Worksheet, Yeni_Dosya As Workbook
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False
.DisplayAlerts = False
End With
Set Aktif_Dosya = ThisWorkbook
For Each Sayfa In Aktif_Dosya.Worksheets
Sayfa.Unprotect "12345"
Next
Aktif_Dosya.Sheets.Copy
Set Yeni_Dosya = ActiveWorkbook
For Each Sayfa In Yeni_Dosya.Worksheets
With Sayfa
.Select
.Cells.Copy
.Cells.PasteSpecial xlPasteValues
.Cells.Replace 0, "", xlWhole
Dim Picture As Object
For Each Picture In ActiveSheet.Shapes
If Picture.TopLeftCell.Row >= 1 And Picture.TopLeftCell.Row <= 4 Then
Picture.Delete
End If
Next Picture
.Range("A1").Select
End With
Next
Sheets(1).Select
Yeni_Dosya.Sheets(Array("İSİM VERİ GİRİŞ", "FAALİYET TOPLAM", "KGİRİŞ", "KANALİZ", "CEKRANI", "SGİRİŞ", "GÜGİRİŞ", "LİSTE", "DOĞRULAMA", "ANA SAYFA FİHRİST")).Delete
Yeni_Dosya.SaveAs Aktif_Dosya.Path & Application.PathSeparator & CreateObject("Scripting.FileSystemObject").GetBaseName(Aktif_Dosya.Name), 51
Yeni_Dosya.Close
For Each Sayfa In Aktif_Dosya.Worksheets
Sayfa.Protect "12345"
Next
Set Yeni_Dosya = Nothing
Set Aktif_Dosya = Nothing
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
.DisplayAlerts = True
End With
MsgBox "İşlem Tamamlanmış, İşlemi Yaptığınız Yere Formülsüz Olarak Kopyalanmıştır...", vbInformation
End Sub
[/CODE]
İlk yorumda göndereceğim makro kodunda şu şekilde
( Run-time error ‘1004’:
application-defined or object-defined error)
hata almaktayım. Daha doğrusu kod ana bilgisayarda sorunsuz çalışıyor, Başka bilgisayarda bu hatayı veriyor.
Makro Kodunun; bu satırında
If Picture.TopLeftCell.Row >= 1 And Picture.TopLeftCell.Row <= 4 Then
Picture.Delete
Bu sorunu nasıl çözebilirim başka bilgisayarlarda bu sorunla karşılaşmamak İçin. Şimdiden teşekkür ederim...
Sub Dosyayi_Makrosuz_Formulsuz_Farkli_Kaydet()
Dim Aktif_Dosya As Workbook, Sayfa As Worksheet, Yeni_Dosya As Workbook
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False
.DisplayAlerts = False
End With
Set Aktif_Dosya = ThisWorkbook
For Each Sayfa In Aktif_Dosya.Worksheets
Sayfa.Unprotect "12345"
Next
Aktif_Dosya.Sheets.Copy
Set Yeni_Dosya = ActiveWorkbook
For Each Sayfa In Yeni_Dosya.Worksheets
With Sayfa
.Select
.Cells.Copy
.Cells.PasteSpecial xlPasteValues
.Cells.Replace 0, "", xlWhole
Dim Picture As Object
For Each Picture In ActiveSheet.Shapes
If Picture.TopLeftCell.Row >= 1 And Picture.TopLeftCell.Row <= 4 Then
Picture.Delete
End If
Next Picture
.Range("A1").Select
End With
Next
Sheets(1).Select
Yeni_Dosya.Sheets(Array("İSİM VERİ GİRİŞ", "FAALİYET TOPLAM", "KGİRİŞ", "KANALİZ", "CEKRANI", "SGİRİŞ", "GÜGİRİŞ", "LİSTE", "DOĞRULAMA", "ANA SAYFA FİHRİST")).Delete
Yeni_Dosya.SaveAs Aktif_Dosya.Path & Application.PathSeparator & CreateObject("Scripting.FileSystemObject").GetBaseName(Aktif_Dosya.Name), 51
Yeni_Dosya.Close
For Each Sayfa In Aktif_Dosya.Worksheets
Sayfa.Protect "12345"
Next
Set Yeni_Dosya = Nothing
Set Aktif_Dosya = Nothing
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
.DisplayAlerts = True
End With
MsgBox "İşlem Tamamlanmış, İşlemi Yaptığınız Yere Formülsüz Olarak Kopyalanmıştır...", vbInformation
End Sub
[/CODE]