• DİKKAT

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

Seçtiğim Alanı Kopyalayıp Farklı Hücrelere Yapıştırma

Korhan Ayhan

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

İstediğiniz sayfada B sütununda aktarmak istediğiniz hücreleri seçip kodu çalıştırıp deneyiniz.

C++:
Option Explicit

Sub Secimi_Aktar()
    Dim Alan As Range, S1 As Worksheet, Son As Long
    Dim X As Long, Veri As Range, Satir As Long
    
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    
    Set S1 = Sheets("BLOKE KARTI")
    
    Son = S1.Cells(S1.Rows.Count, 1).End(3).Row
    
    For X = 5 To Son Step 14
        S1.Range("F" & X & ":J" & X).ClearContents
        S1.Range("D" & X + 2 & ":J" & X + 2).ClearContents
        S1.Range("D" & X + 4 & ":E" & X + 4).ClearContents
        S1.Range("G" & X + 4 & ":H" & X + 4).ClearContents
        S1.Range("J" & X + 4 & ":J" & X + 4).ClearContents
        S1.Range("D" & X + 6 & ":H" & X + 6).ClearContents
        S1.Range("J" & X + 6 & ":J" & X + 6).ClearContents
        S1.Range("E" & X + 8 & ":F" & X + 8).ClearContents
    Next

    
    Set Alan = Selection
    
    If Intersect(Alan, Range("B4:B" & Rows.Count)) Is Nothing Then
        Application.Calculation = xlCalculationAutomatic
        Application.ScreenUpdating = True
        MsgBox "Lütfen B sütunundan seçim yapınız!" & vbLf & vbLf & _
               "İşleminiz iptal edilmiştir!", vbCritical
        Exit Sub
    End If
    
    If Alan.Parent.Name = S1.Name Then
        Application.Calculation = xlCalculationAutomatic
        Application.ScreenUpdating = True
        MsgBox "Lütfen " & S1.Name & " isimli sayfa dışında bir sayfada B sütunundan seçim yapınız!" & vbLf & vbLf & _
               "İşleminiz iptal edilmiştir!", vbCritical
        Exit Sub
    End If
    
    Satir = 5
        
    For Each Veri In Alan.Columns(1).Cells
        If Veri.Value <> "" Then
            If Veri.Row > 3 And Veri.Column = 2 Then
                S1.Cells(Satir, "F") = Veri.Offset(0, 0).Value
                S1.Cells(Satir + 6, "J") = Veri.Offset(0, 1).Value
                S1.Cells(Satir + 4, "D") = Veri.Offset(0, 2).Value
                S1.Cells(Satir + 2, "D") = Veri.Offset(0, 3).Value
                S1.Cells(Satir + 8, "E") = Veri.Offset(0, 4).Value
                S1.Cells(Satir + 4, "G") = Veri.Offset(0, 5).Value
                S1.Cells(Satir + 4, "J") = Veri.Offset(0, 6).Value
                Satir = Satir + 14
            End If
        End If
    Next

    Set Alan = Nothing
    Set S1 = Nothing
    
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    
    MsgBox "Veri aktarımı tamamlanmıştır.", vbInformation
End Sub
 
Katılım
18 Kasım 2020
Mesajlar
71
Excel Vers. ve Dili
İngilizce / office 2016
Altın Üyelik Bitiş Tarihi
01-12-2023
Merhaba Korhan Bey,

Size çok teşekkür ederim makro süper çalışıyor ellerinize sağlık 🙂🙂

aynı zamanda Necdet Bey,

Sizede çok teşekkür ederim çok ilgili ve alakalıydınız 🙂🙂

Allah ikinizden de razı olsun 🙏🏻🙏🏻
 
Üst