• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Eğer sayfa varsa sil komutu

  • Konbuyu başlatan Konbuyu başlatan hmtstc
  • Başlangıç tarihi Başlangıç tarihi
Katılım
20 Şubat 2014
Mesajlar
315
Excel Vers. ve Dili
Excel 2016 - Türkçe
Merhaba arkadaşlar,

Sizler sayesinde şu an çok daha güzel makrolar yazıyorum.
Ama çok amatörüm daha çok yolum var :)

İçinden çıkamadığım iki nokta var o da şu;

Bir sayfam var Sheet1 adında
istiyorum ki makroyu çalıştırdığımda eğer Sheet1 varsa o sayfayı silsin eğer yoksa normal makroyu çalıştırmaya devam etsin.

Bununla ilgili nasıl bir kod yazmam lazım ?

İkinci sorumda şu;
Makroyu çalıştırırken bir kutucuk açılsın oraya 1 - 2 - 3 sayılarından birini gireceğiz. Girdiğimiz bu sayıyı "a" olarak tanımlayacağım ve başka yerde kullanacağım.

Bu kutuyu nasıl yapabilirim hangi komutu kullanmam gerek. Combobox ile listbox ile falan denedim ama beceremedim.

Yardımcı olabilirseniz çok minnettar olacağım.

Şimdiden elinize sağlık...
 
Merhabalar hmtstc ; sayfa silmek için kodun en başını şu şekilde düzenleyebilirsiniz

Kod:
Sub sil()
  Dim SAYFA As Worksheet
    
    For Each SAYFA In ThisWorkbook.Worksheets
        If SAYFA.Name = "[COLOR="Red"]Sayfa1[/COLOR]" Then
                Application.DisplayAlerts = False
                SAYFA.Delete
            End If
            Next
    Application.DisplayAlerts = True
End Sub

Kırmızı ile işaretlediğim yerde sayfa ismini belirtebilirsiniz.

2- Kutucuk açılmasını istediğiniz kısımda makronun tam o bölümünde a olarak tanımlayacağınız sayıyı
Kod:
Dim a As Variant
a = InputBox("Lütfen Değer Giriniz", "TEGCreative",)
bu şekilde inputbox olarak belirleyebilirsiniz.
 
2. ye alternatif olarak ekleme

Kod:
Sub saygir()
   
   a = InputBox("1,2,3 sayılarından birini girin.")
   If a = "1" Or a = "2" Or a = "3" Then
    'girilen sayı 1,2,3 den biri ise işlemleri yap
   
   End If
   
End Sub
 
Merhaba;
Boş bir modüle;

Sub sayfayı_sil()
Application.ScreenUpdating = False
On Error Resume Next
Application.DisplayAlerts = False

'silme işlemi
For i = 1 To Worksheets.Count
If Worksheets(i).Name = "Sheet1" Then
Worksheets(i).Delete
End If
Next i
'silme işlem sonu

'input ile sayı ve atanacak değeri alarak sayfaya yazma
sayısal = InputBox("Sayısal Seçeneği giriniz?", "Sayısal giriş")
Range("A1").Value = sayısal
atama = InputBox("Hangi değere atamak istiyorsunuz?", "iki karakterli sözel")
Sheets("Sayfa1").Range("a1").Select
Range("A1").Select
ActiveWorkbook.Names.Add Name:=atama, RefersToR1C1:="=Sayfa1!R1C1"
Range("A1").Select
'input işlem sonu

Application.DisplayAlerts = True
End Sub

Kodlarını ekleyerek deneyin.
İlk bölüm silme işlemini yapar.
İkinci bölümde ise input ile önce sayısal değer sonra atanacak değişken adı alınır. Alınan değer A1 hücresine yazılır , A1 hücre adı atama değeri olarak tanımlanır.

İyi çalışmalar.
 
yardımınız için teşekkürler sizler sayesinde hallettim çok sağolun arkadaşlar
 
Geri
Üst