Vba kullanarak bir excel çalışma kitabı nasıl kapatılır?

Bir Excel dosyasını kapatmak için “Kapat” yöntemini kullanmanız gerekir. Bu yöntemle değişiklikleri kaydetmek isteyip istemediğinizi belirleyebilirsiniz. Henüz kaydedilmemiş bir dosyayı kaydedip kapatmak istiyorsanız, kapatmadan önce dosyayı kaydetmek istediğiniz yolu belirtebilirsiniz.

İşte close yönteminin sözdizimi.

 Workbook.Close (SaveChanges, FileName, RouteWorkbook)
vba ile çalışma kitabını kapatma

Çalışma kitabını kapatma adımları

  1. Kapatmak istediğiniz çalışma kitabını belirtin.
  2. Bu çalışma kitabıyla kapatma yöntemini kullanın.
  3. Kod yönteminde dosyayı kaydetmek isteyip istemediğinizi belirtin.
  4. Sonunda kapatmadan önce dosyayı kaydetmek istediğiniz yolun yolunu belirtin.

Bu derste, VBA kullanarak Excel’de bir çalışma kitabını kapatmanın farklı yollarına bakacağız.

Yararlı bağlantılar: Makro çalıştırmaMakro kaydediciVisual Basic DüzenleyiciKişisel Makrolar El Kitabı

Çalışma kitabını kaydetmeden kapatma

Aktif olan çalışma kitabını kaydetmeden kaydetmek istiyorsanız bu şekilde bir kod kullanmanız gerekmektedir.

 ActiveWorkbook.Close SaveChanges:=False

Bu kodda “SaveChanges” argümanı için “False” değerini belirttim. Dolayısıyla VBA, çalışma kitabında kaydedilmeyen herhangi bir değişiklik olup olmadığını dikkate almaz. Belirli bir çalışma kitabını kapatmak istiyorsanız o çalışma kitabının adını kullanabilirsiniz. Tıpkı aşağıdaki kod gibi.

 Workbooks("book1").Close SaveChanges:=False

Çalışma kitabında verileriniz varsa ve “Değişiklikleri Kaydet” bağımsız değişkenini göz ardı ederseniz, Excel, çalışma kitabını kaydetmek isteyip istemediğinizi onaylamak için bir iletişim kutusu görüntüler. Önemli olan şudur: isteğe bağlı olsa bile “SaveChanges” argümanını belirtmek daha iyidir.

Çalışma kitabını kaydettikten sonra kapatın

Gördüğünüz gibi CLOSE metodunda yol konumunu belirtmek için bir argüman var. Diyelim ki “Kitap6″yı masaüstündeki klasöre kaydetmek istiyorsunuz. Kullanmanız gereken kod burada.

 Workbooks("Book6").Close _ SaveChanges:=True, _ Filename:="C:UsersDellDesktopmyFoldermyFile.xlsx"

Bu kod, “Kitap6” çalışma kitabını masaüstümde “myFILE.xlsx” adı altında kayıtlı klasöre kaydedecektir. Ancak dikkat etmeniz gereken bir şey var: Zaten aynı adda bir çalışma kitabınız varsa, bu dosya yenisiyle değiştirilecektir.

Endişelenmeyin, kullanabileceğiniz bir çözüm var. Aşağıdaki kod, kullanmak istediğiniz adda bir dosya olup olmadığını kontrol eder.

 Sub vba_close_workbook() Dim wbCheck As String wbCheck = Dir("C:UsersDellDesktopmyFoldermyFile.xlsx") If wbCheck = "" Then Workbooks("Book6").Close _ SaveChanges:=True, _ Filename:="C:UsersDellDesktopmyFoldermyFile.xlsx" Else MsgBox "Error! Name already used." End If End Sub

Yorum ekle

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir