Excel VBA Blog

2016-03-02

blog adresi değişikliği

Filed under: Excel — dutali @ 12:42 am

Exceltr blog yazılarını bundan böyle
exceltr.net
üzerinden takip edebilirsiniz.

2016-02-28

Excel’e seçim kutusu (combo box) ekleme yolları–3 ( Veri Doğrulama ile)

Filed under: Excel — Etiketler:, , , , , , — dutali @ 4:21 pm

Bu yazıyı exceltr.net altında okumak için  tıklayın


Veri doğrulama (Data Validation) excel’de hücrelerin değerlerinin istenen tipte veya belli aralık dışında girilmesini engellemek ya da verilerdeki istenmeyen değerleri yakalamak için kullanılır. Asıl amacı bir seçim kutusu olarak kullanmak değildir

Fakat veri doğrulama kullanılarak seçim kutusu ( combobox veya drop down list) yapmak oldukça kolaydır.

Ayrıca görsel olarak da herhangi bir excel hücresinden farkı yoktur.

 

 

Veri doğrulamayı zaten biliyorsanız bu seçim kutusu olarka nasıl kullanacağınızı da çıkarabilirsiniz. Veri Doğrulama menüsü, şeritte Veri Mensünü altında bulunur

 

image

 

 

Tıklandığında, o an seçili olan excel hücreleri için geçerli olacak doğrulama eklemek üzere aşağıdaki gibi bie ekran açılır.

Şu anda G3 hücresi seçili durumda. Bu yaptıklarımız G3 hücresi için geçerli olacak

 

image

Hücreyi seçim kutusuna çevirmek için Doğrulama Ölçütü altıdaki İzin Verilen alanını Liste olarak seçeceğiz ve altında görünür hale geleccek olan Aralık alanında da seçim listemizin listesi olan excel hücrelerini seçeceğiz. Şöyle ;

image

Seçim kutumuz hazır, Görüntüsü şu şekilde olacak ;

image

Veri doğrulamanın diğer imkanlarından da yararlanalım. Kullanıcının liste dışında girdi yazmasını engellemek için Veri Doğrulama ekranında Hata Uyarısı sekmesi altında

Geçersiz veri girildikten sonra hata uyarısı göster seçeneği işaretli olmalı ve

Stil olarak Dur seçeneği seçili olmalı. Şöyle;

image

 

 

Girdi iletisi sekmesini de doldurursak fare imleci hücrenin üzerine geldiğinde yazdığımız bilgilendirici yazı görünür.

Bu şekilde eklenen seçim kutusunun hücreye tamamen bağlı olduğunu ve diğer iki objedeki gibi hücreden bağımsız şekillenedirme ve taşıma yapılamayacağını gözardı etmeyin! En boy ayarlamak biraz sorun yaratabilir

 

Seçim kutusu yöntemlerini karşılaştırma

 

Şimdi üç metodu yanyana koyalım.

 

image

Format seçeneği açısından en fakir olan Form Denetimi, En zengin olanı Veri doğrulama. Form Denetimi neredeyse hiç imkan sunmuyor. Görüntü önemli ise Form Denetimini listeden çıkarabilirsiniz

Programlanabilirlik açısından en müsait olan ActiveX Denetimi, en kısıtlı olan Veri doğrulama ( dolaylı olarak programlanabilir) . Eğer VBA yazacaksanız ActiveX denetimini şiddetle öneririm

Pratik kullanım açısından Veri Doğrulama veya Form Denetimi  tercih edilebilir.  5 dk içerisinde şöyle böyle birşeye benzeyen birşey çıkarmanız gerekiyor ise ActveX denetimi ile zaman kaybetmeyin.

ActiveX objesi ile eklenen seçim kutusu, kullanımı daha zahmetli olmakla birlikte format açısından gayet yeterli , opsiyonları oldukça zengin ve programlanablirliği diğerlerine oranla oldukça iyidir

ActiveX Denetimini ve Form Denetimini hücrelerden bağımsız boyutlandırabilir veya taşıyabilirsiniz. Veri doğrulama doğrudan hücrenin kendisi olduğundan kolon boyutlarını ayarlamaya çalışırken canınızı sıkabilir

 

Görüşmek üzere

Excel’e seçim kutusu (combo box) ekleme yolları–2 ( ActiveX Denetimlerinden seçim kutusu ekleme)

Filed under: Excel — Etiketler:, , , , — dutali @ 2:06 am

Bu yazıyı exceltr.net altında okumak için  tıklayın


 

Bir önceki yazıda excel’de seim kutusu ekleme yönemlerinden ilkini, Form Denetimlerinden seçim kutusu eklemeyi inclemiştik

Önceki yazı :Excel’e seçim kutusu (combo box) ekleme yolları–1 ( Form Denetimlerinden seçim kutusu ekleme)

Bu yazıda ActiveX Objelerinden seçim kutusu konusu incelenecek. Bir sonraki konumuz metin doğrulamayı seçim kutusu gibi kullanmak

ActiveX Denetimlerinden  seçim kutusu ekleme

Form Denetimlerindeki gibi gene aynı menüden Active X Denetimleri başlığı altından eklenir

image_thumb[5]

 

Görüntüsü aşağıdaki gibidir

image_thumb[10]

Bu obje üzerinde konfigürasyon yapabilmek için Geliştirici menüsünden tasarım modu açılmalıdır

