• DİKKAT

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

Makro ile düşeyara yapabilmek !!!

  • Konbuyu başlatan Konbuyu başlatan CHARICH
  • Başlangıç tarihi Başlangıç tarihi
Katılım
1 Mayıs 2015
Mesajlar
26
Excel Vers. ve Dili
excel 2007 - türkçe
Merhaba arkadaşlar, ekte vermiş olduğum dosya bir üretim takip dosyasıdır. Yapmaya çalıştığım, sayfa 1 deki fiş kodu başlıklı A sütunundaki hücrelere bir fiş kodu girdiğim zaman, sayfa 2 de bulunan fiş kodlarının karşılarındaki değerleri sayfa 1 deki gerekli hücrelere getirebilmek.
Şimdiye kadar bunu düşeyara ile basitçe yapıyordum fakat artık dosya boyutları aşırı şişmeye ve formul hesaplamaları yüzünden epey beklemeye başladım. Eğer makro ile bunu başarabilirsem, bu şekilde değiştireceğim bir çok dosyam daha var, yardımlarınızı bekliyorum...
 

Ekli dosyalar

Merhaba arkadaşlar, ekte vermiş olduğum dosya bir üretim takip dosyasıdır. Yapmaya çalıştığım, sayfa 1 deki fiş kodu başlıklı A sütunundaki hücrelere bir fiş kodu girdiğim zaman, sayfa 2 de bulunan fiş kodlarının karşılarındaki değerleri sayfa 1 deki gerekli hücrelere getirebilmek.
Şimdiye kadar bunu düşeyara ile basitçe yapıyordum fakat artık dosya boyutları aşırı şişmeye ve formul hesaplamaları yüzünden epey beklemeye başladım. Eğer makro ile bunu başarabilirsem, bu şekilde değiştireceğim bir çok dosyam daha var, yardımlarınızı bekliyorum...

Merhaba
Kodları denermisiniz
Kod:
Sub numan()
Dim x As Long
Dim s1 As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Set s1 = Sheets("Sayfa2")
Son1 = Sheets("Sayfa2").Cells(Rows.Count, "A").End(3).Row
Alan = "A2:AC" & Son1
satır = 2
For x = 2 To Son1
Range("B" & satır) = WorksheetFunction.VLookup(Range("A" & satır), s1.Range(Alan), 2, 0)
Range("D" & satır) = WorksheetFunction.VLookup(Range("A" & satır), s1.Range(Alan), 4, 0)
Range("E" & satır) = WorksheetFunction.VLookup(Range("A" & satır), s1.Range(Alan), 6, 0)
Range("F" & satır) = WorksheetFunction.VLookup(Range("A" & satır), s1.Range(Alan), 7, 0)
Range("G" & satır) = WorksheetFunction.VLookup(Range("A" & satır), s1.Range(Alan), 3, 0)
Range("H" & satır) = WorksheetFunction.VLookup(Range("A" & satır), s1.Range(Alan), 5, 0)
Range("I" & satır) = WorksheetFunction.VLookup(Range("A" & satır), s1.Range(Alan), 15, 0)
Range("J" & satır) = WorksheetFunction.VLookup(Range("A" & satır), s1.Range(Alan), 27, 0)
Range("K" & satır) = WorksheetFunction.VLookup(Range("A" & satır), s1.Range(Alan), 29, 0)
satır = satır + 1
Next x
Application.ScreenUpdating = True
End Sub
 
denedim fakat herhangi bir işlem olmadı ? kodları kopyalama yapıp kod ekranına doğrudan yapıştırıp kaydettim, başka birşey yapmalı mıyım ?
 
Kod:
=DÜŞEYARA(A2;'\\Dell\ortak verİler\PLANLAMA ( SS 2016 )\[ÜRETİM TABLOSU.xlsx]ÜRETİM TABLOSU'!A:AC;2;YANLIŞ)

Sanırım verileri farklı bir dosyadan alıyorsunuz?
 
Normalde farklı bir dosyadan- ağ üzerinden başka bir bilgisayardan alıyorum ama ekteki dosyada hepsi aynı çalışma kitabında. Problem olmasın diye verileri sayfa 2 ye kopyalamıştım. Eğer makro işe yararsa hep öyle yapacağım. Ağ bağlantısını iptal edeceğim.
 
Dosyayı inceledim. Listenizi Accesse aktarın rahatlıkla kullanırsınız. 1500 veri ilerde dahada büyür diyorsanızm mutlaka Access kullanın.

Yine aynı şekilde excelden Fiş no Sorgulatabilrsiniz

Kolayca ve basit
 
Aslında tam da istediğim bu. Fakat hiç access kullanmadım, tüm tabloyu bir kerede aktarabilir miyim acaba? öğrenme süreci uzun mudur ? öğrenebileceğim anlaşılır bir kaynak önerir misiniz?
 
Dosyayı inceledim. Listenizi Accesse aktarın rahatlıkla kullanırsınız. 1500 veri ilerde dahada büyür diyorsanızm mutlaka Access kullanın.

Yine aynı şekilde excelden Fiş no Sorgulatabilrsiniz

Kolayca ve basit

Sanırım aynı düşüncedeyiz :) :)
 
Senin için küçük bir örnek. İki dosya aynı klasörde olması yeterli
 

Ekli dosyalar

Aslında tam da istediğim bu. Fakat hiç access kullanmadım, tüm tabloyu bir kerede aktarabilir miyim acaba? öğrenme süreci uzun mudur ? öğrenebileceğim anlaşılır bir kaynak önerir misiniz?

Excel Macro bilgim çok azdır benim.

Ama Ado Ve Access excelin karmaşıklığının yanında çocuk oyuncağı gibi geldi bana
 
Dosyada hata vardı güncelledim. Bunu dene
 

Ekli dosyalar

Alternatif olsun.

Sayfa1in kod bölümüne yapıştırın. Kodları kısaltma amaçlı başlıklar aynı olursa tam sonuç alırsınız. En kolay yolu bu çünkü.Eğer sayfa 2deki sütun başlıklarının yerlerini değişseniz bile bir daha kodları değişmenize gerek kalmayacak.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim s2 As Worksheet
Set s2 = [COLOR="Red"]Sheets("sayfa2")[/COLOR]
son = s2.Cells(Rows.Count, "A").End(3).Row
If Intersect(Target, Range("A2:A" & Rows.Count)) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
If WorksheetFunction.CountIf(s2.Range("A2:A" & son), Target.Value) <> 0 Then
 Set bul = s2.Range("A2:A" & son).Find(Target.Value)
k = bul.Row
For baslk2 = 2 To 11
For baslk1 = 2 To 29
If Cells(1, baslk1) = s2.Cells(1, baslk2) Then

Cells(Target.Row, baslk1) = s2.Cells(k, baslk2)
End If
Next
Next
End If
End Sub
 

Ekli dosyalar

Son düzenleme:
acar arkadaş teşekkür ederim.. Fakat hem benim makrobilmezliğimden hem de sabahtandır uğraşıp durduğumdan kafa artık basmıyor :\ Acces belki işimi görür onunla birşeyler yapabilir miyim dedim ama fakat o da benim sistemime uymadı.. İşin özü şu; ekteki tabloda da gördüğünüz üzere, ayakkabı üzerine imalat yapan firmamıza geçilen siparişleri, sayfa2 deki gibi bir tabloda topluyoruz. Sonra fiş kodu yazan sütunda, her siparişe benzersiz bir fiş numarası atayıp bununla bir iş emri oluşturuyoruz. Bu iş emri sırasıyla kesime, dikime, montaja ve paketleme bölümlerine gidiyor. her bölümde bir bilgisayar var ve bu bilgisayarlarda, ekteki gibi düşeyara ile fişkodlarının karşılarındaki bilgileri getiren excel dosyaları var. İmalat bölümlerinin sorumluları bu fiş kodunu bilgisayara girdiklerinde ürünün ne kadar detaylı ve dikkat edilmesi gereken bilgisi varsa görebiliyorlar. Ayrıca biz de hangi müşterinin hangi işi ne aşamada, hangi aşamadan ne zaman girip çıkmış gibi basitçe bir takibat yapabiliyoruz. Ama hem yeni bir firma olmamızdan hem de teknik bilgi ve imkana sahip olamadığımızdan şimdilik tam teşekkülü bir üretim sistemine geçemiyoruz. Bu noktada excelin sunduklarını en iyi şekilde kullanabilirsek bir süre sorunsuz gidebiliriz. Taba düşeyara ve benzeri formuller bir yerden sonra sorun yaratıp sıkıntılı olmaya başlıyor. Acar kardeşim, senden ricam yazdığın kodun dosya ile çalışabilir şekilde bir halini gönderebilir misin? hatta teamwiewer ile doğrudan bağlantı da kurabiliriz
 
