Toplu formül kopyalarken referans olan hücreleri değiştirme.

Katılım
2 Şubat 2013
Mesajlar
6
Excel Vers. ve Dili
2007 türkçe
Merhaba, 25.000 civarında satırda formül olan bir sayfam var. Bu birinci sayfadaki her bir formül, içerisindeki değerleri diğer bir sayfadaki tablodan alıyor. Örnek :KF sütunu 15000.satır ='Oranlar'!$V$41
Ben bu 25000 satırı birden "KF" sütunundan, "KN" ve "KQ" sütununa birden kopyalamak istiyorum. Ve kopyalarken, ikinci sayfadan almış olduğu veriyi, bir yan sütundan almasını istiyorum. Mesela; KN sütunu 15000.satır ='Oranlar'!$W$41 olacak. KQ sütunu 15000.satır da ='Oranlar'!$X$41 gibi.
Bunların hepsini teker teker yapmak haftalarımı alır. Çok orta düzeyde excel kullanabiliyorum. Bu işlemi yapmanın kolay bir yolu olabilir diye düşünüyorum. Yardımlarınız için teşekkür ederim.
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Sütuna komple aynı formül uygulayacaksanız.:
Şöyle deneyin.
Kod:
Sub formul()

Sheets(1).Range("KN1:KN15000").Formula = "=Oranlar!$W$41"
Sheets(1).Range("KQ1:KQ15000").Formula = "=Oranlar!$X$41"
End Sub
 
Son düzenleme:
Katılım
2 Şubat 2013
Mesajlar
6
Excel Vers. ve Dili
2007 türkçe
Cevabınız için çok teşekkür ederim. Fakat çalışma kitabının ikinci sayfasında da yüzlerce satır ve onlarca sütun var. Yapmam gereken; formülümün içerisinde $ simgelerinin arasında hangi harf varsa, ikinci sayfadaki verilerden, $ simgelerinin arasındaki sütunun bir yanındaki sütundan veriyi alması gerekiyor. Örnek : formül ='Oranlar'!$A$1 ise $B$1 olsun, $B$1 ise $C$1 olsun, $D$5000 ise $E$5000 olsun. Teşekkürler.
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Cevabınız için çok teşekkür ederim. Fakat çalışma kitabının ikinci sayfasında da yüzlerce satır ve onlarca sütun var. Yapmam gereken; formülümün içerisinde $ simgelerinin arasında hangi harf varsa, ikinci sayfadaki verilerden, $ simgelerinin arasındaki sütunun bir yanındaki sütundan veriyi alması gerekiyor. Örnek : formül ='Oranlar'!$A$1 ise $B$1 olsun, $B$1 ise $C$1 olsun, $D$5000 ise $E$5000 olsun. Teşekkürler.
Merhaba

Dosyanızın küçük bir örneğini (üzerinde açıklama ekleyerek)
Yükleyip link verirseniz:
http://www.upturkey.com
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,112
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Arama formülleri ile veriler başka sayfalara aktarılabilir. Eklediğiniz dosyada ÜRÜN1 isimli ürünün karşısına A3 hücresindeki değeri aktarmışsınız. Bunu neye göre belirliyorsunuz. Eğer bir kriter varsa DÜŞEYARA ya da İNDİS+KAÇINCI formülleri ile çözüm üretilebilir.
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
Dosyanıza göre eki inceleyin.
Örnekte formüllerle ve yine "B" sütununda bulunan formüllerden faydalanarak; iki çeşit çözüm bulunuyor.

http://www.upturkey.com/download.php?file=708ornek.zip
Kod:
[SIZE="2"]Private Sub CommandButton1_Click()
Dim s1 As Worksheet
Set s1 = Sheets(1)
Columns("E:H").NumberFormat = "General"
For a = 2 To s1.Cells(s1.Rows.Count, 1).End(xlUp).Row
If s1.Cells(a, 2) <> "" And s1.Cells(a, 2).HasFormula() = True Then
m = Right(s1.Cells(a, 2).Formula, Len(s1.Cells(a, 2).Formula) - InStr(s1.Cells(a, 2).Formula, "!"))
s1.Cells(a, 5).Formula = "=Oranlar!" & Cells(Range(m).Row, Range(m).Column + 1).Address
s1.Cells(a, 8).Formula = "=Oranlar!" & Cells(Range(m).Row, Range(m).Column + 2).Address
s1.Cells(a, 1).Select
End If
Next
End Sub

Private Sub CommandButton2_Click()
Dim s1, s2 As Worksheet
Set s1 = Sheets(1)
Set s2 = Sheets("Oranlar")
For a = 2 To s1.Cells(s1.Rows.Count, 1).End(xlUp).Row
If s1.Cells(a, 2) <> "" And s1.Cells(a, 2).HasFormula() = True Then
m = Right(s1.Cells(a, 2).Formula, Len(s1.Cells(a, 2).Formula) - InStr(s1.Cells(a, 2).Formula, "!"))
s1.Cells(a, 5) = s2.Cells(Range(m).Row, Range(m).Column + 1)
s1.Cells(a, 8) = s2.Cells(Range(m).Row, Range(m).Column + 2)
s1.Cells(a, 1).Select
End If
Next
End Sub[/SIZE]

25000 satıra formül uygulamak dosyanızı ağırlaştıracaktır.
Dosyanıza göre "A" sütununda bulunan ürünlerin karşısına mesela "B" sütununa belli bir kriter
konularak Oran sayfasından makrolarla fiyatlar getirilebilir.
 
Son düzenleme:
Katılım
2 Şubat 2013
Mesajlar
6
Excel Vers. ve Dili
2007 türkçe
PLİNT sorunu çözmeme yardımcı olabilecek kimse varmı acaba ?
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba

Eki inceleyin.
http://www.upturkey.com/download.php?file=189orjinalornek.zip

Kod:
Private Sub CommandButton1_Click()
Dim s1 As Worksheet
Set s1 = Sheets("KANAL")
Columns("kn:KQ").NumberFormat = "General"
For a = 14 To s1.Cells(s1.Rows.Count, "KF").End(xlUp).Row
If s1.Cells(a, "KF") <> "" And s1.Cells(a, "KF").HasFormula() = True Then
m = Right(s1.Cells(a, "KF").Formula, Len(s1.Cells(a, "KF").Formula) - InStr(s1.Cells(a, "KF").Formula, "!"))
s1.Cells(a, "KN").Formula = "='Kar Oranları'!" & Cells(Range(m).Row, Range(m).Column + 1).Address
s1.Cells(a, "KQ").Formula = "='Kar Oranları'!" & Cells(Range(m).Row, Range(m).Column + 2).Address
s1.Cells(a, "KN").Select
End If
Next
End Sub
 
Üst