image_thumb[14]

Hemen farkedeceğiniz gibi, form denetimlerinden seçim kutusu eklediğinizde, seçim kutusu seçili iken formül kutusunda $C$1 ifadesi ( seçim kutusunun hücre bağlantısının adresi) görünür iken ActiveX ile eklediğinizde KAT(“Forms.ComboBox.1″;””)  gibi bir ifade görünüyor.

Excel’de kullanılan ActiveX Denetimleri oldukça yeteneklidir. Görüntüsünden davranış şekline kadar birçok özelliği konfigüre edilebilir. Seçim kutusuna sağ tıklayıp Özellikler’i seçtiğinizde konfigüre edilebilecek özelliklerini görebilirsiniz.

Burada gördüğünüz üzere karşınıza çıkan her şey İngilizce.

image_thumb[18]

Bu objede de listeyi bir namedRange veya excelde bir aralık yazarak sınırlandırabilirsiniz.

Girdi listeyi  belirlemek için  ListFillRange

Hücre Bağlantısının belirlemek için iseLinkedCell alanı kullanılır

Bu alanları Excel Form Denetimlerindeki gibi fare ile alan seçerek dolduramazsınız. Adresi yazmanız gerekir

image_thumb[30]

Excel Form Denetiminden farklı olarak burada seçim yaptığınızdaLinkedCell  ile belirlediğiniz hücrede yaptığınız seçim belirir ( seçimin indisi değil!). Aşağıdaki örneğe bakın.

image_thumb[27]

 

Girdi listeyi iki (veya daha fazla) kolonlu seçebilirsiniz , ilk veri satırını başlık olarak gösterebilirsiniz, LinkedCell olarak seçilmiş alanda hangi koloun değerinin gösterileceğini belirleyebilirsiniz …

Mesela aşağıdaki örnekte liste aralığı A1: B10 yani iki kolonlu bir liste seçili. ColumnCount ise 2 seçilmiş. Bunun sonucu olarak Seçim kutusunda iki kolonlu bir liste görünüyor. ColumnCount1 olarak seçilseydi sadece il listesi görünürdü.

ColumnHeads özelliği True olarak seçilmiş, Seçim kutusu açıldığında ilk satırdaki il-plaka yazıları başlık olarak beliriyor

BoundColumn değeri 1 olarak seçilmiş, Bunun sonucu olarak LinkedCell olarak atanmış hücrede 1. kolonun değeri beliriyor

image

 

Burada BoundColumn değeri ile ColumnCount değeri birbirini sınırlayan özellikler değil. Mesela ColumnCount değerini 1 seçip BoundColumn değerini 2 yaparsak listede iller, LinkedCell’de ise o ilin plakası görülür. Bunu, mesela kullanıcıya ili seçtirip ona bağlı diğer işlemleri plaka üzerinden yapabilirsiniz ,bir nevi düşeyara  fonksiyonu ..

Ör:

image

 

Bu objenin format –font vs özellikleri de gayet zengindir fakat seçim kutusunu uygun formata getirmek excel hücreleriyle uğraşmaktan daha sıkıcıdır. Ayrıca her excel objesinde olduğu gibi birmakro ile ilişkilendirilebilir

 

Özetle, oldukça yetenekli, programlanabilir, fakat tüm özelliklerinin kullanılması  son kullanıcı için zordur.

2016-02-25

Excel’e seçim kutusu (combo box) ekleme yolları–1 ( Form Denetimlerinden seçim kutusu ekleme)

Filed under: Excel — Etiketler:, , , , — dutali @ 2:23 am

Bu yazıyı exceltr.net altında okumak için  tıklayın

Seçim kutusu ( combo box) kullanıcının bir alandan seçebileceği girdileri belirli bir diziye sınırlandırmak için seçim kutusu kullanılır.

Excel’de Form Denetimi ve ActiveX Denetimi şeklinde iki tür seçim kutusu kullanılabilir. Bunların yanında metin doğrulama kullanılarak da seçim kutusu eklenebilir
Şimdi bu üç yöntemi ve farklarını detaylarıyla inceleyelim. En sonunda da avantajlarından ve dezavantajlarından bahsedeceğiz

  1. Form Denetimlerinden seçim kutusu ekleme

Form denetimleri, Geliştirici menüsü altında bulunur. Geliştirici menüsünden Ekle butonuna tıkladığınızda excel çalışma sayfasına ekleyebilecceğiniz Form Denetimleri ve ActivX Denetimleri menüsü açılır. Seçim kutusu eklemek için açılan menüden Form Denetimleri altında ikinci sırada bulunan  Birleşik form denetimini seçin

 

image

 

Bu denetime sol tıklandıktan sonra excel sayfasında seçilip bırakılan alana seçim kutusu eklenir. Ekran görüntüsü aşağıdaki gibidir

 

image

 

 

 

Bu seçim kutusun özelliklerini inceleyelim; Sağ tıklama menüsünden Denetimi Biçimlendir ekranı;

image

Buradaki

  • Girdi Aralığı : metin kutusunda seçilebilecek girdinin listesi
  • Hücre bağlantısı: Seçilen girdinin indisini işaretleyebileceğiniz hücre. Seçim kutusununda bir seçim yaptığınızda , burada seçtiğiniz hücrede yaptığınız seçimin listenin kaçıncı elemanı olduğu bilgisi belirir.Aynı şekilde, bu hücreye girdiğiniz değer de seçim kutusundaki değeri değiştirir

 

