Tablo bilgilerini diğer tabloya aktarmak

Katılım
18 Nisan 2005
Mesajlar
67
iki adet aynı workbook içinde yer alan sheet dosyam mevcut. Biri konsolide bilgileri içeriyor, diğeri ise konsolideye aktarılacak bilgi girişi için kullanılıyor.

Ã?rnek;

Sheet 2 de bir tablo var bu tablonunun hücrelerine (aşağıya doğru) bilgiler giriliyor. Bu bilgilerin sheet 1 deki aynı satırda yer alan hücreler içine tek tek yazdırılması gerekiyor. Bu aşamadan sonra bir başkası yine sheet 2 deki bilgileri (farklı bilgilerle) doldurup makroyu çalıştırdığında bir alt satıra bu yeni bilgilerin aktarılması gerekiyor.

Mesela; sheet 2 deki B2 hücresinin sheet 1 deki A1 hücresine, sheet 2 deki C2 hücresinin, sheet 1 deki E1 hücresine vs. gibi olması gerekiyor. Burada sheet 2 deki bilgi hücreleri sabit, ama sheet 1 de her makro çalıştırıldığında bir alt satır kullanılması gerekiyor.

Benim yapmaya çalıştırdığım makrolar sadece tek satırda çalışıyor. İÞlemi kaydettiğim satırda. Diğerlerinde bilgi girişi olmuyor.

Bu konuda yardımcı olabilirseniz sevinirim.

edit:Başlık değiştirildi.
 

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ığınız makroyu verirseniz küçük bir ilave ile çözüm bulabiliriz.
 
Katılım
18 Nisan 2005
Mesajlar
67
Yaptığım makro girişleri aşağıda yer almakta. Yardımlarınız için şimdiden teşekkürler

syg

Sub AKTARMA()
'
' AKTARMA Macro
' Macro recorded 19/04/2005 by DENIZBANK
'

'
ActiveCell.FormulaR1C1 = "='Sheet1 (2)'!R[-1278]C4"
Range("C1292").Select
ActiveCell.FormulaR1C1 = "='Sheet1 (2)'!R[-1287]C2"
Range("D1292").Select
ActiveCell.FormulaR1C1 = "='Sheet1 (2)'!R[-1281]C2"
Range("E1292").Select
ActiveCell.FormulaR1C1 = "='Sheet1 (2)'!R[-1285]C2"
Range("F1292").Select
ActiveCell.FormulaR1C1 = "='Sheet1 (2)'!R[-1286]C2"
Range("G1292").Select
ActiveCell.FormulaR1C1 = "='Sheet1 (2)'!R[-1239]C4"
Range("H1292").Select
ActiveWindow.SmallScroll ToRight:=5
Range("K1292").Select
ActiveCell.FormulaR1C1 = "='Sheet1 (2)'!R[-1280]C4"
Range("L1292").Select
ActiveCell.FormulaR1C1 = "='Sheet1 (2)'!R[-1277]C10"
Range("M1292").Select
ActiveCell.FormulaR1C1 = "='Sheet1 (2)'!R[-1274]C12"
Range("N1292").Select
ActiveCell.FormulaR1C1 = "='Sheet1 (2)'!R[-1243]C12"
Range("P1292").Select
ActiveCell.FormulaR1C1 = "='Sheet1 (2)'!R[-1245]C1"
Range("P1293").Select
ActiveWindow.SmallScroll ToRight:=4
Range("Q1292").Select
ActiveCell.FormulaR1C1 = "='Sheet1 (2)'!R[-1274]C8+'Sheet1 (2)'!R[-1273]C8"
Range("R1292").Select
ActiveCell.FormulaR1C1 = "='Sheet1 (2)'!R[-1272]C8+'Sheet1 (2)'!R[-1271]C8"
Range("S1292").Select
ActiveCell.FormulaR1C1 = "=RC[-2]+RC[-1]"
Range("S1293").Select
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Rows("1292:1292").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B1292").Select
End Sub
 

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
Bu şekilde anlamak çözüm bulmak zor görünüyor,makronuz 1292 nolu satırda formül yazıyor, anladığım kadarı ile bu 1292 satırnosunun her seferinde bir artmasını istiyorsunuz. Bu şekilde yazılacak bir kodu kendi dosyanıza adepte etmekte zorluk çekebilirsiniz. Eğer özellikle tablolarınızın sınırlarını gösteren bir örnek eklerseniz onun üzerinden gidelim.
 
Katılım
18 Nisan 2005
Mesajlar
67
EKTE DOSYAYI GÃ?NDERMEKTEYİM.

TABLONUN "AÇIKLAMA " İSİMLİ SHEETİNDE TABLO HAKKINDAKİ TÜM BİLGİLERİ VERMEYE ÇALIÞTIM. ORAYA BAKABİLİRSENİZ SEVİNİRİM

SYG
 

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
Ekte bir örnek hazırladım inceleyiniz. Umarım doğru anlamışımdır. Sayda2 deki butona bastığınızda formdaki verileri sayfa1de yerlerine yazıyor. Her seferinde boş olan satırdan devam edecektir.
 
Katılım
18 Nisan 2005
Mesajlar
67
Gerçekten mükemmel... Ellerine sağlık. Peki bir şey daha istesem... sheet 2 ye giriş yapıldıktan sonra bir başkası yeni giriş yapacağı zaman alanın temizlenmesi için bir makro koyabilirmiyiz? Çünkü bazı alanlar temizlenirken makro bozulabilir diye düşünüyorum. Bunu riske atmamak lazım.

syg
 

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
Makroyu bozacak tek şey hesaplamalarda kullandığı verileri aldığı hücrelerde rakam yerine metin bulunmasıdır. Ama silme işini makro ile yapmak istiyorum derseniz aşağıdaki kodu silmek istediğiniz hücrelerin tamamında isimlendirin ve alt alta yazın. Ã?rneğin aşağıdaki kodda A1 vw B1 hücreleri silinir.

sheets("sheet2").[a1].clearcontents
sheets("sheet2").[b1].clearcontents
.
.
.
 
Katılım
18 Nisan 2005
Mesajlar
67
Birşey daha var. Size gönderdiğim dosya asıl dosyam değil örnek dosyaydı. Asıl dosyada mevcut bir çok kayıt var zaten (konsolide dosyada) 1292. satıra kadar dolu. Sizin makroyu benim ana dosyama aktarmaya çalıştım ama nedense başarılı olamadım. Hatta ana dosyadaki bilgileri sizin gönderdiğiniz dosyaya kopyaladım ve yinede başarılı olmadı. Bir hata yapıyorum. Bu makroyu benim ana dosyama nasıl taşıyacağım.

syg
 

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
Makro; mevcut dosyadaki satır ve sütunları dikkate alıyor,eğer asıl dosyanızda satır ve sütun yerleri farklı ise makro çalışmayacaktır. Ã?rneğin Sheet1'deki tablonun en son satırının hangisi olduğu bilgisi B sütununun en son satırından alınmaktadır. eğer B sütunununz boşsa makro en üst sıradan yazmaya başlar.
 
Üst