• DİKKAT

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

PASTE VALUES KISAYOLU

Katılım
27 Haziran 2004
Mesajlar
66
MERHABA,SADECE KOPYALADIĞIMIZ DEĞERLERİ YAPIŞTIRMAK İÇİN BİR KISAYOL VARMI?TEŞEKKÜRLER.
 
Þimdi burada sorulan Seçildikten sonra Kopyala(Copy) yapılan ya da kısayolu ile Ctrl+C (kontrol tuşu ile birlikte C tuşu) yapılan bir seçimi Paste ile veya kısayolu ile Ctrl+V (kontrol tuşu ile birlikte V tuşu) yapıştırılır mı demekse evet doğrudur yapıştırılır. Hatta Ctrl+X ile de kesilir. Hatta Ctrl+A ile hücrenin içindekilerin tümü seçilir.

Ama soru başka bir şeyi soruyorsa ne yapılır tam bilemiyorum.
 
Sayın Serpily;kopyaladıktan sonra özel yapıştır'ın içinde değerleri kısmı var arkadaşımız onun kısa yolunu soruyor.Burada ki değerleri kısmı kopyalanan hücrelerin sadece değerlerini yapıştırır o hücredeki formülleri dikkate almaz.Fakat onun kısayolu varmı bende bilemiyorum. :arkadas:
 
Peki şu iş görür mü?

Hücrenin kenarından sağ tuş ile sürükleyip 'Buraya Yalnızca Değer Olarak Kopyala' desek. Kısayol sayılır mı?
 
EÐER BUNUN KISAYOLU YOKSA BUNUN İÇİN BİR MAKRONUZ VARMI ELİNİZDE.YANİ CTRL+C YE BASTIKTAN SONRA SADECE DEÐERLERİNİ YAPIÞTIRABİLECEÐİM BİR MAKRO YAPILABİLİR Mİ?
 
makro örneği şöyle olabilir.

önce kopyalayacağınız hücre veya hücre grubunu seçip klavye veya mouse ile kopyalayın, sonra yapıştıracağınız hücreyi seçerek aşağıdaki makroyu çalıştırın, sadece değerler yapıştırılacaltır.

Sub Makro1()
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
End Sub

selamlar
 
Sayfa üzerinde mouse (fare)' nin sağ tuşuna tıkladığınızda en altta böyle bir hazır "Paste Special - Values" (Ã?zel Yapıştır - Values) menüsü isterseniz;

Kod:
Sub Auto_Open()
    Dim cb As CommandBar
    Set cb = Application.CommandBars("Cell")
    Set MenuObject = cb.Controls.Add(Type:=msoControlButton, Temporary:=True)
    With MenuObject
    .BeginGroup = True
    .Caption = Application.CommandBars.FindControl(ID:=755).Caption & " Values"
    .OnAction = "PasteValues"
    End With
    Application.MacroOptions Macro:="PasteValues", _
                             HasShortcutKey:=True, _
                             ShortcutKey:="Z"
    Set MenuObject = Nothing
End Sub
'
Sub PasteValues()
    On Error Resume Next
    Selection.PasteSpecial Paste:=xlValues
End Sub

Klavyeden de Ctrl + Shift + Z tuş bileşeni ile de çalıştırabilirsiniz.
 
Bu akşam yapacak bir şey de yok, yukarıdaki kodumu biraz daha kurcalayayım dedim.

Yapılan kurcalamalardan sonra;

1) Sayfa sağ klik yapınca çıkan menüdeki "etiket", kodun çalıştırıldığı bilgisayardaki Office'in Türkçe mi yoksa İngilizce mi versiyonu olduğuna göre değer alıyor. (Paste Special... Values veya Ã?zel Yapıştır... Değerler).

(En azından öyle olduğunu umarım yoksa, yine rezil olduk demektir :mrgreen: - Bende Office Türkçe olmadığı için deneyemedim.)

2) Bu yeni menü elemanı, yine aynı menüdeki "Paste Special" menüsünün aktif olup olmamasına göre aktif oluyor veya olmuyor.

Görüldüğü gibi bu iki konu için, kodu biraz uzatmak zorunda kaldım. Siz siz olun, böyle gereksiz işlerle uğraşmayın. :mrgreen:

İşinize yarayan kodu doğru dürüst yazın, böyle fantezilerle uğraşmayın. Zira, bu tip fanteziler yüzünden çıkacak hatalarla uğraşmak bir sürü zaman gerektirebilir.

...... dedikten sonra, ortaya çıkan sonucu denemek isteyenler;

1) Aşağıdaki kodu ThisWorkbook modulüne yerleştirin.

Kod:
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, _
                                           ByVal Target As Range, Cancel As Boolean)
    Call CheckEnabled
End Sub

2) Aşağıdakini de yeni bir module yerleştirin.

Kod:
Public cb As CommandBar
Public MenuObject As CommandBarControl
Public MyIndex
'
Sub Auto_Open()
    Set cb = Application.CommandBars("Cell")
    Set MenuObject = cb.Controls.Add(Type:=msoControlButton, Temporary:=False)
    With MenuObject
    .BeginGroup = True
    .Caption = Application.CommandBars.FindControl(ID:=755).Caption & GetCaptExt
    .OnAction = "PasteValues"
    .Tag = "PasteSpecialValuesTag"
    MyIndex = .Index
    End With
    Application.MacroOptions Macro:="PasteValues", _
                             HasShortcutKey:=True, _
                             ShortcutKey:="Z"
    Set MenuObject = Nothing
