Makro Kod Listesi
Excel de kullanılan Makro Kodlarının Listesi


excel userformu'nu exe yapmak

ID : 841
ISLEM : excel userformu'nu exe yapmak
MAKRO KODU : Yapmanız gereken hazırladığınız UserForm'u ve ilişkili modülleri File menüsünden Export etmek ve daha sonra Visual Basic'i açarak Import etmeniz yeterli olacaktır. Artık File menüsünden Make Exe komutunu tıklayarak exe halinde derleyebilirsiniz.

excel uygulamasındaki eklentileri a1 den itibaren listeler

ID : 842
ISLEM : excel uygulamasındaki eklentileri a1 den itibaren listeler
MAKRO KODU : Sub AddIns() Dim AI As AddIn i = 1 For Each AI In Application.AddIns Range("A" & i) = AI.FullName i = i + 1 Next End Sub

excel versiyon bulucu

ID : 843
ISLEM : excel versiyon bulucu
MAKRO KODU : Sub VersionBulucu() If Application.Version Like "*7*" Then MsgBox "Office-Version = 95" ElseIf Application.Version Like "*8*" Then MsgBox "Office-Version = 97" ElseIf Application.Version Like "*9" Then MsgBox "Office-Version = 2000" ElseIf Application.Version Like "10*" Then MsgBox "Office-Version = XP" Else MsgBox "Version bulunamadı", vbCritical End If End Sub

excel versiyonunu öğrenme

ID : 844
ISLEM : excel versiyonunu öğrenme
MAKRO KODU : Function fGetExcelVer() As Integer If Application.Version Like "*5*" Then fGetExcelVer = 5 ElseIf Application.Version Like "*7*" Then fGetExcelVer = 7 Else fGetExcelVer = 8 End If End Function Sub PerVersion() MsgBox Application.Version Select Case Left(Application.Version, 1) Case "5" MsgBox "TEBRİKLER Excel 5" Case "7" MsgBox "TEBRİKLER Excel 7/95" Case "8" MsgBox "TEBRİKLER Excel 8/97" Case Else MsgBox "TEBRİKLER Excel- Version" End Select ThisWorkbook.Activate End Sub

excel yardımıcısına mesaj yazdırma

ID : 845
ISLEM : excel yardımıcısına mesaj yazdırma
MAKRO KODU : Sub assist() Application.Assistant.Visible = True Assistant.Animation = msoAnimationIdle Set SB = Assistant.NewBalloon SB.Animation = msoAnimationCheckingSomething SB.BalloonType = msoBalloonTypeButtons SB.Heading = " M E R H A B A! ! ! " SB.Text = _ "Selam Mahmut KARDEŞ" If SB.Show = msoBalloonButtonOK Then Assistant.Visible = False End If End Sub

excel'de "veya"

ID : 846
ISLEM : excel'de "veya"
MAKRO KODU : If Cells(x, 4).Value = "AGR" or Cells(x, 4).Value = "DAL" Then

excelde birleştirilmiş hücreleri makro ile ayirma

ID : 847
ISLEM : excelde birleştirilmiş hücreleri makro ile ayirma
MAKRO KODU : Cells.MergeCells = False

excelde büyük küçük harf

ID : 848
ISLEM : excelde büyük küçük harf
MAKRO KODU : Private Sub Worksheet_Change(ByVal Target As Range) Target = BH(Target) End Sub Function BH(cevir) BH = Replace(cevir, "i", "İ") BH = Replace(BH, "ı", "I") BH = UCase(BH) End Function

excelde herhangi bir hücrenin içindeyken sağ klik yaptiğimda "yazdir" komutu çiksin istiyorum

ID : 849
ISLEM : excelde herhangi bir hücrenin içindeyken sağ klik yaptiğimda "yazdir" komutu çiksin istiyorum
MAKRO KODU : Sub SpecialCellMenu() Dim cb As CommandBar Set cb = Application.CommandBars("Cell") ' Set MenuObject = cb.Controls.Add(Type:=msoControlPopup, Temporary:=True) MenuObject.Caption = "Lovekiller Menu" MenuObject.BeginGroup = True ' With MenuObject With .Controls.Add(Type:=msoControlButton, ID:=4) .Visible = True End With End With Set MenuObject = Nothing End Sub

excelde kendi eklenti ve fonksiyonlarınızı oluşturun