Şimdi bu alanları belirleyelim ve listede bir seçim yapalım

 

image

Afyonkarahisar listedeki üçüncü eleman. Seçim kutusunda Afyonkarahisar seçildiğinde bu hücrenin değeri 3 olacak

image

Bu objeye her seçim değiştiğinde çalışacak şekilde makro bağlanabilir

  • Eni ve boyu değiştirilebilir.
  • Hücrelerle birlikte taşınma veya taşınmama opsiyonu belirlenebilir
  • Fakat yazı tipi, arka alan ve sair formatlama seçenekleri kullanılamaz. Bu sebeple bu objeyi kullancaksanız gördüğünüz görüntü dışında bir görüntü alternatifiniz yok.
  • Görsel zenginlik istiyor iseniz bu obje amacınıza çok hizmet etmeyebilir.
  • Yetenekleri kısıtlı olsa da kullanımı gayet kolaydır.

 

Birsonraki yazıda ActiveX denetimlerinden seçim kutusu konusunu irdeleyeceğiz.

 

Görüşmek üzere

2016-02-02

Excel ‘de kullanıcı kontrollerini gizleme

Filed under: Excel, VBA — Etiketler:, , , , , , , — dutali @ 1:30 am

Bu yazıyı exceltr.net altında okumak için  tıklayın


Bu yazıda exccel’i excel olmaktan çıkaracağız. Excel in kullanıcının erişmesini istemyebileceğiniz bazı bileşenlerini kapatacağız, bazı bileşenleri görünmez hale getireceğiz

İlk iş olarak aşağıdaki ekran görüntüsünde işaretli bileşenleri gizleyeceğiz. Bunların bir kısmını menü üzerinden gizleyebilirsiniz. Bazılarını ( kaydırma çubukları gibi) gizlemek için bir menü bulunnmaz. bunlar için VBA zorunlu. VBa kullanmadan gizlenebileceklerin menüden nasıl gizleneceği (pek ilginizi çekmese de konu bütünlüğü açısından) gizlenecek

 

İlk olarak kaydırma çubuklarından (scroll bar) başlayalım . Dikey ve yatay kaydırma çubukları gereksizse gizleyebiliriz. Örnek olarak şu sayfaya  bakalım

 

image

 

 

Şimdi dikey veyatay kaydırma çubuklarını yokedelim. Bunu gizleyecek bir menü seçeneği yok. VBA ya başvuralım

Şu kodu bir VBA modülü açıp içine ekleyin ve çalıştırın

Sub kontrolGizle()
”Dikey kaydırma çubuğunu gizler
ActiveWindow.DisplayVerticalScrollBar = False

”Yatay kaydırma çubuğunu gizler
ActiveWindow.DisplayHorizontalScrollBar = False
End Sub

Sonuç;

image

 

Şimdi menüler ile yapabileceklerimizi görelim;

Formül çubuğu, başlıklar, kılavuz çizgileri

Şeritte Görünüm seçili iken ekran görüntüsünde gördüğümüz seçenekler ile bunları kapatabiliriz

 

image

 

Aynı şeyi VBA ile yapmak için fonksiyonumuza şunları eklememiz gerekir

 

Application.DisplayFormulaBar = False
ActiveWindow.DisplayHeadings = False
ActiveWindow.DisplayGridlines = False

 

 

Dikkat! Formül çubuğunu gizlemek için Application sınıfını , kaydırma çubukları, başlıklar ve kılavuz çizgilerini gizlemek için ise  ActiveWindow sınıfını kullandık. Bu sebeple de aynı excel instance ı ile açılmış  ( eğer ikinci kere excel uygulamasını elle açmadı iseniz aynı isntance olacaktır) tüm açık excel dosyalarında formül çubuğu gizli olacak.

Diğer kapattığımız bileşenler çalışam sayfası( dosya) bazlı ya da sekme bazlı. Başlılar ve kılavuz çizgileri sadece aynı sekmede gizlenmiş olurken, kaydırma çubukları aynı çalışma kitabındaki tüm sekmelerde gizlenmiş olur

 

Çalışma sayfasının son hali şöyle

image

 

Sekme çubuğunu da gizleyelim. Bunun için de VBA koduna girmemiz gerekir

Şu satırı prosedür ile çağırın

ActiveWindow.DisplayWorkbookTabs = False

 

Durum çubuğunu gizlemek için ise

 

Application.DisplayStatusBar = Not Application.DisplayStatusBar

 

Sayfamızın son hali;

image

 

 

Şimdi sıra geldi şeride ( Excel 2003 sonrasında şerit var. Öncesinde menü. bu kod Excel 2003 sonrası için ). Onu gizleme kodu diğerlerinden biraz farklı

Application.ExecuteExcel4Macro “Show.ToolBar(“”Ribbon””,False)”

 

Son görüntü içinde bir rapor görünen dikdörtgen bir kutu

image

 

 

 

Şimdi yazdıklarımızı toparlayalım

 

Sub kontrolGizle()
” Dikey kaydırma çubuğunu gizler
ActiveWindow.DisplayVerticalScrollBar = False

” Yatay kaydırma çubuğunu gizler
ActiveWindow.DisplayHorizontalScrollBar = False

” Formül çubuğunu gizler
Application.DisplayFormulaBar = False

