
21-10-12, 11:53
|
 | Διαχειριστής Όνομα: Τάσος Φιλοξενιδης Έκδοση λογισμικού Office: Ms-Office 365 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική | | Εγγραφή: 21-10-2009
Μηνύματα: 2.035
| |
Καλημέρα!
Γιώργο δοκίμασε: Κώδικας: Option Explicit
Sub test()
Dim wb As Workbook, wbFullName As String, wbWasOpen As Boolean
wbFullName = ThisWorkbook.Path & "\Book2.xlsm" 'Προσάρμοσε το όνομα του βιβλίου προορισμού
For Each wb In Application.Workbooks
If wb.FullName = wbFullName Then
wbWasOpen = True
Exit For
End If
Next
If wb Is Nothing Then Set wb = ThisWorkbook
On Error GoTo ExitHere
If wb.FullName <> wbFullName Then
Workbooks.Open Filename:=wbFullName, ReadOnly:=False
End If
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False
Set wb = ActiveWorkbook
' Στην παρακάτω γραμμή προσάρμοσε τα ονόματα των φύλλων και τις διευθύνσεις των περιοχών των 2 βιβλίων.
' Οι διευθύνσεις των περιοχών των 2 βιβλίων μπορούν να διαφέρουν αλλά
' οι στήλες και οι γραμμές πρέπει να έχουν το ίδιο πλήθος.
wb.Sheets("Αρχική").Range("A1:G100").Value = ThisWorkbook.Sheets("Sheet1").Range("A1:G100").Value
If wbWasOpen Then
wb.Save
wb.Close
End If
ExitHere:
If Err <> 0 Then MsgBox Err & vbLf & Err.Description
.Calculation = xlCalculationAutomatic
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub
Ο κώδικας αυτός κλείνει το βιβλίο προορισμού μετά από τη μεταφορά δεδομένων μόνο αν το βιβλίο ήταν κλειστό πριν την εκτέλεση της μακροεντολής.
Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |