• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

satır sayısını değişken ile atama hk.

Katılım
7 Mayıs 2009
Mesajlar
24
Excel Vers. ve Dili
2007 small bussines
arkadsalar bir tablo hazırlıyorum ve kayıt tutulacak basit bişi yapmak işstiyorum accese falan gerek yok. 1.sheet de a1 den a9 a kadar deger gırılecek ve bu degerlerı 2.sheet de a1 den a9 a akdar yazacak ve eger 2.sheet te a1-a9 arası dolu ıse bunu otomatık oalrak a1+10 basamak asagı ya yanı a11 sutunundan ıtıbaren yazacak. bunun kodu nedir.
 
Ustalar daha iyi bir çözüm sunabilirler ama sanırım aşağıdaki kodlar da işinizi görür.


Sub Makro1()
Application.ScreenUpdating = False
Sheets("Sayfa1").Select
Range("A1:A9").Select
Selection.Copy
Sheets("Sayfa2").Select
Range("A65536").Select
Selection.End(xlUp).Select
If ActiveCell = [A1] Then
'ActiveCell.Offset(2, 0).Select
ActiveSheet.Paste
Range("A1").Select
ElseIf ActiveCell <> [A1] Then
ActiveCell.Offset(2, 0).Select
ActiveSheet.Paste
Range("A1").Select
End If
Sheets("Sayfa1").Select
Range("A2").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
 
tesekkur ederım ancak su kodları acıklarsan daha cok mutlu olacagım en azından baska yerde de lazım olursa bu kodlardan mantık yurutebılırım.
 
Satırların ne anlamlara geldiğini, hangi adımları izlediğini naçizane anlatmaya çalıştım. Yanlışım varsa ustalar düzeltir diye umuyorum.

...
Application.ScreenUpdating = False 'Sayfa yenilemesini devre dışı bırak
Sheets("Sayfa1").Select ' Sayfa1'i seç
Range("A1:A9").Select 'A1:A9 aralığını seç
Selection.Copy 'Seçimi kopyala
Sheets("Sayfa2").Select 'Sayfa2'yi seç
Range("A65536").Select 'A sütunundaki son hücreye git (En alttaki dolu hücreyi bulmak için)
Selection.End(xlUp).Select 'A sütununda yukarıya doğru çıkmaya başla ve bulduğun ilk dolu hücrede dur
If ActiveCell = [A1] Then 'Eğer bulunan hücre A1 ise (Yani herhangi bir veri yoksa)
'ActiveCell.Offset(2, 0).Select 'Bu satırı silebilirsin, silmeyi unutmuşum
ActiveSheet.Paste 'Seçilen değerleri yapıştır
Range("A1").Select 'A1 hücresini seç
ElseIf ActiveCell <> [A1] Then 'Eğer bulunan hücre A1 değilse
ActiveCell.Offset(2, 0).Select 'Bulunan hücrenin iki altındaki hücreyi seç
ActiveSheet.Paste 'Seçilen değerleri yapıştır
Range("A1").Select 'A1 hücresini seç
End If 'Sorguyu sonlandır
Sheets("Sayfa1").Select 'Sayfa1'i seç
Range("A2").Select 'A2 hücresini seç (Bu satır silinebilir, gereği yok)
Application.CutCopyMode = False 'Seçili alanın uyarısını kapat
Application.ScreenUpdating = True 'Sayfa yenilemesini etkinleştir
...
 
Son düzenleme:
teşekkur ederım tıkır tıkır calısıyor :) Bide baska bir sub ı yanı proseduru nasıl calsıtıra bılırz bu butona tıkladıgında hem bu butonun altındakı komutu calıstırsın hemde baska bır makroyu calıstırsın. muhtemelen 1 satırlık bı kod ama bılmıyorum ıste :)
 
Çalıştırmak istedğiniz kod için, istediğiniz satıra;

Application.Run "makro adı"

yazdığınızda, belirttiğiniz makro çalışacaktır.
 
cok tesekuur ederım. inan benı buyuk bı dertten kurtardın. teşekkurler.
 
Yardımım dokunduysa ne mutlu bana.
 
Geri
Üst