ID : 850
ISLEM : excelde kendi eklenti ve fonksiyonlarınızı oluşturun
MAKRO KODU : Bir Excel dosyasını açtığınızda şöyle bir formül kullandıysanız bilirsiniz; dec2hex, hex2dec, dec2bin, bin2dec vs., bu formülleri kullanabilmek için Araçlar – Eklentiler içinden Toolpak Çözümleyicilerin seçilmiş olması gerekir. Toolpak eklentisi Program Files\Microsoft Office\Office10\Library\Analysis\ATPVBAEN.XLA dosyasıdır. Eğer daha önce verilen bu tip formülleri kullanmak isterseniz bu dosyanın Eklentiler içinde seçilmiş olması gerekir. Bu dosya ne işe yarar derseniz, mühendislik kategorisinde formülleri içeren makroların yazıldığı bir dosyadır. Dec2Hex formülü; desimal olarak verilen değer yada hücrenin hexadesimal olarak değerini aktif hücreye yazdığı bir formüldür. Excel’in kendisine ait diğer eklentileri ise; Arama sihirbazı, Çözücü eklentisi, İnternet yardımcısı VBA, Koşullu toplam sihirbazıdır. Eğer hex, dec, oct, bin sayı çevrimlerini kullandıysanız XOR da kullanmak istemişsinizdir fakat XOR olarak Excel ‘in bir formülü yoktur. Bu durumda siz kendiniz bu formülü yazabilir ve sayfa içerisinden rahatlıkla kullanabilirsiniz… BİR FORMÜL NASIL OLUŞTURULUR; Eğer Excel in formüllerini incelemişseniz şuna benzer şekilde olduklarını görürsünüz; =HEX2DEC(A1) ‘Yani A1 hücresinin içinde hex sayı var onu decimale çevir demek… =HEX2DEC(“ff”) ‘Üsteki formülle aynı fakat hücre erimi değil direkt olarak hex biçimli veri girilmiş… =TOPLA(A1:A10) ‘A1den A10 a kadar tüm hücrelerin içerisindeki verileri topla demek… =TOPLA(A1;A5;A8;B13) ‘Üstteki formülle aynı fakat sadece A1 + A5 + A8 + B13 hücrelerini topla demek, erim olarak geniş karelik bir alan verilmemiş (“;” ve “:” ye dikkat!). =TOPLA(A1;125) ‘Üstteki formülle yine aynı fakat sadece A1 hücresi ile 125 sayısını topla demek. =DÜŞEYARA(A5;SHEET1!A1:C500;2;YANLIŞ) ‘Bu formülde ise aktif sayfanın A5 hücresine bak, sheet1 sayfasının A1:C500 eriminde A sütununda bunu ara; bulduğunda 2nci sütun (B sütununu)daki değeri yaz; eğer A5 ile bulduğun tamamıyla aynı ise demek…. Yukarıdaki formüllerde de görüleceği üzere; 1. Formül = ile başlar 2. Formülün kod kelimesi verilir 3. Formülde verilecek değerler parantez içinde girilir 4. Verilecek değer birden fazla ise aralarında noktalı virgül kullanılır 5. Değerler girilecek formülün ihtiyacına göre değişebilir (sayı olabilir, string olabilir, erim yada tek hücre olabilir vs.) Şimdi bu bilgilerin ışığında kendi formülümüzü oluşturalım… XOR fonksiyonunu yapan bir formül oluşturacağız. Verilen iki hücre yada erim içerisindeki verileri long olarak okuyacak ve birbirleriyle XORlayıp sonucu formül yazılan hücrede gösterecek. 1. Önce formülümüze bir isim verelim: XorDec (long tipindeki sayıların XOR u için kullanılacağından her zaman akılda kalması için anlamlı olmasına dikkat edilmeli ve kullanılamayacak isimlere dikkat!). 2. Girilecek (istenen) veriler ne olacak (önce tek hücreli sonra geniş erim olsun; A1 ile A2:A5 gibi) 3. Formül sonucu nasıl gösterilecek (formül girilen hücreye long tipinde sayı) FONKSİYON OLUŞTURMAK; Buraya kadar tamam, peki Formül nasıl yazılacak? Fark etmiş olacağınız üzere bu Basic’de de yazılan fonksiyonlara benzer. Giriş değerlerini alacak, üstünde işlem yapacak ve sonucunda bir değer döndürecek… Excel Visual Basic Düzenleyicisini (Araçlar – Makro altında yada Alt+F11 kısayol) açalım. Insert menüsünden bir Module ekleyelim, bu projemize yeni bir modül ekler. Public Function xORdec(OneCell As Range, Optional MultipCells As Range) As Long Satırını yazalım. Bu Public olarak fonksiyonumuzu tanımlayacak, her taraftan kullanabileceğiz. OneCell isimli değişken bir erim, tercihsel olarak MultipCells olarak diğer erim fonksiyonla birlikte girecek ve fonksiyondan Long tipinde değer dönecek. ‘kullanacağımız değer tiplerini tanımlayalım Dim tmpH As Long ‘long tipinde tmpH değeri tüm XOR değerler için kullanılacak ‘hata tuzaklaması, eğer hata kontrolü yapılmazsa sonsuz döngü ve istenmeyen sonuçlar doğurabilir fonksiyonumuz ‘Local olarak tanımlanmasının nedeni function yada sublarda hata olursa buraya gelmemesi için On Local Error GoTo errTekHücre ‘Eğer hücre doluysa bunu geçici bir değere ata If OneCell Then tmpH = Val(OneCell) ‘geniş erim olarak tanımlanan çoklu hücrelerin değerini For Each Cell In MultipCells ‘xor la tmpH = tmpH Xor Val(Cell) Next ‘sonucu fonksiyona ata xORdec = tmpH Exit Function errTekHücre: ‘hatayı temizle Err.Clear ‘gösterilecek sonuca ne yazılacak, hata nasıl gösterilecek; hata mesajı olarak biz burada 0 sonucunu döndürdük… xORdec = 0 ‘hata artık olduğu yerde kalsın On Local Error GoTo 0 Exit Function End Function Basitçe yazacağımız kodlar şimdilik bu kadar. Şimdi bunu kaydedelim. Bu açık Excel dosyasının içinde yer alacak. Bu dosyanın herhangi bir yerine şimdi formülümüzü yazalım =xordec(A3;A4:A10) ‘anlamı A3’den A10’a kadar hücrelerin içindekileri XORla demek eğer içinde hata oluşursa sonucunda 0 yazacak… EKLENTİ OLUŞTURMAK; Peki bu Excel dosyasını kaydedip, kapatıp başka bir Excel dosyası açarsak bu formülü kullanabilir miyiz? Bu formülü yazdığımız hücrede #AD? hata mesajı görünür. Bu formülün tanımlanamadığını gösterir. Bu sorun ise eklentilerle aşılır. Yani Excel her açıldığında belirlenen her eklenti Excel ile birlikte yüklenir. Boş bir Excel dosyası açalım, Visual Basic Düzenleyicisini (Araçlar – Makro altında yada Alt+F11 kısayol) nden, Insert menüsünden bir Module ekleyelim. Yukarıda verilen kodları aynı şekilde yazalım. Açmış olduğumuz çalışma kitabını farklı kaydet menüsü ile Microsoft Excel Eklentisi (*.xla) kayıt türünde, örneğin BenimMakrolarım adıyla kaydedelim. Bu çalışma kitabı sürücü:\Documents and Settings\Kullanıcı Adı\Application Data\Microsoft\AddIns\ dizininde kaydedilecektir. Şimdi de Araçlar-Eklentiler menüsü açalım. Gözat butonuna basarak, yeni kaydetmiş olduğumuz eklentiyi işaretleyerek Tamam butonuna basalım. Kullanılabilir eklentiler: penceresinde bizim yazdığımız eklenti de görülecektir. Bunu işaretlediğimizde, her zaman Excel açılırken bizim eklentimizi de yükleyecektir. Artık yazdığımız fonksiyonu herhangi bir Excel çalışma sayfası içerisinden formül yazarmış gibi girerek kullanabiliriz… Şuna benzer bir fonksiyonu eklentinize eklerseniz, Public Function aX() As String aX = "Adınız Soyadınız" End Function Çalışma sayfanızda =aX() yazdığınızda, adınız soyadınız hemen görünecektir… Görüleceği üzere, Excel in kolaylıklarını (özelliklerini) daha verimli kullanırsanız, Excel de sizi hamallıktan (rutin işlerden) kurtaracaktır

excelde sağ klik menüsünü gizle-göster

ID : 851
ISLEM : excelde sağ klik menüsünü gizle-göster
MAKRO KODU : Application.CommandBars("Menü Adı").Visible = True 'False de gizler

excelde satir silme

ID : 852
ISLEM : excelde satir silme
MAKRO KODU : ok o zaman şöyle yapalım Kod: Sub sil() For i = Cells(65536, 1).End(xlUp).Row to 2 step -2 Rows(i).Delete Next i End Sub not: denemedim. edit: son satırın tek olma ihtimaline karşın Kod: Sub sil() z= Cells(65536, 1).End(xlUp).Row if z mod 2 = 1 then z = z -1 For i = z to 2 step -2 Rows(i).Delete Next i End Sub

excelde sürekli flash örneği

ID : 853
ISLEM : excelde sürekli flash örneği
MAKRO KODU : Dim NextTime As Date Sub Flash() NextTime = Now + TimeValue("00:00:01") With ActiveWorkbook.Styles("Flash").Font If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2 End With Application.OnTime NextTime, "Flash" End Sub Sub StopIt() Application.OnTime NextTime, "Flash", schedule:=False ActiveWorkbook.Styles("Flash").Font.ColorIndex = xlAutomatic End Sub

excelden word belgesi açmak

