Excel VBA Blog

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-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-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

Birleşik range’den dizi veya matris oluşturma

Filed under: Excel, VBA — Etiketler:, , , , — dutali @ 6:28 am

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


 

Merhaba,
Şöyle bir durum düşünün; Elinizde range türünden bir değişken var.Farzedelim kullanıcının fare imleci ile seçtiği birkaç sütunun birleşimi bir alan olsun.
Doğal olarak tek parçadan oluşmak zorunda değil. Böyle bir durumda VBA içerisinde bu alan içerisindeki değerleri ağız tadı ile kullanmak zor.
Çünkü hiç bir elemana indis kullanarak ulaşamayacaksınız. Ayrıca sonradan boyutu belirlenmiş bir değişken olan alanımızın içerisinde dolaşabilmek için önce kaç parçadan oluştuğunu sorgulamamız, sonra her alan içerisinde indis kullanmadan tüm hücreler üzerinde dolaşmak zorundasınız. 2. parçanın 3. elemanı diye bir ifade olamayacak. Parçaların satır sayılarının aynı olduğu bir durumda bir matris elde etmiş oluruz. Örneğimizde de öyle zaten

hiç bir yaratıcılık ve zeka pırıltısı içermese de çok işe yarayan fonksiyonumuz şöyle:


Function RangeToArray(rgInput As Range, Optional booTekBoyutIseArray As Boolean = False)

' Programcı: Ebubekir Çelik .
' https://exceltr.wordpress.com

    Dim i As Integer, j As Integer, k As Integer, m As Integer, n As Integer

    Dim booTekBoyut As Boolean
    Dim iColCnt As Integer, iRowCnt As Integer, iAreasCnt As Integer
    Dim GArray, cl As Object

    iColCnt = rgInput.Columns.Count
    iAreasCnt = rgInput.Areas.Count

    iRowCnt = 0
    For i = 1 To iAreasCnt
        iRowCnt = iRowCnt + rgInput.Areas(i).Rows.Count
    Next

    If iColCnt = 1 Or iRowCnt = 1 Then
        booTekBoyut = True
    Else
        booTekBoyut = False
    End If

    If booTekBoyutIseArray = False Or booTekBoyut = False Then
        ReDim GArray(1 To iRowCnt + 1, 1 To iColCnt)
        m = 2
        For k = 1 To iColCnt
            GArray(1, k) = ""
        Next
        For i = 1 To iAreasCnt
            For j = 1 To rgInput.Areas(i).Rows.Count
                n = 1
                For k = 1 To iColCnt
                    GArray(m, n) = rgInput.Areas(i).Cells(j, k)
                    n = n + 1

                Next
                m = m + 1
            Next

        Next
    Else
        ReDim GArray(1 To rgInput.Cells.Count)
        i = 1
        For Each cl In rgInput.Cells
            GArray(i) = cl.Value
            i = i + 1
        Next
    End If

    RangeToArray = GArray

End Function

WordPress.com'da Blog Oluşturun.