Access tam size göre. Ve kodları basittir. Şirketinizde Bilgisayarlar birbirine bağlıdır. Bir Access dosyasına hepsi aynı anda bağlanabilir. Çok verimli olur.

Sipariş sorgusu anlık ve hızlı olur. Bence en başındayken Access tercih edin.
 
Peki biraz daha detaylı anlatabilir misiniz? Nasıl bir yol izlemek gerek. Birkaç kez denedim ama verim alamadım. Veritabanı olarak mevcut sipariş tablomu baz aldım. Fakat dikiş bölümündeki arkadaş eline gelen fiş kodunu nasıl işleyecek sisteme ? tamam, sorgusunu yapıp iş emrinin detaylarını görebiliyor, ama benim de o işemrinin dikiş bölümünden geçip geçmediğini görmem gerek ? Bunu sağlayabilir miyiz ?
 
Access excel gibidir. veri girişi yapcak. işlemi yapan. Sen parça parça sorarsan yardım ederm elimden geldikçe. Ama nasıl olur die soarrasan sistemin hakkında fikrim yok. :D
 
Aslında Sabit bir yer ve sürekli veri girilen bir dosya üzerinden veri alıyorsanız Sayın hlojan ın vermiş olduğu kodlar daha çok işe yarar. Fakat Aynı işlemi excel dosyası üzerinden de yapabilirsiniz.

Dosya yolunu yazarsanız yardımcı olabiliriz sanırım.
 
Evet, sabit bir dosyam var ve diğer bilgisayarların tümü o dosyadan alıyor verileri. Tabi ağ üzerinden birbirlerine bağlı olup bu şekilde verilere ulaştıkları için, özellikle ilk açılışta veri güncellemesi sırasında neredeyse 10 dakika formulleri güncelleştirme yapıyorlar.. Şöyle sorayım mesela; ben tüm tabloyu accesse aktardığım zaman, diğer bilgisayarlara da ağ yoluyla bu veritabanını paylaştırdığım zaman, hangi bilgisayar hangi fiş kodunu ne zaman girmiş görmem lazım. Müşteri arayıp siparişinin durumunu sorduğu zaman, siparişin hangi aşamadan geçtiğini bilebilmem gerekiyor.. Ne yapabiliriz bu konuda ? Mesela şuanda montaj bilgisayarı için, verilerin dosya yolu bu şekilde;

montaj takip dosyasındaki b2 hücresinin DELL bilgisayarı üzerindeki bağlantısı:

=DÜŞEYARA(A2;'\\Dell\ortak verİler\PLANLAMA ( SS 2016 )\[ÜRETİM TABLOSU.xlsx]ÜRETİM TABLOSU'!A:AC;2;YANLIŞ)
 
Anlamadığım?
=DÜŞEYARA(A2;'\\Dell\ortak verİler\PLANLAMA ( SS 2016 )\[ÜRETİM TABLOSU.xlsx]ÜRETİM TABLOSU'!A:AC;2;YANLIŞ)
Buraya verileri kim giriyor?
 
Geri
Üst