Veri Aktarma...

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
402
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Merhaba arkadaşlar,
Bir butonum var.Bu butona tıkladığım zaman A1 hücre değerini B1 hücresine yazmasını istiyorum. Ben butona her tıkladığımda A1 değerini B sütununda bir alt hücreye (B2,B3,B4...) kopyalasın.
Not 1): B sütununa aktarılan veriler sabit kalacak, her defasında silinmeyecek.
Not 2): A1 hücresini, yani veri alınacak hücreyi başka bir sayfada tanımlamak istersek bunun için hangi kod parçasını eklemeliyiz?
Herkese teşekkür ederim...
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Bir butonum var.Bu butona tıkladığım zaman A1 hücre değerini B1 hücresine yazmasını istiyorum. Ben butona her tıkladığımda A1 değerini B sütununda bir alt hücreye (B2,B3,B4...) kopyalasın.
Aşağıdaki kodları deneyin

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim r As Integer
r = WorksheetFunction.CountA(Range("b:b"))
Cells(r + 1, 2) = Range("a1")
Application.ScreenUpdating = True
End Sub


Başka sayfadan veri almanız durumunda örnegin Sayfa2 nin A2 hücresinden alacaksanız

Cells(r + 1, 2) = Sheets("Sayfa2").Range("a2")

kısmını düzenlemeniz lazım.
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
402
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Çok teşekkür ederim. Peki veriyi başka bir sayfaya göndermek istersek ??????
Veri ile buton aynı sayfada yani...(Kusura bakma, uyarlamaya çalıştım ama başaramadım.Onun için sormak zorunda kaldım.)
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim r As Integer
r = WorksheetFunction.CountA(Sheets("Sayfa2").Range("b:b"))
Sheets("Sayfa2").Cells(r + 1, 2) = Sheets("Sayfa1").Range("a2")
Application.ScreenUpdating = True
End Sub

Buna göre Sayfa1 deki a2 hücresindeki değer Sayfa2 deki B hücrelerine alt alta sırayla yazılır
 
Katılım
9 Mayıs 2006
Mesajlar
88
Excel Vers. ve Dili
excel 2003
Selamlar
Bende excel makro olayına yeni başladım da. Yukarıdaki kodlarda aklıma bişey takıldı.
r = WorksheetFunction.CountA(Sheets("Sayfa2").Range("b:b"))
bu kod B sütünundaki dolu hücre sayısını veriyor sanırım.Bu durumda B sütünuna veri girişi 2 yada 3. satırdan başladıysa program hatalı çalışacak gibi. Hatalı mı düşünüyorum...
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Sn atöz,

Sn aliakgul, B1 hücresinden itibaren A2 deki verilerin alt alta yazılmasını istemiş bende bunu dikkate alarak;

r = WorksheetFunction.CountA(Sheets("Sayfa2").Range("b:b")) ile en son hücre bulduruyorum en dolu veri 6 satır olsun.

r=6 olacak veri 7' ye yazılması gerekecek bunun içinde Cells(r + 1, 2) ile bir fazlalaştırılması gerekecek.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
atöz' Alıntı:
Bu durumda B sütünuna veri girişi 2 yada 3. satırdan başladıysa program hatalı çalışacak gibi. Hatalı mı düşünüyorum...

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim r As Integer
r = Cells(65536, 2).End(xlUp).Row
Cells(r + 1, 2) = Range("a1")
Application.ScreenUpdating = True
End Sub

şeklinde deneyin
 
Katılım
9 Mayıs 2006
Mesajlar
88
Excel Vers. ve Dili
excel 2003
Teşekkür ederim.

Application.ScreenUpdating = False ve Application.ScreenUpdating = True kodlarının fonksiyonu konusunda bilgi verebilir misiniz ?
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Elimdeki olan bilgiyi şu şekilde yazabilirim
Excel bir makro içinde programlanan farklı eylemleri gerçekleştirdiği zaman, ekran bu eylemleri yansıtacak şekilde değişir. Ekran güncellemeleri,makro içindeki eylemler kadar hızlı bir şekilde gerçekleşmeyebilir ve farklı adımlar gerçekleştirilirken ekran yanıp sönüyormuş gibi görüntülenebilir. Bu ekran güncelleştirilmesi bir miktar süreye ihtiyaç duyduğundan makronun çalışması yavaşlayabilir.

Ekranın bu yanıp sönmesini en aza indirgemek için ve özellikle uzun işlemler gerektiren makrolar için işlem zamanını birkaç saniye kısaltmak için ScreenUpdating özelliği kullanılarak ekran güncellemeleri etkisiz hale getirilebilir.

Makronun başında Application.ScreenUpdating = False olarak ayarlamak Excel'e bu özellik True olana kadar işlem sırasında ekran güncellememesi komutunu verir.
 
Katılım
9 Mayıs 2006
Mesajlar
88
Excel Vers. ve Dili
excel 2003
Ok çok teşekkürler paylaştığınız bilgiler için..
 
Katılım
2 Mayıs 2006
Mesajlar
41
peki bunu nasıl genişletebiliriz. yani;
1-sayfa1 deki a1,b1,c1,d1....gibi hücrelere girdiğimiz verileri sayfa2 deki a1,b1,c1,d1.... gibi hücrelere alt alta gelecek şekilde sıralamak istersek nasıl yapmalıyız.
2-ayrıca buna "DEĞİŞTİR" "SİL" butonları da eklesek nasıl yapılmalı.
3-veri aktardığımız sayfa2 deki sıralanmış verilerden ortadaki bir veya birkaçını silsek, diğer verileri aktarmada hata verirmi acaba?
bu şekilde genel bir şey yapılırsa herkes kendisine göre düzenler ve kullanır gibi geliyor.
teşekkürler.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Sn masya,

Levent Bey'in, bu konu ile ilgili hazırladığı örneği incelerseniz sizin için faydalı olacağına inanıyorum. İyi çalışmalar

http://www.excel.web.tr/viewtopic.php?t=16560
 
Üst