End Sub
'
Sub PasteValues()
    On Error Resume Next
    Selection.PasteSpecial Paste:=xlValues
End Sub
'
Function GetCaptExt() As String
    Select Case Application.LanguageSettings.LanguageID(msoLanguageIDInstall)
        Case msoLanguageIDEnglishUS
        CaptExt = " Values"
            Case msoLanguageIDTurkish
            CaptExt = " Değerler"
        Case Else
        CaptExt = " "
    End Select
    GetCaptExt = CaptExt & Space(2) & Chr(174)
End Function
'
Sub CheckEnabled()
    On Error Resume Next
    cb.Controls(MyIndex).Enabled = Application.CommandBars.FindControl(ID:=755).Enabled
End Sub
'
Sub Auto_Close()
    On Error Resume Next
    cb.Controls(MyIndex).Delete
    Application.MacroOptions Macro:="PasteValues", HasShortcutKey:=False, _
                             ShortcutKey:=Empty
End Sub

Bu kodların çalışması sırasında sağ klik menüsünde bir problem olursa, panik olmayın ve aşağıki kodu çalıştırın.

Kod:
Sub ResetPopUpMenu()
    Application.CommandBars("Cell").Reset
End Sub

Eğer bu yeni menüyü bütün çalışma kitaplarında kullanmak isterseniz, kodu yerleştirdiğiniz dosyayı Microsoft Excel Add-In (*.xla) olarak kaydedin. Bu eklentiyi Excel'e tanıttıktan sonra, bütün Excel dosyalarında kullanabilirsiniz.

Not: Çalışmanın olduğu dosya ektedir.
 
öncelikle excelde pastespecial kısayolu olmaması büyük eksiklik.

sayın raider bu makro işime yaradı teşekkürler.ama bunu sadece o çalışma kitabında kullanabiliyorum.

Eğer bu yeni menüyü bütün çalışma kitaplarında kullanmak isterseniz, kodu yerleştirdiğiniz dosyayı Microsoft Excel Add-In (*.xla) olarak kaydedin. Bu eklentiyi Excel'e tanıttıktan sonra, bütün Excel dosyalarında kullanabilirsiniz


bu eklentiyi excel'e nasıl tanıtıcam onu bilemiyorum.add-in olarak kaydettim ama
diğer çalışma kitaplarına etkisi olmadı.
 
Merhaba;

Aslında yukarıdaki kodu direkt olarak *.xla olarak kullanamıyorsunuz bu doğru. Bu nedenle, kodu *.xla olarak yeniden hazırladım ve aşağıda PasteSpecialValues.zip dosyası olarak tekrar veriyorum. İçerik olarak hemen hemen aynı sadece, ufak bir Class Module uygulaması ilave etmek zorunda kaldım.

Ekli zip dosyasını (PasteSpecialValues.zip) indirdikten sonra, aşağıdaki resimlerde görülen işleri yaparak bu dosyayı Excel’e Add-In (Eklenti) olarak tanıtabilirsiniz.

Resimlerde görülen pencereler, kullanılan işletim sistemine göre değişir. Þu anda WinXP (Home) kullandığım için, resimler bu işletim sistemine göredir.

Yapılacak işler;

1) Bilgisayardaki klasor görünümlerini, hepsi görünecek şekilde ayarlamak,

2) PasteSpecialValues.xla dosyasını bilgisayardaki uygun yere yerleştirmek,

3) Bu eklentiyiExcel’e tanıtmak,

4) Eklentiyi kullanmak.
 
İlgili resimler:
 
İlgili resimler-2:
 
İlgili resimler-3:
 
öncelikle excelde pastespecial kısayolu olmaması büyük eksiklik.


Merhabalar, excel de paste value'nün ve paste special'in kısa yolunu aşağıdaki yol ile, toolbara yerleştirebilirsiniz.

TOOOLS >> CUSTOMIZE >> COMMANDS >> EDIT >> PASTE VALUE (üzerinde 12 yazan clipboard'u tutup, toolbar'a sürüklemeniz yeterli)


:hey:
 
Raider eline sağlık.
Güzel ve örnek bir çalışma olmuş.

Cazador'u ayrıca tebrik etmek gerekir. :) Bazen kodlarla uğraşırken zaten excel içinde olan bir sürü özelliği kullanmayı unutuyoruz. :( Buna defalarca şahit olmuşuzdur.
Arkadaşlar Excel VBA öğreniyorum derken exceli unutuyoruz sanki. Herkese tavsiyem Excelin özelliklerini maksimum düzeyde kullanır, sayfalarınızı, verilerinizi ve biçimlendirmelerini düzenli ve özenli bir şekilde uygulamaya çalışırsanız ve de bunları VBA ile desteklerseniz doğru yolda olacaksınız.
Cazador'u bizi uykudan uyandırdığı için bir kez daha tebrik ederim. :bravo: :bravo:
 
Geri
Üst