• DİKKAT

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

Sheetler arası kontrollü veri aktarımı

Katılım
25 Temmuz 2009
Mesajlar
13
Excel Vers. ve Dili
excel 2003
Merhaba,

Ekte gönderdiğim dosyanın A sheet'indeki ödeme bilgileri kullanılarak B shhet'inde otomatik olarak talimat oluşturmasını istiyorum.. A sheet'indeki ödeme bilgileri sadece TL olmadığı için, yazılacak kod ile o hücreler arasından TL olanların seçilmesi ve B sheetine onların getirilerek talimatın oluşturulmasını istiyorum.
Nasıl bir kod yazılacağı, yada otomatik olarak nasıl yaptırılacağı hakkında yardımlarınızı rica ediyorum.
 

Ekli dosyalar

Merhaba,

Umarım doğru anlamışımdır.

Kod:
Sub Aktar()
Dim i As Long, j As Long
Dim Adet As Integer
Dim sa As Worksheet, sb As Worksheet
Set sa = Sheets("A")
Set sb = Sheets("B")
sa.Select
sb.Range("B23:C41").ClearContents
j = 22
For i = 7 To [A65536].End(3).Row - 1
    If Cells(i, "E") <> "" Then
        j = j + 1
        Adet = Adet + 1
        sb.Cells(j, "B") = Cells(i, "B")
        sb.Cells(j, "C") = Cells(i, "E")
    End If
Next i
MsgBox Adet & " Adet Satır Aktarılmıştır...", vbInformation, "[URL="http://www.excel.web.tr/"]www.excel.web.tr[/URL]"
End Sub
 

Ekli dosyalar

Merhaba,

Umarım doğru anlamışımdır.

Kod:
Sub Aktar()
Dim i As Long, j As Long
Dim Adet As Integer
Dim sa As Worksheet, sb As Worksheet
Set sa = Sheets("A")
Set sb = Sheets("B")
sa.Select
sb.Range("B23:C41").ClearContents
j = 22
For i = 7 To [A65536].End(3).Row - 1
    If Cells(i, "E") <> "" Then
        j = j + 1
        Adet = Adet + 1
        sb.Cells(j, "B") = Cells(i, "B")
        sb.Cells(j, "C") = Cells(i, "E")
    End If
Next i
MsgBox Adet & " Adet Satır Aktarılmıştır...", vbInformation, "[URL="http://www.excel.web.tr/"]www.excel.web.tr[/URL]"
End Sub
Merhaba,

çok teşekkürler, doğru anlamışsınız, anlatmak istediğim buydu :)

yalnız bir sorum olacak for 'lu döngüdedeki if ile başlayan satırdaki E hücresi için alanı kısıtlayabilirmiyiz.. yani If Cells(i, "E") <> "" Then yerine
If Cells(i, "E7:E22") <> "" Then

gibi birşey yazabilirmiyiz. Çünkü, E hücresinin üst satırlarına başka ilaveler yapmam gerekecek ve oralara TL tutarları yazarsam onları da getiriyor..

Teşekkürler...
 
Merhaba,

Sorunuzu tam olarak anlamadım ama döngü 7. satırdan itibaren çalışıyor. İlk 6 satırda E sütununda istediğinizi yazabilirsiniz.

Eğer 7. satır değişken ise kodları seçime göre değiştirebiliriz. Sizin seçtiğiniz bölgede aktarma yapabilir.
 
cevap için teşekkürler,,, son bi sorum daha olacak...
peki döngünün sadece 7. satır ile 22. satır arasında işlemesini sağlayabilirmiyiz ?
 
Merhaba,

Kodda aşağıdaki kırmızı yazdığım gibi olursa sizin dediğiniz gerçekleşir.

Kod:
Sub Aktar()
Dim i As Long, j As Long
Dim Adet As Integer
Dim sa As Worksheet, sb As Worksheet
Set sa = Sheets("A")
Set sb = Sheets("B")
sa.Select
sb.Range("B23:C41").ClearContents
j = 22
For i = 7 To [B][COLOR=red]22[/COLOR][/B]
    If Cells(i, "E") <> "" Then
        j = j + 1
        Adet = Adet + 1
        sb.Cells(j, "B") = Cells(i, "B")
        sb.Cells(j, "C") = Cells(i, "E")
    End If
Next i
MsgBox Adet & " Adet Satır Aktarılmıştır...", vbInformation, "[URL="http://www.excel.web.tr/"]www.excel.web.tr[/URL]"
End Sub
 
Geri
Üst