Sayfa1 deki secilen hücrenin Sayfa2 ye transferi

Katılım
9 Ocak 2006
Mesajlar
5
Arkadaşlar hepinize selamlar. Ben ileri düzey programlama ve web tasarımcıyım. Bu siteyi yeni farkettim. Mükemmel bilgiler var. Excel de VB kullanıldıgı için (benim ilgi alanım Delphi) ve makrolarla yeni haşır neşir oldugum için bu siteden ögrenecegim çok şey var. Sitenin tamamını inceleyecegimi belirttikten sonra acele cözmem gereken sorunumu bahsedeyim.

Sayfa1 deki herhangi bir hücreye her çift tıkladıgımda (mesela B4 veya C3 veya G10 gibi) çift tıkladıgım hücrenin içerigini Sayfa 2 deki A sütununun 5. hücresinden itinbaren alt alta eklenmesini istiyorum. Yani her çift tıkladıgımda sayfa2 deki A hücresi silinmeden, kaldıgı yerden yani bir altındaki hücreye ekleme yapılsın istiyorum.

Yardım edecek arkadaşlara şimdiden teşekkürler.
(Siteyi gezmeye başladım bile )
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Merhaba hoşgeldiniz. Aşağıdaki kodu sayfa1 in kod sayfasına kopyalayarak deneyin.

[vb:1:964d3bf314]Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Set s1 = Sheets("sayfa2")
say = WorksheetFunction.CountA(s1.[a5:a65536]) + 5
s1.Cells(say, "a") = ActiveCell
End Sub
[/vb:1:964d3bf314]
 
Katılım
9 Ocak 2006
Mesajlar
5
Levent Hocam teşekkürler. Kod tam istedigim gibi. Sagolun

Sitedeki tüm kodları tarayıp(parametreler, eventler vb..) makroları ve dolayısıyla vb i excelde kullanacak derecede ögrenecegimi tahmin ediyorum.

Aklıma gelmişken sorayım. Bu makroyu bir butona nasıl baglayabilirim.
Büyük ihtimalle forumda vardır ama acele lazım oldugu için buradan sorayım dedim.

Teşekkürler !...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kodu aşağıdaki gibi düzenleyip bir normal modül sayfasına kopyalayın.

[vb:1:806a53930e]Sub aktar()
Set s1 = Sheets("sayfa2")
say = WorksheetFunction.CountA(s1.[a5:a65536]) + 5
s1.Cells(say, "a") = ActiveCell
End Sub
[/vb:1:806a53930e]
 
Katılım
9 Ocak 2006
Mesajlar
5
ilgilendiginiz için tekrar teşekkürler.
Aslında sormak istedigim kodun butona yerleştirilme aşaması idi. Tabi siz o kısımları bildigimi düşünerekten bu cevabı yazdınız. Aslında haklısınız.

Makrolar ile ilgili başlangıç aşamalarını ögrenip daha mantıklı sorular sorsam daha iyi olacak. Biraz maymun iştahlılık olacak ama bir sorum daha olacak. Ayrı topic de olabilirdi ama konuyla ilk soruyla alakalı oldugu için buradan soruyorum.

Kullanıcı hücreye çift tıkladıgında tıklayıp tıklamadıgını anlaması için çift tıklanan hücrenin renginin degişmesi ( mesela sarı ) daha mantıklı olur diye düşündüm. Yani aynı doubleclick olayı içerisinde kullanacagım renk degiştirme kodunu verirseniz sevinirim.

Ayrıca mesela A4 hücresinin içi boş ise sayfa yazdırılmadan önce bir uyarı gelmesi için (javascriptteki alert fonksiyonu gibi) hangi kodu kullanabilirim. Sayfa yazdırma öncesi olayı mevcut mu acaba . Sheet_before_print şeklinde bir kod var mıdır acaba?

Teşekkürler !
 
Katılım
9 Ocak 2006
Mesajlar
5
Arkadaşlar renk kodunu hallettim.

Fakat sayfa yazdırmadan önceki boş hücreyi uyaran kodu hala oluşturamadım
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Elbette VBA da böyle bir event mevcuttur. Aşağıdaki evente ThisWorkbook sayfasına kopyalayarak deneyin.

[vb:1:dee19d632f]Private Sub Workbook_BeforePrint(Cancel As Boolean)
.
.
.Kendi kodlarınız.
.
.
End Sub
[/vb:1:dee19d632f]

Çift tıklana hücrenin renklenmesi içinde aşağıdaki ilaveler yapılabilir.

[vb:1:dee19d632f]Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Cells.Interior.ColorIndex = xlNone
Set s1 = Sheets("sayfa2")
say = WorksheetFunction.CountA(s1.[a5:a65536]) + 5
s1.Cells(say, "a") = ActiveCell
ActiveCell.Interior.ColorIndex = 6
End Sub
[/vb:1:dee19d632f]
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Yazdırmadan önceki uyarı ile ilgili kodda aşağıdaki gibi olmalıdır. (ThisWorkbook modulüne)

[vb:1:6be8337016]Private Sub Workbook_BeforePrint(Cancel As Boolean)
If [a4] = 0 Then sor = MsgBox("A4 HÜCRESİ BOÞTUR YAZDIRMAK İSTİYORMUSUNUZ", vbYesNo)
If sor = vbNo Then Cancel = True
End Sub
[/vb:1:6be8337016]
 
Katılım
9 Ocak 2006
Mesajlar
5
Levent Hocam teşekkürler.

Tüm kodlar istedigim gibi çalışıyor. Bu kodları degiştirerek yeni uygulamalar yapıyorum.

Kusura bakmayın çünkü forumu gezdikçe soruma cevap olabilecek benzer
yardımlara rastlıyorum. Bugün foruma ilk girişim oldugu için ve acele yardım gerektigi için forumu incelemeden belkide usandırıcı sorular sormuş olabilirim.

Yardımlarınız için teşekkürler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Rica ederim. Ã?zellikle EXCEL DERSANESİ başlığını incelemenizi öneririm.
 
Üst