Verileri arka sayfada son alt satıra işleme

Katılım
8 Eylül 2005
Mesajlar
476
Excel Vers. ve Dili
Excel 2003 - Türkçe
Ekte sunulan örnekteki Üretim sayfasındaki verileri Analiz sayfasına getirmek istiyorum. Üretim sayfasındaki veriler her değiştiğinde Analiz sayfasının son alt satıra işlensin.

Teşekkürler...
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Aşağıdaki kodları, standart bir modül sayfasına kopyalayarak çalıştırınız.

Kod:
Sub Aktar()
Dim shU As Worksheet, shA As Worksheet
Dim hcr As Range
Dim i%, son%, k%
Set shU = Sheets("uretim")
Set shA = Sheets("analiz")
son = shA.Cells(65536, 1).End(xlUp).Row + 1
shA.Cells(son, 1) = shU.[I2]
For i = 2 To 5
    shA.Cells(son, i) = shU.Cells(i + 3, 2)
Next i
k = 5
For Each hcr In shU.Range("E5:F9").Cells
    k = k + 1
    shA.Cells(son, k) = hcr.Text
Next
Set shU = Nothing
Set shA = Nothing
End Sub
 
Katılım
8 Eylül 2005
Mesajlar
476
Excel Vers. ve Dili
Excel 2003 - Türkçe
Hocam emeğinize ve teşekkürler. Saygılar , hürmetler...
 
Katılım
8 Eylül 2005
Mesajlar
476
Excel Vers. ve Dili
Excel 2003 - Türkçe
Hocam affınıza sığınarak bir şey sorsam. Ben üretim sayfasına yeni veriler girip onları da aktarmak istesem nasıl tanımlayabilirim?


Saygılarımla..
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Aynı hücrelere veri girecekseniz, mevcut kod işinizi görür... Fakat, bu sayfaya başka tablolar ilave edip, onları diğer sayfaya aktarmak istiyorum diyorsanız, kodlarda bir düzenleme yapmak şart olur.
 
Katılım
8 Eylül 2005
Mesajlar
476
Excel Vers. ve Dili
Excel 2003 - Türkçe
Hocam ilgi ve desteğinize teşekkürler.

Mesela Üretim sayfasına A9 hücresine AAA, B9 hücresine 444 yazdım. Bunu da Analiz sayfasına göndermek için nasıl tanımlayabilirm?

Saygılarımla..
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Kodlarınıza; şu satırı da ilave ederseniz, istediğinizi yapabilirsiniz..

Varsaym : Üretim sayfasındaki B9 değerinin, Analiz sayfasında P sütununa ilave edileceği varsayılmıştır.

Kod:
shA.[COLOR=blue][B]Cells(son, 16)[/B][/COLOR] = shU.[[COLOR=red][B]B9[/B][/COLOR]]
Benzer şekilde, başka hücreleri de birbirine eşitleyebilirsiniz. Mavi kısımdaki 16 değeri, "P" sütununun sıra numarasıdır. Siz yeni bir alan ilave ederseniz, yeni alanı 17. sütuna (yani Q sütununa) yazdırmalısınız.
 
Katılım
8 Eylül 2005
Mesajlar
476
Excel Vers. ve Dili
Excel 2003 - Türkçe
Hocam Allah razı olsun.

Sayenizde pratik bilgilere kolayca erişiyor, ufkumuz genişliyor. İyi ki varsın excel.web, iyi varsınız bilginin yardımsever dostları.

Eğitici emeğinize sonsuz teşekkürler.
 
Son düzenleme:
Katılım
8 Eylül 2005
Mesajlar
476
Excel Vers. ve Dili
Excel 2003 - Türkçe
Hocam eklemeyi beceremedim. Üretim sayfasında B19, B20, B21, B22 Hücrelerini de aktar makrosuna ilave etmeniz münkün mü? Makro çalışınca bu hücrelerdeki değerlerin de Analiz sayfasına gitmesi gerekiyor.

Saygılar..
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Bunun için aşağıdaki satırları, kodlarınıza ilave etmelisiniz.

Kod:
[COLOR=red]shA.Cells(son, 17) = shU.[B19][/COLOR]
[COLOR=red]shA.Cells(son, 18) = shU.[B20][/COLOR]
[COLOR=red]shA.Cells(son, 19) = shU.[B21][/COLOR]
[COLOR=red]shA.Cells(son, 20) = shU.[B22][/COLOR]
Yani, son durumda, kodlarınız şöyle olacak

Kod:
Sub Aktar()
Dim shU As Worksheet, shA As Worksheet
Dim hcr As Range
Dim i%, son%, k%
Set shU = Sheets("uretim")
Set shA = Sheets("analiz")
son = shA.Cells(65536, 1).End(xlUp).Row + 1
shA.Cells(son, 1) = shU.[I2]
For i = 2 To 5
    shA.Cells(son, i) = shU.Cells(i + 3, 2)
Next i
k = 5
For Each hcr In shU.Range("E5:F9").Cells
    k = k + 1
    shA.Cells(son, k) = hcr.Text
Next
 
shA.Cells(son, 16) = shU.[B9]
 