” Başlıkları gizler
ActiveWindow.DisplayHeadings = False

” Kılavuz çizgilerini gizler
ActiveWindow.DisplayGridlines = False

” Sekme çubuğunu gizler
ActiveWindow.DisplayWorkbookTabs = False

”Durum çubuğunu gizler
Application.DisplayStatusBar = False
”Şeridi gizler
Application.ExecuteExcel4Macro “Show.ToolBar(“”Ribbon””,False)”
End Sub

Buraya kadar tamam da bir de bunu geri alması var.Excel hep böyle kalsın istemiyorsak tabii. Onu da özetle şöyle verelim

 

 

Sub kontrolGoster()
” Dikey kaydırma çubuğunu gösterir
ActiveWindow.DisplayVerticalScrollBar = True

” Yatay kaydırma çubuğunu gösterir
ActiveWindow.DisplayHorizontalScrollBar = True

” Formül çubuğunu gösterir
Application.DisplayFormulaBar = True

” Başlıkları gösterir
ActiveWindow.DisplayHeadings = True

” Kılavuz çizgilerini gösterir
ActiveWindow.DisplayGridlines = True

” Sekme çubuğunu gösterir
ActiveWindow.DisplayWorkbookTabs = True

”Durum çubuğunu gösterir
Application.DisplayStatusBar = True

”Not Application.DisplayStatusBar

”Şeridi gösterir
Application.ExecuteExcel4Macro “Show.ToolBar(“”Ribbon””,True)”
End Sub

 

 

Görüşmek üzere

2016-01-31

Sayfa açıldığında imlecin konumunu ve büyütme oranını sıfırlama

Filed under: Excel, VBA — Etiketler:, , — dutali @ 6:24 pm

Bu yazıyı exceltr.net altında okumak için  tıklayın


Her sayfa kullanıldığında fare imleci son bırakıldığı yerde kalır. Aynı şekilde büyütme oranı da son bırakıldığı haliyle kaydedilmiş olur

Sayfayı kullanan eğer fare imlecini en aşağılarda biryerde bırakmışsa veya sayfayı %500 büyütmüşse ve kaydetmişse bir seferki açtığında  da ilk göreceği son görüntülediği sayfa kısmı olacaktır

Bu tabii ki çoğu kişi için pek sorun olmayabilir. Ama profesyonel bir rapor hazırlıyorsanız sayfa her açıldığında saporun bulundupu alanın görüntülenmesi ve büyütme oranının  sizin sayfayı tasarlarken kullandıınız oran olması iyi bir etki bırakacaktır

Sayfaları tasarlarken standart bir büyütme oranı belirleyip ( En iyisi %100) diğer boyutları buna göre tasarlamanız isabetli olacaktır

Mesela şu sayfayı ilk açtığımda aşağıdaki şekilde görüyorum

image

 

Şimdi sayfanın aşaılarına doğru bir gezinip okumakta zorlandığım kısımları görmek için biraz sayfayı büyütüorum ve excel i kaydedip tekrar açıyorum

Bu sekmeyi seçtiğimde görüntü şu şekilde

image

 

 

Eh sorun değil benim için. Müdür de excel kullanmayı biliyor nasılsa.  Ama ben raporum daha profesyonel olsun istiyorum. Bunun için yapmam gereken her sayfa açıldığında imleci A1 adresine taşıyacak ve sayfa büyütme oranını %100  olarak atayacak bir VBA prosedürü yazmak. Yazması gayet kolay .Prosedür şunun gibi birşey olacak

 

Sub İmleciveBuyutmeyiSifirla()

”Aktif sayfanın scroll’unu 1a’ya getir ve büyütme oranını %100 yap”
If TypeName(Application.ActiveSheet) = “Worksheet” Then
With Application
.ScreenUpdating = False
.ActiveWindow.ScrollColumn = 1
.ActiveWindow.ScrollRow = 1
.ActiveWindow.Zoom = 100
End With
End If
Application.ScreenUpdating = True
End Sub

 

Bunu eğer sadece belirli bir sayfa için kullancaksak yapmamız gereken, ilgili sayfanın VBA kod sayfasını açıp

image

Worksheet_Activate prosedürü açmak ve bu kodu içerisine yazmak

 

Eğer tüm sayfalarda kullanacaksak çalışma kitabının VBA kod sayfasını açıp

image

 

Workbook_SheetActivate prosedürü açmak ve bu kodu içerisine yazmak olacak

 

Dikkat! Her iki durumda da başka sayfa açılıp geri gelidğinde bu prosedür gene çalışacak ve büyütme oranı ve imlecin konumunu sıfırlayacaktır.

Bunu istemiyor iseniz sayfa her açıldığında bir kereye mahsus bu kodu çalıştırın

 

Kodu direkt olarak bu prosedürlerin içine koymak yerine en üstteki prosedürü bir modüle yazıp gerekli yerlerde çağırmanız geliştirme yöntemi açısından daha uygun olacaktır

2016-01-02

Excel’de yapıştırma seçenekleri

Filed under: Excel — Etiketler:, , , , , — dutali @ 10:22 am

Bu yazıyı exceltr.net altında okumak için  tıklayın


 

