• DİKKAT

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

Makroya giriş temel sorular

Katılım
28 Ocak 2015
Mesajlar
41
Excel Vers. ve Dili
Excel 2010
Merhaba,

Makro konusunda yeniyim, o yüzden sorularımı şimdiden maruz görün:)

Ekteki dosyada sırasıyla
1. Tüm sheetleri seçmek istiyorum
2. Daha sonrasında formülden kurtarmak adına tüm hücreleri seçip value olarak yapıştırmak istiyorum.( formülden kurtarmanın başka bir yolu varsa o da olabilir)
3. İlk 4 sheeti silmek istiyorum. (Sadece "2016 sonuç" sheeti kalsın istiyorum)

Bu adımları sırayla nasıl yapabiliriz, anneye anlatır gibi açıklayabilir misiniz?:)

Record macro ile oluyor ama doğru/yalın kod yazım şekli nedir onu merak ediyorum öğrenmek adına.

Çok teşekkürler şimdiden
 

Ekli dosyalar

Aşağıdaki kodlar belirttiğiniz işlemleri yapıyor anladığım kadarıyla:
Kod:
Sub işlem()
For i = 1 To Sheets.Count
    Sheets(i).Select
    Sheets(i).UsedRange.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Next
For j = 1 To Sheets.Count
    If Sheets(j).Name <> "2016 sonuç" Then Sheets(j).Delete
Next

End Sub
 
Teşekkürler,
Bu Workbookta çalışıyor, ama başka bir workboota aynı mantıkta sheets.count paste value yaptığımda runtime error 1004 hatası alıyorum, neden olabilir?
 
Kod aşağıdaki gibi saha doğru oldu:
Kod:
Sub işlem()

sayfa = Sheets.Count 'Sayfa sayısını bulma

For i = 1 To sayfa 'Tüm sayfalarda kopyalama ve değerleri yapıştırma döngüsü
    Sheets(i).Select
    Sheets(i).UsedRange.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Next

For j = 1 To sayfa '2016 sonuç sayfasını en sona taşıma
    If Sheets(j).Name = "2016 sonuç" Then Sheets(j).Move after:=Sheets(sayfa)
    j = sayfa
Next

For k = sayfa - 1 To 1 Step -1 'Sondan geriye doğru diğer sayfaları silme döngüsü
    If Sheets(k).Name <> "2016 sonuç" Then Sheets(k).Delete
Next

End Sub
 
CheckBox ile Hücre içindeki yazının rengini değiştirme

Arkadaşlar,

bir checkbox kutusu attım activeX'ten bu checkbox ın içine kod yazmaya çalıştım ama beceremedim.

Checkbox işaretli ise A10 hücresinin siyah olsun. İşaretli değil ise Gri olsun istedim.

Yardımcı olursanız sevinirim.

(buarada konuyu acacakta yer bulamadım:( )
 
Teşekkürler yalnız delete işleminde hata veriyor.
"Delete method of worksheet class failed" diyor. error 1004 yine.
 
Teşekkürler yalnız delete işleminde hata veriyor.
"Delete method of worksheet class failed" diyor. error 1004 yine.

Benim denememde herhangi bir hata vermedi. Hatalı halini yükleyin inceleyelim.
 
Arkadaşlar,

bir checkbox kutusu attım activeX'ten bu checkbox ın içine kod yazmaya çalıştım ama beceremedim.

Checkbox işaretli ise A10 hücresinin siyah olsun. İşaretli değil ise Gri olsun istedim.

Yardımcı olursanız sevinirim.

(buarada konuyu acacakta yer bulamadım:( )

Aşağıdaki kodu onay kutusunun kod bölümüne yapıştırıp deneyin:

Kod:
Private Sub CheckBox1_Click()
    If CheckBox1 = True Then
        Range("A10").Interior.ColorIndex = 1
    Else
        Range("A10").Interior.ColorIndex = 16
    End If
End Sub
 
boyut fazla olduğu için eklememiş, datayı ve makroyu kaldırdım, dosya ekte.
 

Ekli dosyalar

Bu kodu başka dosyalara aynen kopyalıyorum ve düzgün olarak çalışıyor. Ancak sizin dosyanızda nedense daha ilk satırda Worksheet sınıfının select özelliği çalışmıyor uyarısı veriyor. Bilemedim.
 
Geri
Üst