[COLOR=red]shA.Cells(son, 17) = shU.[B19][/COLOR]
[COLOR=red]shA.Cells(son, 18) = shU.[B20][/COLOR]
[COLOR=red]shA.Cells(son, 19) = shU.[B21][/COLOR]
[COLOR=red]shA.Cells(son, 20) = shU.[B22][/COLOR]
Set shU = Nothing
Set shA = Nothing
End Sub
 
Katılım
8 Eylül 2005
Mesajlar
476
Excel Vers. ve Dili
Excel 2003 - Türkçe
Hocam çok çok teşekkürler. Bir de E sütunu ile G sütunundaki bilgilerin gelmesini istiyorum. F sütunun gelmesini önleyebilir miyiz?

Saygılar, hürmetler..
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Kusura bakmayın, ben ona dikkat etmemişim. Aşağıdaki, kodu deneyin.

Kod:
Sub Aktar()
Dim shU As Worksheet, shA As Worksheet
Dim hcr As Range
Dim i%, son%, k%
Set shU = Sheets("uretim")
Set shA = Sheets("analiz")
son = shA.Cells(65536, 1).End(xlUp).Row + 1
shA.Cells(son, 1) = shU.[I2]
For i = 2 To 5
    shA.Cells(son, i) = shU.Cells(i + 3, 2)
Next i
k = 6
For i = 5 To 9
    shA.Cells(son, k) = shU.Cells(i, 5)
    shA.Cells(son, k + 1) = shU.Cells(i, 7)
    k = k + 2
Next i
shA.Cells(son, 16) = shU.[B9]
shA.Cells(son, 17) = shU.[B19]
shA.Cells(son, 18) = shU.[B20]
shA.Cells(son, 19) = shU.[B21]
shA.Cells(son, 20) = shU.[B22]
Set shU = Nothing
Set shA = Nothing
End Sub
 
Katılım
8 Eylül 2005
Mesajlar
476
Excel Vers. ve Dili
Excel 2003 - Türkçe
Hocam emeğine sağlık. Çok teşekkürler..
 
Katılım
8 Eylül 2005
Mesajlar
476
Excel Vers. ve Dili
Excel 2003 - Türkçe
Hocam,

Verilerden birinin yeri değişti. İptal edilmesi gerekeni iptal ettim. Bir hücrenin araya girmesi gerek.

Saygılarımla...
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Merhabalar

Kodu aşağıdaki gibi revize etmeniz gerekir.

Kod:
Sub Aktar()
Dim shU As Worksheet, shA As Worksheet
Dim hcr As Range
Dim i%, son%, k%
Set shU = Sheets("uretim")
Set shA = Sheets("analiz")
son = shA.Cells(65536, 1).End(xlUp).Row + 1
shA.Cells(son, 1) = shU.[I2]
For i = 2 To 4
    shA.Cells(son, i) = shU.Cells(i + 3, 2)
Next i
shA.Cells(son, 5) = shU.Cells(17, "E")
k = 6
For i = 6 To 10
    shA.Cells(son, k) = shU.Cells(i - 1, 5)
    shA.Cells(son, k + 1) = shU.Cells(i - 1, 7)
    k = k + 2
Next i
shA.Cells(son, 16) = shU.[B9]
shA.Cells(son, 17) = shU.[B19]
shA.Cells(son, 18) = shU.[B20]
shA.Cells(son, 19) = shU.[B21]
shA.Cells(son, 20) = shU.[B22]
Set shU = Nothing
Set shA = Nothing
End Sub
 
Katılım
8 Eylül 2005
Mesajlar
476
Excel Vers. ve Dili
Excel 2003 - Türkçe
Çok teşekkürler Sayın fpc.

Emeğinize sağlık.

Saygılar...
 
Katılım
8 Eylül 2005
Mesajlar
476
Excel Vers. ve Dili
Excel 2003 - Türkçe
Hocam,

Makroyu ekledim. Eklerken aşağıdaki uyarı mesajı geldi. Güzel çalışıyor ama kapanırken yine aynı mesaj geliyor.
"Excel bir formülü hesaplıyamıyor,Formüldeki hücre başvuruları Döngüsel......"

Saygılarımla...
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Sn.Galus

Bahsettiğiniz sorun, size gönderdiğim makro ile ilgili değildir. Çünkü; makro, sadece hücre değerleri ile ilgili işlem yapmaktadır. Ne yeni bir formül yaratır ne de varolan bir formülü revize eder. (Aldığınız hata tamamen formüllerle alakalı bir hatadır)

Döngüsel Başvuru aldığınız hücreye bakınız. Bunun için Durum Çubuğunda ilgili hücrenin adresi yazılıdır. Bu hücre adresindeki formülünüzü kontrol edin. Muhtemelen kendini de hesaba katan bir toplama işlemi öngörmüş olabilirsiniz.
 
Katılım
8 Eylül 2005
Mesajlar
476
Excel Vers. ve Dili
Excel 2003 - Türkçe
Hocam, haklısınız iptal edilmeyen eski bir formül nedeniyle bu hata oluşmuş. Hatayı temizlememdeki desteğiniz için ayrıca teşekkürler.


Saygılarımla...
 
Üst