Çoğu kullanıcının el alışkanlığı olduğu üzere excelde de kopyalama genelde CTRL+C  ve  CTRL+V ( kopyala ve yapıştır) şeklinde yapılır. Zaman zaman veriyi formüllerden kurtarmak ve sair ihtiyaçlar için diğer yapıştırma seçenekleri de kullanılır. Konumuz tüm kopyalama yapıştırma seçeneklerini incelemek değil. Genel hatlarıyla konudan bahsettikten sonra hayatı kolaylaştıran bazı özelliklerine  değinizcez

Şöyle bir veri setimiz var. (Bu kısmı atlayabilirsiniz.) C kolonunda S_SAYI_ÜRET fonksiyonu ile üretilen sayılar. D kolonunda 1 ile 80  arası rastgele sayı üreten RASTGELEARADA fonksiyonu bulunuyor(rastgele plaka numarası üretiyoruz) . E kolonunda da illler-plaka tablosundan ilgili ilin ismini getiren DÜŞEYARA fonksiyonu bulunuyor

 

excel-copy-paste-1

 

 

 

 

 

 

 

İşte formüllü hücrelerden biri;

excel-copy-paste-2

 

 

 

 

Buradan bir alanı seçip sağ tıkladığımızda;

 

 

excel-copy-paste-3

 

 

 

 

 

 

 

 

 

 

 

Şeklinde bir görüntü görürüz. İşaretli alan yapıştırma seçeneklerini gösteriyor.

Burada her bir seçeneğin üzerine geldiğinizde bir önizleme ile bu seçeneği seçtiğinizde nasıl bir sonuç çıkacağını görürsünüz.  Hangi seçeneğin ne işe yaradığını bilmiyorsanız birkaç deneme yapın. İlk seçenek ne var ne yok her şeyi yapıştırır.Diğer yapıştırma seçenekleri veri, formül, şekillendirmeler, veri doğrulama ayarları , notlar vs gibi diğer kopyalanabilen içeriklerin çeşitli kombinasyonlarını verir. Bunların dışındaki seçenekler ilgi alanımız.

Bizim üzerinde duracağımız seçenekler ve özellikler;

  • Değer yapıştır
  • Sırayı değiştir
  • Bağlantı yapıştır

İleri bağlantı seçenekleri altındaki

  • Bağlı resim yapıştır
  • Resim yapıştır

bir sonraki yazıda ise bazı yapıştırma seçeneklerini inceleyeceğiz

 

Değer Yapıştır

Kaynak hücrelerin değerlerini taşır. Şekillendirmeler formüller, notlar, filtreler vs taşınmadan sadece hücre değeri  yapıştırılır!

 

excel-copy-paste-4

 

 

 

 

 

 

 

Sonuç:

excel-copy-paste-5

 

 

 

 

 

 

 

 

 

Hücrelerin formüllerine baktığımızda formül olmadığını görürürüz

excel-copy-paste-6

 

 

 

Şimdi,  sadece hücre değeri  ifadesinden kastımızı açalım. Değer olarak yapıştır gösterilen değeri değil hücre değerini baz alır ! Hücrede gördüğünüz şey her zaman formatlanmış bir değerdir.

Hücre değeri ile görünen değer hücre genişliği, format ayarları gibi sebeplerle aynı olmayabilir

Mesela hücreye sığmayan ifadeler kısmen gösterilebilir

Sayıların ondalık kısımları kısmen gösterilebilir veya gösterilmeyebilir. Binlik ayraç gösterilmeyebilir

Tarih ifadesi gerçekte bir tamsayı olarak tutulur. Gösterimde ise seçili tarih formatına göre gösterilir

