Çoklu sayfalar ile çalışma

AS3434

Özel Üye
Katılım
13 Ocak 2005
Mesajlar
1,820
Excel Vers. ve Dili
M.Office/Excel 2007 Türkçe
Evet , IF denetimi yapmak aklıma gelmemişti.

Yalnız arada ELSE değil End If yazmamız gerekiyor. Her kodu kontrol edip sayfasına aktarması için.

Teşekkür ederim Sayın COST_CONTROL

Sorun çözüldüğüne göre bu başlığı diğer linkle birleştiriyorum.

Sayın COST_CONTROL'un yardımıyla kodların son hali

Kod:
Sub Aktar()
If MsgBox(" KAYDETMEK İSTİYORMUSUNUZ ??", vbYesNo) = vbNo Then Exit Sub
    Application.ScreenUpdating = False
    Sheets("255demirbaş").Select
    If [r2] > 0 Then
    i = [c65536].End(3).Row + 1
    [S2:AD2].Copy
    Range("b" & i).PasteSpecial Paste:=xlPasteValues
    Range("b" & i).Select
    End If
 
    Sheets("740Üretimgideri").Select
     If [ba2] > 0 Then
    x = [c65536].End(3).Row + 1
    [BB2:CF2].Copy
    Range("b" & x).PasteSpecial Paste:=xlPasteValues
    Range("b" & x).Select
    End If
 
    Sheets("ÖDEME EMRİ").Select
End Sub
 
Son düzenleme:
Katılım
24 Temmuz 2007
Mesajlar
338
Excel Vers. ve Dili
2003
Selamlar,

Sorun [S2:AD2].Copy alanından kaynaklanmaktadır. Bu alan formülle verileri almaktardır. Ve formülede veri yoksa "" boş bırak ifadesi kullanılmıştır. Bunu aşabilmek için IF kontrolü eklemek faydalı olacaktır. Kodları aşağıdaki gibi düzenlerseniz problem çözülür.

Kod:
Sub AKTAR()
    If MsgBox(" KAYDETMEK İSTİYORMUSUNUZ ??", vbYesNo) = vbNo Then Exit Sub
    Application.ScreenUpdating = False
    Sheets("255demirbaş").Select
    If [R2] > 0 Then
    X = [C65536].End(3).Row + 1
    [S2:AD2].Copy
    Range("B" & X).PasteSpecial Paste:=xlPasteValues
    Range("B" & X).Select
    Else
    Sheets("740Üretimgideri").Select
    If [BA2] > 0 Then
    Y = [C65536].End(3).Row + 1
    [BB2:CF2].Copy
    Range("B" & Y).PasteSpecial Paste:=xlPasteValues
    Range("B" & Y).Select
    Sheets("ÖDEME EMRİ").Select
    End If
    Application.CutCopyMode = False
    End If
End Sub

255 e değerleri aktarmasına aktarıyor ama bu seferde 740 a hiç bir der aktarmıyor
 
Katılım
24 Temmuz 2007
Mesajlar
338
Excel Vers. ve Dili
2003
as3434 ve cost _control çok teşekkür ederim prblem bir ufak ayrıtı dışında helledilmiş vaziyette oda ekli dosyada açıkladığım gibi kusura bakmayın artık
 

Korhan Ayhan

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

Aşağıdaki kodu denermisiniz.

Kod:
Sub AKTAR()
    If MsgBox(" KAYDETMEK İSTİYORMUSUNUZ ??", vbYesNo) = vbNo Then Exit Sub
    Application.ScreenUpdating = False
    Sheets("255demirbaş").Select
    If [R2] > 0 Then
    X = [C65536].End(3).Row + 1
    [S2:AD2].Copy
    Range("B" & X).PasteSpecial Paste:=xlPasteValues
    Range("B" & X).Select
    End If
    Sheets("740Üretimgideri").Select
    If [BA2] > 0 Then
    Y = [C65536].End(3).Row + 1
    [BB2:CF2].Copy
    Range("B" & Y).PasteSpecial Paste:=xlPasteValues
    Range("B" & Y).Select
    Sheets("ÖDEME EMRİ").Select
    End If
    Application.CutCopyMode = False
End Sub
 
Katılım
24 Temmuz 2007
Mesajlar
338
Excel Vers. ve Dili
2003
Evet Denedİm Ve FormÜllÜ Olan 740 Kodunun Sayfasina Atarken Yİne FormullÜ Olan 255 İ 255 Sayfasina Parasal DeĞerlerİ Sifir Atiyor. 255 E Manuel YazdiĞimi Atiyor Sadece
 
Katılım
24 Temmuz 2007
Mesajlar
338
Excel Vers. ve Dili
2003
onuda dikkate alması lazım çünki 740 ve 255 alt kalemleride oluyor
mesela 740.01.01 -740.01.02 255.01.01 - 255.01.02 yani formüllü satırları tümden aktarma yapabilsin
 
Katılım
24 Temmuz 2007
Mesajlar
338
Excel Vers. ve Dili
2003
denedim ama olduğunu zannettiğim şey olmamış sayfayı en son şekli ile yeniden gönderiyorum son kez düzenlermisiniz bu şekli ile kaydet dediğim zaman sfır atmasın artık delireceğim yoksa (not ödeme emri sayfasında indis ile 740 ve 255 harcama kodlarına förmül girmişim bu engelleyebilirmi doğru aktarılmasını)
 
Katılım
24 Temmuz 2007
Mesajlar
338
Excel Vers. ve Dili
2003
ya olur yada olmaz diye bir iki kelime edin:agla: bu kadar getirdik hiç değilse bitirelim
 

AS3434

Özel Üye
Katılım
13 Ocak 2005
Mesajlar
1,820
Excel Vers. ve Dili
M.Office/Excel 2007 Türkçe
Sayın stres
Dosyanızı hazırlarken bazı hücreler uyuşmuyordu. Bazı düzenlemeler yapmıştım.
Şimdi formülle veri aldığınız için tekrar düzenleyin.
ÖDEME EMRİ sayfasında C13 den C36 ya kadar olan alanı seçin. Hücre biçimlendirmeden Biçimi METİN olarak ayarlayın.
Aynı işlemi Diğer sayfalarda
255 sayfasında W1 de AD1 e
740 sayfasında BF1 den CF1 e kadar olan kısma uygulayın ve buradaki hücrelerde tek haneli rakamları 01 02 03 olarak tekrar yazın.
Sorun giderilecektir. Zaten düzeltmeyi yaparken alt satıra verilerin geldiğini göreceksiniz.
 
Katılım
24 Temmuz 2007
Mesajlar
338
Excel Vers. ve Dili
2003
Eline sağlım as3434 mükemmel olmuş başka ne denebilirki zahmet verdiğim için kusura bakmayınız
 
Üst