Macro kodu yapıştırırken tıkladığım yere yapıştırsın

yyhy

Altın Üye
Katılım
3 Aralık 2005
Mesajlar
917
Excel Vers. ve Dili
Microsoft Office 2021 TR
Microsoft 365 TR
Altın Üyelik Bitiş Tarihi
20-03-2029
Sub Veri_01()
'
' Sub Veri_01()
'

'
Range("B100:W100").Select
Selection.Copy
Sheets("Veri").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("G9").Select
End Sub

Kırmızı renkli yerdeki G9 hücresi değilde mouse ile seçtiğim yere yapıştırabilmem için kırmızı puntolu yere ne yazılabilir?
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Kodları bu şekilde deneyin. Hangi hücre seçliyse oraya yapıştırır. Eğer kopyaladığınız veri başka bir sayfada ise ilk satırı şu şekilde düzenlemeniz gerekir: Sheets("sayfaadi").Range("B100:W100").Copy

Kod:
Range("B100:W100").Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
 
Son düzenleme:

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bu kod bulunulan sayfada B100:W100 aralığını kopyalayıp Veri sayfasında seçili hücreye yapıştırıyor ve sonra G9 hücresini seçiyor. G9'a yapıştırma yapmıyor, Veri sayfası açıldığında hangi hücre seçiliyse oraya yapıştırıyor.

Seçili hücreye yapışması için başka bir makro kullanmanız gerekir:

PHP:
Sub yapistir()
    If Application.CutCopyMode = True Then
        ActiveSheet.Paste
    End If
End Sub
Bu kod eğer herhangi bir veri kopyalanmışsa seçili hücreye yapıştırma işlemi yapar.
 

yyhy

Altın Üye
Katılım
3 Aralık 2005
Mesajlar
917
Excel Vers. ve Dili
Microsoft Office 2021 TR
Microsoft 365 TR
Altın Üyelik Bitiş Tarihi
20-03-2029
Sayın Mahmut Kök ve Yusuf44 öncelikle yardımlarınız için teşekkür ederim. Konuyu biraz açmam gerekirse; sütuna gireceğim veriler sabit veriler olmayıp değişken veriler ile birlikte sabit verilerde giriyorum. 7 adet sabit verim var uzun olduğu için yazmam veya sabitler sayfamdan kopyalayıp getirmem biraz zor ve zaman alıyor. Oradaki verileri resmini de attığım 7 butona makro ile bağlayıp tıklamak suretiyle kolay girmek. Aşağıdaki şekilde macroyu bilgileriniz doğrultusunda düzenledim. Şu hali ile çalışıyor acaba gördüğünüz bir eksik tarafı var mı?
Yapacağım işlem; Sabitler sayfasında 7 adet sabit verim var Veri sayfama gireceğim sabitler sayfasındaki 7 adet veriden ise Veri sayfası G sütunundaki başlıkta bulunan 1 den 7 ye kadar olan verileri butona tıklamak suretiyle kolayca yazmak.
Sub Veri_02()
'
' Veri_02 Makro
'

'
Sheets("Sabitler").Select
Range("B100:W100").Select
Selection.Copy
Sheets("Veri").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
B100:W100 ile ekran görüntüsündeki işlemin ne ilgisi var anlamadım.

Lütfen örnek excel dosyası paylaşarak ne yapmak istediğinizi belirtiniz.
 

yyhy

Altın Üye
Katılım
3 Aralık 2005
Mesajlar
917
Excel Vers. ve Dili
Microsoft Office 2021 TR
Microsoft 365 TR
Altın Üyelik Bitiş Tarihi
20-03-2029
Sayın YUSUF44 B100:W100 sabitler sayfasında birleştirilmiş hücredeki verinin bulunduğu yer idi ama sonradan birleştirilmiş hücre yerine tek hücre olarak değiştirdim (B100). Örnek dosyayı da ekliyorum. Yalnız yapıştırma işleminde macro çalışınca sayfada kırpma oluyor sebebi ne olabilir veya farklı bir yöntemi var mıdır?
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Yapmak istediğiniz işleme göre çok uzun yöntemler kullandığınızı görüyorum. O kadar farklı makrolara ve uygulamalara gerek yok bence.

Aşağıdaki kodları Veri sayfasının kod bölümüne (sayfa adına sağ tıklayıp kod görüntüle deyince açılan sayfaya) yapıştırıp deneyin. Bu sayfada F3:F5003 aralığında değişiklik yaptığınızda kodlar çalışır:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [F3:F5003]) Is Nothing Then Exit Sub
If Selection.Count > 1 Then Exit Sub
If Target = "" Then
    Target.Offset(0, 1).ClearContents
ElseIf Target = 1 Or Target = 2 Or Target = 3 Or Target = 4 Or Target = 5 Or Target = 6 Or Target = 7 Then
    Target.Offset(0, 1) = WorksheetFunction.Index(Sheets("Sabitler").[C100:C106], Target)
Else
    MsgBox "Lütfen kabahat türü olarak 1-7 arası sayı giriniz!", vbExclamation
End If
End Sub
Hatta kodsuz olarak G3 hücresinde aşağıdaki formül de işinizi görür:

=EĞER(F3="";"";İNDİS(Sabitler!$C$100:$C$106;F3))

Yukarda verdiğim kod zaten bu formülün kod halidir.
 

yyhy

Altın Üye
Katılım
3 Aralık 2005
Mesajlar
917
Excel Vers. ve Dili
Microsoft Office 2021 TR
Microsoft 365 TR
Altın Üyelik Bitiş Tarihi
20-03-2029
Teşekkür ederim sayın YUSUF44 şuan cep telefonundan yazıyorum. PC de uygulayacağım.
 

yyhy

Altın Üye
Katılım
3 Aralık 2005
Mesajlar
917
Excel Vers. ve Dili
Microsoft Office 2021 TR
Microsoft 365 TR
Altın Üyelik Bitiş Tarihi
20-03-2029
Sayın YUSUF44 F Sütunu boş koyarsak kod güzel çalışıyor. Veri kitabımda f sütunu da dolu, verilerim var. Acaba G sütununa 1-7 ye kadar aşağıya doğru kabahat numarası girmiş olsak kod çalışmaz mı? Kodu yazdıktan sonra veri aynı hücreye yazar mı?
 
Son düzenleme:

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Şunu mu istiyorsunuz?

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [G3:G5003]) Is Nothing Then Exit Sub
If Selection.Count > 1 Then Exit Sub
If Target = 1 Or Target = 2 Or Target = 3 Or Target = 4 Or Target = 5 Or Target = 6 Or Target = 7 Then
    Application.EnableEvents =False
    Target = WorksheetFunction.Index(Sheets("Sabitler").[C100:C106], Target)
    Application.EnableEvents=True
Else
    MsgBox "Lütfen kabahat türü olarak 1-7 arası sayı giriniz!", vbExclamation
End If
End Sub
 

yyhy

Altın Üye
Katılım
3 Aralık 2005
Mesajlar
917
Excel Vers. ve Dili
Microsoft Office 2021 TR
Microsoft 365 TR
Altın Üyelik Bitiş Tarihi
20-03-2029
Sayın YUSUF44 şimdi butona falan da gerek kalmadan bu şekli ile güzel aynı hücrede işlemi bitiriyor. Emeğinize sağlık. İhtiyaca cevap verdi.
 
Üst