Aşağıdaki ekran görüntüsünde

  • D1, E1, F1 hücrelerinin fromülü ve değeri :123456789
  • D2 hücresinin formülü: =C2*5 ve değeri 10
  • D3 hücresinin formülü : =DÜŞEYARA(C3;iller!A:B;2;)  , formül hatalı değil fakat değer döndürmüyor . Gösterilen değer  #YOK
  • D4 hücresinin formülü =DÜŞEYARA(#BAŞV!;iller!AB;2;) , formül hatalı olduğundan değer döndürmüyor. Gösterilen değer #BAŞV!
  • D5 hücresinin değeri 29440. Bu hücre tarih şeklinde formatlanmış. Bu değer gösterimde 7 Ağustos 1980 yılına tekabül ediyor. Gösterilen değer;  7 Ağu 1980
  • D6 hücresinin değeri P, Wingdings 2 yazı tipi ile formatlanmış ve koşullu biçimlendirme uygulanmış. Görünen değer Onay işaret
  • D7 hücresinin değeri Ğ, bu da gene Wingdings 2 yazı tipi ile formatlanmış ve koşullu biçimlendirme uygulanmış. Görünen değer Çarpı işareti

 

excel-copy-paste-7

 

 

 

 

 

C1:F7 alanını seçip biraz sağ tarafa yapıştıralım

excel-copy-paste-8

 

 

 

 

 

Sonuç

 

excel-copy-paste-9

 

 

 

 

 

D1,E1,F1 hücrelerinin değerleri aynı olduğundan sonuç aynı

D2 hücresi formül içeriyordu. Yeni hücrenin formülü yok

D3 hücresinde formül sonuç döndürmüyordu vardı. Yapıştırıldığı hücrede formlü yok. Değer de görünen değer de aynı ve #YOK

D4 hücresinde de formül hatası vardı. Yapıştırıldığı hücrede formül yok metin olarak bir değer var: #BAŞV!

 

D5 hücresinde 7 Ağustos 1980 görüyordyk. Yapıştırıldığı hücrede ise 29440 sayısını göüyoruz. Çünkü taşındığı hücre tarih olarka formatlı değil. Bu hücreyi tarih olarak formatlarsak gene 7 Ağustos 1980 tarihini göreceğiz

 

D6 hücresinin yapıştırıldığı hücrede P değerini görüyoruz. D6 da da zaten P vardı ama bu hücre Windings 2 ile fromatlı iken hedef hücre klasik Calibri fontu ile formatlı. Ayrıca koşullu biçimlendirme taşınmamış olduğundan hedef hücre yeşik renkli değil

 

D7 hücresi de D6 gibi. Tek farkı P yerine Ğ olması

 

excel-copy-paste-10

 

 

 

 

 

Sırayı Değiştir

Sırayı değiştir ( transpoze) seçeneği basitçe satırları sütun ,sütunları satırlar yapar. Kalsik yapıştırmadaki gibi hücre şekillendirmesi,formüller vs alınır

excel-copy-paste-11

 

 

 

 

 

 

 

B2:C6 seçilip H2 hücresine yapıştırıldı. Sonuç;

excel-copy-paste-12

 

 

 

 

 

Bağlantı Yapıştır

Bağlantı yapıştır seçeneği kaynak hücrenin adresini yapıştırır, şekillendirme,format vs taşımaz!

excel-copy-paste-13

 

 

 

 

 

 

Hedef hücrenin formülüne baktığınızda kaynak hücrenin adresi görünür. Örnekte hedef hücre H2 ve kaynak hücre B2. Formülde B2 görünüyor. Kaynak hücrenin değeri değiştiğinde hedefin değeri de doğal olarak değişir. Kopyalanan hücrede formül olup olmaması bir şey değiştirmez. Hedef hücre kaynağın değerini gösterir

 

excel-copy-paste-14

 

 

 

 

 

 

 

 

excel-copy-paste-15

 

 

 

 

Bağlı resim yapıştır

Kopyalanan alanın kamera görüntüsünü yapıştırır. Görüntü, kaynak hücreler ile ilişkilidir ve kaynak hücrelerin değeri veya formatı değiştiğinde etkisini burada da aynen görürsünüz. Diğer yapıştırma seçeneklerindekinden farklı olarak görüntü, bulunduğu hücre ile ilişkili değildir. İmajı başka yere sürükleyebilirsiniz veya konum itibariyle bulunduğu hücrenin değerini değiştirebilirsiniz ( üstüste metinler görmeye ihtiyacınız olan bir durum düşünemiyorum ama gene de isterseniz, bu hücreler imajın altında kaldığı için ok tuşları ile ulaşabilirsiniz) .

excel-copy-paste-16

 

 

 

 

 

 

 

 

 

 

excel-copy-paste-17

 

 

 

 

Örnek olarak kaynak hücreler üzerinde bazı değişiklikler yapıyorum. Hücrenin metnini ve ark plan rengini değiştirip bir açıklama ekliyorum. Görüntü aynen yapıştırdığım yerde de görünüyor. Burada yaptığım işlemler başka hücrelere taşınmıyor, sadece kamera görüntüsü aktarılıyor.

 

 

excel-copy-paste-18

 

 

 

 

 

 

Resim araçları kullanılarak obje üzerinde değişiklikler de yapıalbilir veya çeşitli efektler uygulanabilir

 

il-ilst.xlsx - Excel- 2.1.2016 , 08_23_56

 

 

 

 

 

 

 

Resim yapıştır

Kopyalanan alanın görüntüsünü yapıştırır. Bağlı resimden farklı olrak kaynak ile bağ yoktur. İlgili hücrelerin ekran görüntüsünü hücreye yapıştırmaktan hiç bir farkı yoktur

excel-copy-paste-20

 

 

 

 

 

 

 

 

 

 

Örnek:

excel-copy-paste-21

 

 

 

 

 

 

Görüşmek üzere

2015-06-08

Excel’e yazdırılabilir-yazdırılamayan arkaplan ekleme

Filed under: Excel, Uncategorized — Etiketler:, , , — dutali @ 10:19 pm

Bu yazıyı exceltr.net altında okumak için  tıklayın


Merhaba

Exccel’ arkaplan eklemek için üç yoldan bahsedicez. İlk metod standart yol ve arkaplan yazıcıdan çıkmaz.
Şimdi sıra sıra inceleyelim

1-Excel arkaplan menüsünden

Excel sekmesine arkaplan eklemek için Menü şeridinden Sayfa Düzeni ( Page Layout) sekmesinden Arkaplan butonuna tıklayın. Aşağıdaki gibi bir pop-up pencere açılacak (Bu adımdan sonra hemen rahatlıkla bulunabilecek menülerin-butonların ekran görüntülerini gösterme gereği duymuyorum) .

 

arkaplan ekelme

arkaplan ekle

 

Açılan pencerede dosyadan seçme seçeneğini seçin ( Excel yeni sürümünde Bing arama motorundan imaj arama özelliği koymuş. Bing yerine başka arama motoru seçemiyorsunuz. Gelecek sürümlerde excel şeridinde reklam görürseniz şaşırmayın.) Arka plan olarak kullanmak istediğiniz imajı seçtiğinizde imaj kendi boyutunda tüm sekmeye döşenecektir

excel e arkaplan ekelme

resim ekle

 

Mesela arkaplan olarak asker arkadaşınızla çekilmiş samimi bir pozu kullanabilirsiniz

excel ackgroun

excel arkaplanı

 

Bu arkaplan üzerinde kolonları genişlettiğinizde -daralttığınızda arkaplanda bir hareket olmaz. Yazı yazdığınızda arkaplanın üzerinde görünür ve imajın arakasına atılamaz( Bu bir imaj nesnesi gibi davransaydı yazının mı imajın mı önde olacağına karar verebilirdik)

excel background

arkaplan üzerine yazı yazma

 

Bu şekilde eklediğiniz arkaplan tam olarak zemin gibi çalışır. Üzerine eklediğiniz her yazı resim, arkaplan rengi vs tarafından ezilir. Mesela bir kısım hücrenin arkaplan rengini değiştirelim

excel arkaplan yazı ekleme

excel arkaplan

 

Şimdi bu sayfayı yazıcıdan çıkarmaya çalışalım. Resimde gördüğünüz gibi arkaplan’ı excel sayfasında görüyoruz ama yazıcıda çıkmıyor. Aynı ızgara çizgileri gibi çalışma sayfasında görünür fakat yazıcı çıktısında görünmez.

Ek : VBA scripti ile arkaplan’a fazla müdahale şansınız yok
Arkaplan’ı atamak için Worksheet sınıfının SetBackgroundPicture fonksiyonunu kullanabilirsiniz

 

excel background print

excel arkaplanın yazıcıda görünüşü(?)

2-Dikdörtgen Ekleyerek

Şimdi başka bir yol deneyelim. Daha sonra  çıktı almayı deneyelim

İkinci yöntemimiz dikdörtgen ekleyerek dolaylı bir yolla print alanına arka plan eklemek

Ekle>Şekiller> menüsünden dikdörtgen’i seçin ve arkaplan’ın kaplamasını istediğiniz tüm alanı fare ile seçin

arkaplan için dikdörtgen

excel e dikdörtgen ekleme

 

şöyle bir görüntü çıkacak

dikdörtgen kutu

dikdörtgen kutu

Şimdi arka plan ekleyelim. Dikdörtgene sağ tıklayıp format seçeneğini seçin . Sağda açılacak menüden Resim veya doku dolgusu seçeneğini seçin ve alttaki Dosya.. yazan butona tıklayarak arkaplan yapmak istediğiniz resmi seçin. Örnek olarak E:/bizim_köy.jpg resmini seçiyorum.

 

excel yazdırılabilir arkaplan

dikdörtgen arkaplan

Alttaki hücrelerin boyutunu herhangi bir şekilde değiştirirseniz, varsayılan durumda resmin boyutu da değişir. bunu engellemek için sağ taraftaki Resim Biçimlendir menüsünde Boyut ve Özellikler sekmesine tıklayın.

dikdörtgen boyutu ve hücre ile hareket etme özelliği

excel dikdörtgen

 

Özellikler bölümünde “Hücrelerle taşı ancak boyutlandırma ” seçeneğini seçin. Artık dikdörtgenin boyutu biz bilinli değiştirmediğimiz sürece sabit kalacak

dikdörtgen kutu özellikleri

excel dikdörtgen kutu özellikleri

 

Resmin Saydamlık ayarını değiştirerek resmi biraz solduralım. Ne de olsa arkaplan. Ayrıca bu , işimiz açısından kritik bir öneme sahip. Yazdığımız yazıların görünmesi için gerekli (Evet, aslında yazılarımız resmin altında olacak)
Hazır el atmışken, sağda görülen boyut ayarlama kısmında dikdörtgenin boyutunu 210-297 mm yapın ( A4)

Resmin üzerine ( aslında altına) birşeyler yazmak için dikdörtgen dışında bir hücreye tıklayıp sağ-sol tuşları ile ilgili hücreye erişmeniz gerekir. Dikdörtgenin üzerine tıklayarak hücrelere erişemezsiniz. Birşeyler yazıp yazıcı çıktısını görelim

excel yazdırılabilir arkaplan

yazdırılabilir arkaplan

 

Resim yazıcıdan çıkıyor. Yazılar da görünür. Çıktı alanı olarak tam resmin alanını seçmedim. Siz öyle deneyebilirsiniz

Şimdi üçüncü yönteme geçelim.

3- Doğrudan resim ekleme

 

Excel’de imaj üzerinde bir imaj editörü ile çalışır gibi birçok işlem yapma seçeneğimiz var. Fakat saydamlık ( transparanlık) veremiyoruz. Boyutunu en boy kısıtı koyarak ya da koymadan değiştirebiliriz, kırpabiliriz. Resme çeşitli efektler verebiliriz, gölge ve yansıma ekleyebiliriz ,parlaklığını değştirebiliriz …

Şöyle ekliyoruz : Ekle–> Resimler

excel imaj ekleme

imaj ekleme

 

Ekleyin ve boyutunu A4 e çevirin

Buna nasıl yazı ekleyebiliriz?

Saydamlık olmadığı için arkaya yazdığınız yazılar görünmez. Tabi bu yazının konusu saydam resim oluşturma değil. Sınırlı formatlar için olsa da excel’e tansparan (saydam) imaj ekleyebilirsiniz. Tabii eklerseniz burada saydamlık ayarı yapamazsınız.

Buraya yazı eklemenin yolu Kamera objesi. Şeritte ekle kısmında bu obje için ikon yoksa ekleyin ya da şöyle yapalım;

Sağ tarafta boş bir bölgeye resmin üzerine yazmak istediklerimizi yazalım

excel kamera objesi

excel kamera objesi

Yazının bulunduğu bölgeyi kopyalayalım

excel kamera objesi -camera object

excel kamera objesi

Resmin üzerine gelmeden (Dikkat !) sağ tıklayıp Özel yapıştır seçeneğinin altındaki, en alt en sağda bulunan “Bağlı Resim” seçeneğini seçelim

excel kamera objesi-camera object

Seçtiğimiz hücreye dikdörtgen kutu eklenecek. Bu dikdörtgen kutunun içindeki yazılar doğrudan yazı yazdığınız hücrelere bağlıdır. Hücrelerde değişiklik yaptığınızda bunlar da değişir. Şimdi bu dikdörtgeni resmin üzerine taşıyalım

excel yazdırılabilir arkaplan-printable background

kamera objesi (camera object)

 

Sağdaki hücrelerdeki yazıyı değiştirdiğimizde bu dikdörtgendekiler de değişecektir. Örnek

excel yazdırılabilir arkaplan -printable background

kamera objesi

 

 

Yazdırmak istediğimizde yazı resmin üzerinde görünecek. Normalde bir sayfayı yazdırmak istediğimizde ızgara çizgileri yazıcıda çıkmaz ama kamero objesi ile alınca çıkıyor. Bu da üstesinden gelinmeyecek bir konu değil. Gelecek seferlerde bundan da bahsedeceğiz.

 

excel yazdırılabilir arkaplan-printable background

yazdırılabilir arkaplan

Örnek dosya şurada :excel_arkaplan

Görüşmek üzere

2015-05-12

Yeni yazılar

Filed under: Excel — Etiketler:, — dutali @ 12:11 am

Merhaba, Elimdeki Excel 2003 zamanından VBA kodlarını adım adım paylaşmayı planlamıştım fakat çok uzun bir ara verince excel sürüm atladı. Şimdi Excel 2013 ile birlikte daha önce sunmayı planladığım bazı araçlar artık gereksiz hale geldi, bazıları ise yeni Excel sürümünde çalışması için değişiklik ihtiyacı duyuyor.

Bu sefer ön yüze daha fazla ağırlık vererek yazılar yazmaya çalışacağım. Bir sonraki birkaç yazıda excel’de kopyalama yapıştırma yöntemleri ile birlikte imaj’ı arka plan olarak kullanma şekilleri ve aralarındaki farkları anlatmaya çalışacağım.

Burada amaç iyi bir baskı kalitesi ve görsel etki yaratmak ve tekrarlancak işlemlerde her seferinde tekrardan hassas ayarlar yapmaktan kaçınmayı göstermek.

Bir sonraki yazının konusu, resmi arka plan olarak göstermek ve için kullanılabilecek üç yöntem ve aralarındaki önemli farklılıklar ( mesela print edildiğinde görülüp görülmeme ..)

Daha sonraki yazılarda kopyalama yapıştırma yöntemlerini ve excel in kamera objesini arka plan konusu ile birleştirerek anlatmaya çalışacağım. Buradaki özelliklerin bir kısmı ileride tekrar kullanılacak.

Sonrasında excel’in az kullanılan fakat kullanılması bilindiğinde çok işe yarar bazı fonksiyonlarından bahsedebiliriz ( Bu sırayı takip edersem ilk konular DOLAYLI – INDIRECT fonskiyonu ve Sayfa üzerinde Gelişmiş Filtreleme olacak) . Tabi bütün bunları bir plan dahilinde ve from şablonu hazırlamak gibi kullanım alanı geniş bir örnek üzerinde göstermeyi planlıyorum.

Arada meraklıları için birkaç VBA yazısı da ekleyebilirim.

Yorum ve önerilerinizi bekliyorum

Tekrar buluşmak üzere

2011-02-26

E-posta adresi sınama- RegExp nesnesi

Filed under: Uncategorized — Etiketler:, , , , , , , — dutali @ 6:48 am

Bu yazıyı exceltr.net altında okumak için  tıklayın


 

Merhaba,
Bu yazıda sizinle bir e-posta alanına girilen metnin e-posta kurallarına uygun olup olmadığını kontrol eden bir fonksiyon yazıcaz.
Herhangi bir dille böyle bir kontrol yapmak isteseydiniz bulacağınız en etkili araç “düzenli ifadeler” (regular expression) olurdu. VBA içerisinde de bu amaçla bir nesne var : VBScript RegExp

Fonksiyonumuz da , e-posta adresinin kurallı olup olmadığını kontrol etmek için regular expression kullanıyor.
Regular Expression hakkında bilgi sahibi değilseniz : http://en.wikipedia.org/wiki/Regular_expression .

ve fonksiyonumuz :

Private Function EPostaDogrula(Value As String) As Boolean  
    Dim RE As Object
    Set RE = CreateObject("vbscript.RegExp")
    RE.Pattern = "^[a-zA-Z0-9\._-]+@([a-zA-Z0-9_-]+\.)+([a-zA-Z]{2,3})$"
    EPostaDogrula = RE.Test(Value)
    Set RE = Nothing
End Function

Older Posts »

WordPress.com'da ücretsiz bir web sitesi ya da blog oluşturun.