ID : 854
ISLEM : excelden word belgesi açmak
MAKRO KODU : Sub WordAc() adres = Application.InputBox("Belgenizin Adı Nedir ?", "Adres", "\Word.doc") On Error GoTo hata1 With CreateObject("Word.Application") .Visible = 1 .Documents.Open (ThisWorkbook.Path & adres) End With hata1: End Sub

excele şifreli giriş 3 hakkınız var.

ID : 855
ISLEM : excele şifreli giriş 3 hakkınız var.
MAKRO KODU : Sub auto_open() Static sayac As Integer Do If sayac = 3 Then ThisWorkbook.Close False Else If InputBox("Şifreyi girin") = "Buraya koymak istediğiniz şifreyi yazacaksınız!" Then GoTo devam Else sayac = sayac + 1 End If End If Loop devam: End Sub

exceli açişta istenen sayfa gelir

ID : 856
ISLEM : exceli açişta istenen sayfa gelir
MAKRO KODU : Exceli İlk Açtığınızda istediğiniz sayfanın gelmesi için Sub SayfaHucreSec() Sheets("Sayfa1").Select Selection.Range("A1").Select End Sub

exceli gizleme

ID : 857
ISLEM : exceli gizleme
MAKRO KODU : Sub HideExcel() Application.Visible = False End Sub

exceli gizleyerek mesaj verir

ID : 858
ISLEM : exceli gizleyerek mesaj verir
MAKRO KODU : Sub Nur_MsgBox() Application.Visible = False MsgBox ("Du siehst nur die MsgBox") Application.Visible = True End Sub

exceli kapatma işlemi

ID : 859
ISLEM : exceli kapatma işlemi
MAKRO KODU : Private Sub kapat() Dim Cevap As VbMsgBoxResult Cevap = MsgBox("PROGRAMIN KAPATILMASINI İSTİYOR MUSUNUZ.?", _ vbOKOnly + vbYesNo, "MESAJ") If Cevap = vbYes Then ActiveWorkbook.Save Excel.Application.Quit End If End Sub

exceli tamamen kapatma

ID : 860
ISLEM : exceli tamamen kapatma
MAKRO KODU : makronuzun uygun yerine aşağidaki kodu yazmalısınız. Application.Quit

exceli tamamen kapatmak

ID : 861
ISLEM : exceli tamamen kapatmak
MAKRO KODU : application.quit

excelin tüm menü buton resimler

