• DİKKAT

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

Makroda Değişken Sayfa Adını Referans Verebilmek

Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Merhaba arkadaşlar. Değişen sayfa adını makro referans vermek mümkün müdür. Yani aktarılacak verileri belli bir hücreye sayfa adı ve hücre adını yazmak suretiyle istediğimiz sayfanın, istediğimiz hücresine kopyalanmasını sağlayabilir miyiz.

Örnek dosya :
Ekteki dosya DATA sayfası, aktarım TANIM sayfası ve aktarımın yapılacağı 4 sayfa var. DATA sayfasında bulunan verileri TANIM sayfasındaki D1 hücresinde belirtilen sayfanın D2 hücresinde belirtilen hücresine aktarılmasını nasıl sağlarız. İstenildiğinde D1 hücresine farklı sayfalar yazılabilmeli ama makroda revizyon yapmaya gerek kalmamalı.

Yardımcı olanlara şimdiden teşekkürler.
 
Son düzenleme:
Kodlarınızı aşağıdaki şekilde değiştiriniz.

Kod:
Sub VERIAKTAR()
'
' VERIAKTAR Macro
' Macro recorded 19/06/2007 by aakbay
'
' Keyboard Shortcut: Ctrl+Shift+A
On Error Resume Next
    sayfa = [d4]
    hücre = [d2]
    Sheets("DATA").Select
    Range("A3:E9").Select
    Selection.Copy
    Sheets("TANIM").Select
    Range("D4").Select
    Sheets("" & sayfa & "").Select
    Range("" & hücre & "").Select
    ActiveSheet.Paste
    Range("A1").Select
    Application.CutCopyMode = False
End Sub
 
yanıt

Buda sadece sayfa isminin referans almış şekli.
Kod:
Sub VERIAKTAR()
Set s1 = Sheets("DATA")
Set s2 = Sheets("TANIM")
For i = 3 To Sheets.Count
If Sheets(i).Name = s2.[D1] Then
s1.[A3:E9].Copy
s = WorksheetFunction.CountA(Sheets(i).[a1:a65000])
Sheets(i).Range("a" & s + 1).PasteSpecial
End If
Next
End Sub
 
Selamlar,

Alternatif bir çözümde ben sunmak isterim. Aşağıdaki kodu denermisiniz.

Kod:
Sub VERİ_AKTAR()
    On Error GoTo Son
    HEDEF_SAYFA = "(" & Sheets("TANIM").[D1] & ")"
    HEDEF_HÜCRE = Sheets("TANIM").[D2]
    Sheets(HEDEF_SAYFA).Cells.Clear
    Sheets("DATA").[A1].CurrentRegion.Copy Sheets(HEDEF_SAYFA).Range(HEDEF_HÜCRE)
    MsgBox "İŞLEMİNİZ TAMAMLANMIŞTIR.", vbInformation
    Exit Sub
Son: MsgBox "HEDEF SAYFA BULUNAMAMIŞTIR.", vbCritical
End Sub
 
Teşekkürler

Merhaba. Nasıl olmuş ben de anlamadım ama bu konu ile ilgili teşekkürlerimi iletmemişim. Gecikme için sayın ustalardan çok özür diler ve candan teşekkürlerimi iletmek isterim.
 
Önemli değil.

9 ay sonrada geri bildirimde bulunmanız güzel. :D
 
Geri
Üst