Sipariş tablosu birleştirmek

Katılım
30 Kasım 2005
Mesajlar
51
şöyle bir sorum olacak

10 ayrı sheet ten oluşacak bir excel kitabıı oluşturacam ve onbirinci shette ise öyle bişey yapmam lazım ki diğer 10 sheetdeki değerler tarih ve saat dilimine göre hepsi birleşip altalta bir tablo oluştursun

bunun için yardımlarınızı istiyorum

saygılarımla

kullandığım excell 2007 ingilizce
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Küçük bir dosya ekleyerek sorunuzu detaylı açıklarsanız daha kısa ve net cevaplar alırsınız. ( Farklı kaydet den 2003 formatında kaydederek eklemeye özen gösteririniz)

.
 
Katılım
30 Kasım 2005
Mesajlar
51
tablo olarak böyle bir görünüm olacak ve her bir giriş yapıldıkça otomatikmen birleştirilmiş sayfasınada tarih ve saat sırasına göre eklensin
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Buton kullanırsanız daha doğru olur. Yada kodları sayfanın Activate olayına yazarak kullanabilirsiniz. Birleştir sayfasına girince verileri aktarılır. Eğer veri girişine göre yapılacaksa sayfadaki hangi sütunu tetikleyici özelliği olacak. Yani en son hangi sütuna veri girilince aktarma yapılacak.

Buna göre bilgi verirseniz tercihinize göre kodları değiştireyim.

Kodları module kopyalayarak çalıştırın.

Kod:
Option Explicit
 
Sub SayfaBirlestir()
Dim sayfa As Worksheet, sat, sat1 As Long, sut As Integer, S1 As Worksheet
Set S1 = Sheets("Birleştirilmiş Tablo")
Application.ScreenUpdating = False
S1.Select
Range("A2:F65536").ClearContents
sut = [IV1].End(1).Column
    For Each sayfa In Sheets
        If sayfa.Name <> "Birleştirilmiş Tablo" Then
            sat = sayfa.[B65536].End(3).Row
            sat1 = [B65536].End(3).Row + 1
            sayfa.Range(sayfa.Cells(3, "A"), sayfa.Cells(sat, sut)) _
            .Copy S1.Range("A" & sat1)
        End If
    Next sayfa
Columns("A:F").EntireColumn.AutoFit
Range("A2:F65000").Sort Range("B2"), Key2:=Range("C2")
Application.ScreenUpdating = True
Set S1 = Nothing
End Sub
.
 
Katılım
30 Kasım 2005
Mesajlar
51
öncelikle yardımlarınız için çok teşekkürer
buton kullanımı nasıl yapacağımı bilmiyorum
sadece şunu diyebilirim malzemeyi girdiği an tetiklesin ve sondaki listeye göndersin
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Önce boş bir excel sayfası açın menü çubuğundan Araçlar / Makro / Güvenlik ekranına girin Düşük(önerilmezi) işaretleyerek tamam butonuna basarak sayfayı kapatın. Bu işlemi kullandığınız bilgisayarda bir defa yapmanız yeterli olur.

Daha sonra kendi çalımanızı açın Araçlar / Makro / Visual Basic Düzenleyicisi ( Kısayol tuşu Alt F11 dir ) menüsüne girin açılan ekranda sol kısımda ThisWorbook ismi vardır ona çift tıklayın gelen ekrana aşağıdaki kodları yapıştırın.

Kodların çalışma mantığı; Birleştirilmiş Tablo sayfası hariç herhangi bir sayfada F sütununa değer girdikten sonra o satır Birleştirilmiş Tablo sayfasına aktarılır. Yani tetikleyici hücre F sütunundaki hücrelerdir. ( Tutar hücresi )



Kod:
Option Explicit
 
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error GoTo Son
Dim Satır, Sütun As Long, S1 As Worksheet
If ActiveSheet.Name = "Birleştirilmiş Tablo" Then Exit Sub
Set S1 = Sheets("Birleştirilmiş Tablo")
If Intersect(Target, [F2:F65536]) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
Satır = S1.[B65536].End(3).Row + 1
Sütun = [IV1].End(1).Column
Range(Cells(Target.Row, "A"), Cells(Target.Row, Sütun)) _
.Copy S1.Range("A" & Satır)
Son:
End Sub
.
 
Katılım
30 Kasım 2005
Mesajlar
51
teşekkürler üstad
ama benim kullandığım 2007 ingilizce
menü çubuğunun iglizce türkçe (2003-2007) gösteren bi çizelge varmıdır acaba
ilgi alakanıza da teşekkürler
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Dil seçeneği yoktur. İngilizce vede 2007 kullanmadığım için tam olarak tarifini yapamam maalesef. Menüleri kurcalayarak bulmaya çalışın. Türçe olarak, sol üst köşedeki simgeden excel seçenekleri bölümüne girerek güvenlik bölümünden makro güvenliklerini söylediğim şekilde değiştirebilirsiniz. Kod lar için Alt F11 kısa yoluyla aynı menüye girip kodları söylediğim şekilde kopyalayın. Yalnız 2007 de makrolu dosyaların kayıt türü farklı dır. Dosyayı farklı kaydet seçeneklerinden "Excel Makro Etkin Çalışma Kitabı" olarak kaydedip kapatın ve açıp işlem yaparak gözlemleyin. 2007 vede ingilizce sürüm olmadığı için bu kadar açıklayabiliyorum.

İyi çalışmalar..

.
 
Üst