ID : 862
ISLEM : excelin tüm menü buton resimler
MAKRO KODU : Public Sub ListAllFaces() Btn = MsgBox("This macro will list all of the button faces (over 5000)" & vbCrLf & _ "in this worksheet." & vbCrLf & vbCrLf & _ "Are you READY TO PROCEED?", vbOKCancel, "Button Image Listing") If Btn = vbCancel Then Exit Sub Dim i As Integer Dim j As Integer Dim k As Integer Dim cbCtl As CommandBarControl Dim cbBar As CommandBar On Error Resume Next Application.ScreenUpdating = False Set cbBar = CommandBars.Add(Position:=msoBarFloating, MenuBar:=False, temporary:=True) Set cbCtl = cbBar.Controls.Add(Type:=msoControlButton, temporary:=True) k = 1 Do While Err.Number = 0 For j = 1 To 10 i = i + 1 Application.StatusBar = "Face ID = " & i cbCtl.FaceId = i cbCtl.CopyFace If Err.Number <> 0 Then Exit For ActiveSheet.Paste Cells(k, j + 1) Cells(k, j).Value = i Next k = k + 1 Loop Application.StatusBar = False cbBar.Delete End Sub

excelinizin versiyonunu öğrenin

ID : 863
ISLEM : excelinizin versiyonunu öğrenin
MAKRO KODU : Sub testVersion() Dim myvers As String myvers = Application.Version MsgBox ("Microsoft Excel" & " " & myvers) End Sub

excel-outlook

ID : 864
ISLEM : excel-outlook
MAKRO KODU : A1 Hücresine xxrt@yahoo.com yazıldığında zaten köprü kendi kendine gelir ve bunu tıkladığınızda Outlook açılır.Ama yinede makro ile derseniz. 1.)A1 Hücresine manuel mail adresi yazılması şartı ile; Sub Makro6() Range("A1").Select Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True End Sub

explorer açma

ID : 865
ISLEM : explorer açma
MAKRO KODU : Sub Windows_Explorer_aufrufen() Shell (Environ("systemroot") & "\explorer.exe"), 1 '********************************************************** 'Shell (Environ("systemroot") & "\explorer.exe C:\Temp"), 1 '********************************************************** End Sub

explorer'i açma tam ekran

ID : 866
ISLEM : explorer'i açma tam ekran
MAKRO KODU : Sub ExplorerDossier() Shell "C:\WINDOWS\EXPLORER.EXE /n,/e,D:\FichXls", vbMaximizedFocus End Sub

f9 tuşuna bastiğimda çalişmasini yani kaydetmesini istiyorum

ID : 867
ISLEM : f9 tuşuna bastiğimda çalişmasini yani kaydetmesini istiyorum
MAKRO KODU : Private Sub CommandButton1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) chkFKey (KeyCode) End Sub Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) chkFKey (KeyCode) End Sub Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) chkFKey (KeyCode) End Sub Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) chkFKey (KeyCode) End Sub Private Sub chkFKey(KeyCode) If vbKeyF1 <= KeyCode And KeyCode < vbKeyF12 Then Select Case KeyCode Case vbKeyF1: MsgBox "f1 e bastınız" Case vbKeyF9: x = MsgBox("f9 a bastınız. kayıt yapılsın mı?", vbYesNo) 'kayıt işlemin burada yapın. Case Else: MsgBox "F" & (KeyCode - vbKeyF1 + 1) & " e bastınız." End Select End If End Sub

f9 tuşuna makro atama

ID : 868
ISLEM : f9 tuşuna makro atama
MAKRO KODU : Sub Auto_Open() Application.OnKey "{F9}", "macro" End Sub Sub macro() MsgBox "aaa F9 tuşuna bastın" End Sub

f9 tuşuna makrro atama

ID : 869
ISLEM : f9 tuşuna makrro atama
MAKRO KODU : Sub Auto_Open() Application.OnKey "{F9}", "mesaj" End Sub Sub mesaj() MsgBox "aaa F9 tuşuna bastın" End Sub

faiz hesabi

ID : 870
ISLEM : faiz hesabi
MAKRO KODU : Sub hesapla() k = 4 Do While Cells(k, 7) <> "" tutar = Cells(k, 7) bastar = Cells(k, 8) sontar = Cells(k, 9) tmpbastar = bastar j = 4 faiz = 0 devam = True Do Until devam = False faiztar = Cells(j, 3) If Cells(j, 3) = "" Or faiztar > sontar Then faiztar = sontar: devam = False If bastar > faiztar Then GoTo 20 faizor = Cells(j - 1, 4) faiz = faiz + ((faiztar - tmpbastar) * tutar * faizor) / 36500 tmpbastar = faiztar 20 j = j + 1 Loop Cells(k, 10) = faiz k = k + 1: faiz = 0 Loop End Sub

* Görseller ve İçerik tekif hakkına sahip olabilir