• DİKKAT

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

Bir sayfadan diğer sayfaya butonla veri aktarma

Katılım
23 Ocak 2011
Mesajlar
293
Excel Vers. ve Dili
2007 excel
Slm,
a,b,c, sayfalarının a10 :a40 hücreleri arasındaki verileri BEP butonuna basarak bep sayfasının a31 hücresinden itibaran aktarmak istiyorum. NAsıl bir makro yazabiliriz.
 

Ekli dosyalar

. . .

A-B-C sayfalarındaki boş satırlarıda aktaracak mı ?

. . .
 
boş satıra gerek yok... Ama başka sayfalarda ekleyeceğim onların o satırlarında veriler olabilir.
 
. . .

Kod:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False

sayfasay = Application.Sheets.Count - 1
bepsay = 31
Sheets(4).Range("A31:A65536").ClearContents

For i = 1 To sayfasay
For a = 10 To 40
If Sheets(i).Cells(a, "a") <> "" Then
Sheets(4).Cells(bepsay, "a") = Sheets(i).Cells(a, "a")
bepsay = bepsay + 1
Else
End If

Next a
Next i

Application.ScreenUpdating = True
End Sub

. . .
 
Hüseyin bey,önce bep sayfasının a31-a65 hücrelerini temizleyip sonra veriyi aktarabilirmiyiz. (yada az önce sormuştunuzya boş hücrleride aktarsak çünkü diğer öğrencinin verilerinden o sayfada kalmaması lazım)
 
. . .

BEP sayfasının işlem bitiminde olması gereken halini gösteren, bir örnek yükleyiniz.

. . .
 
merhabalar

Stokları excel de bir tablo ile takip etmek istiyorum.Benim yapmaya çalıştığım ancak bilgimin eksik olmasından dolayı bir türlü beceremediğim işlemi bir örnekle açıklamak istiyorum. Mesela çıkış olarak A deposu ve Giriş olarak da C deposu seçilmiş olsun . Bu durumda seçilen miktar kadar A deposundan çıkarak eksilecek aynı miktarda da C deposuna giriş yapılarak artırılacak. ve bu işlemi hergün için yeni bir kolon ile yapabilmek istiyorum.Aslında yapmaya çalıştığım depolar arasında
basit bir transfer işlemi.ancak aynı zamanda da hangi gün hangi depoya haftalık yada aylık neler girip çıkmış bunu görebilmek.
Bu konuda yardımcı olacak arkadaşlara şimdiden teşekkür ederim.
 

Ekli dosyalar

Slm,
Bu kodla a,b,c sayfasındaki tüm verileri bep sayfasına sırayla ekliyor.Benim istediğim a sayfasındaki bep butonuna basınca sadece a sayfasındaki verileri eklesin b sayfasındaki bep butonuna basınca sadece b sayfasındaki verileri yazsın ,c sayfasındaki bep butonuna basınca sadece c sayfasındaki verileri yazsın.. yani a sayfasındaki bep butonuna basınca a sayfasındaki verileri yazsın daha sonra b sayfasındaki bep butona basınca a sayfadan gelen verileri temizleyip b sayfasındaki verileri getirsin...
 

Ekli dosyalar

Slm,
Bu kodla a,b,c sayfasındaki tüm verileri bep sayfasına sırayla ekliyor.Benim istediğim a sayfasındaki bep butonuna basınca sadece a sayfasındaki verileri eklesin b sayfasındaki bep butonuna basınca sadece b sayfasındaki verileri yazsın ,c sayfasındaki bep butonuna basınca sadece c sayfasındaki verileri yazsın.. yani a sayfasındaki bep butonuna basınca a sayfasındaki verileri yazsın daha sonra b sayfasındaki bep butona basınca a sayfadan gelen verileri temizleyip b sayfasındaki verileri getirsin...

. . .

Kod:
Sub kod()
Dim SB As Worksheet
Set SB = Sheets("BEP")

For i = 10 To 39
son = WorksheetFunction.CountA(SB.Range("A31:A65535")) + 31
If Cells(i, "A") <> "" Then
SB.Cells(son, "A") = Cells(i, "A")
Else
End If
Next i

i = Empty
son = Empty
Set SB = Nothing

End Sub

. . .
 
Hüseyin Bey, a sayfasındaki bep butonuna bastım verileri aktardı. b sayfasındaki bep butonuna bastım o verileri aktardı. Ancak b sayfasındaki bep butonuna basınca a sayfasından gelen verilerin altına yazdı.Oysa a sayfasından gelen verileri silip tekrar a31 den başlayarak yazmasını istiyorum...
 
Hüseyin Bey,bu kodun önüne nasıl bep sayfasının a31:a65 hücrelerini temizleletip veriyi ekleme şeklinde yapabiliriz.
 
. . .

Benim soru algılamamda mı sorun var bir türlü çözemedim ?
Sizden tablonun bitmiş halini gösteren bir tablo istedim. Oradaki listede bütün sayfalardaki veriler vardı.

Sorunun son hali için aşağıdaki kodları deneyiniz.

Kod:
Sub kod()
Application.ScreenUpdating = False
Dim SB As Worksheet
Set SB = Sheets("BEP")
son = 31
[B]SB.Range("A31:A65").ClearContents[/B]
For i = 10 To 39
If Cells(i, "A") <> "" Then
SB.Cells(son, "A") = Cells(i, "A")
son = son + 1
Else
End If
Next i

i = Empty
son = Empty
Set SB = Nothing
Application.ScreenUpdating = True
MsgBox " B İ T T İ "

End Sub

. . .
 
Çok teşekkür ederim.. TAm istediğim gibi...
 
Geri
Üst