özel yapıştır seçeneğinden değerleri yapıştırmak

Katılım
9 Ocak 2006
Mesajlar
313
Excel Vers. ve Dili
Excel 2007 türkçe
dosya içinde düşeyara formülleri ile işlem yapmaktayım. formüllerin bozulma ihtimaline karşı dosyada bazı yerlere formülle gelen değerleri değer olarak yapıştırarak yedek almaktayım.

benim istediğim, ---benim kopyaladığım --- verileri aktif olan hücrede özel yapıştırdan değerleri yapıştıracak bir makro (makronun sağ tıklama, özel yapıştır seçeneği, çıkan pencereden değerleri tıklayıp tamam tuşuna basması yeterli)

(makroyu hücreleri kopyaladıktan sonra yapıştırması gereken hücreye gelince çalıştıracağım)

konu ile ilgili yaptığım çalışmada

Sub yapistir()
'
' yapistir Makro
' Makro OFİS tarafından 25.06.2006 tarihinde kaydedildi.
'

'
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub


makroda hata veriyor.
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Örnek Niteliğinde :
Bu kodu bir deneyiniz. A1 den A10 kadar rastgele değer girip butona basın. Bir fikir verebilir.

Sub Düğme1_Tıklat()
[D1:D10].Value = [A1:A10].Value
End Sub
 
Katılım
9 Ocak 2006
Mesajlar
313
Excel Vers. ve Dili
Excel 2007 türkçe
sayın Haluk, verdiğiniz adresten örneği inceleyip denemeler yaptım ama birşey anlamadım desem yeri var.

ben bunu ilk önce yapıp sonra eklenti olarak kaydetmem gerekiyor

orada sizin verdiğiniz cevapta

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


demişsiniz bunları uygulayamadım.

eklediğiniz örnek dosyadaki makroları birer birer çalıştırdım ama olmadı ben kopyalayıp makronun değer olarak yapıştıracağı yere gelip (hücreyi seçip) makroyu çalıştırıyorum ama birşey olmuyor kopyalanmış olan yer sanki esc tuşuna basılmış gibi iptal oluyor. ben bu makroya excelin en üstündeki menülerin orada tuş atayıp (yardım menüsünün yanında) ondan sonra eklenti olarak kaydedeceğim. o örnekte en sonra eklenti olarak bir ek dosya verilmiş onu dosya olarak açamadım ancak o dosyayı eklentilerin oraya koydum. ancak tuş atayamadım. Makroların da nasıl çalışacağını bulamadım.
 
Katılım
9 Ocak 2006
Mesajlar
313
Excel Vers. ve Dili
Excel 2007 türkçe
yardımlarınızı beklediğimi tarafınıza bildiririm.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
osmancig,

Verdiğim linkte konuyu resimleriyle birlikte o kadar detaylı anlatmışım ki, ilave edecek başka bir şey bulamıyorum ...
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Bu kodu bir deneyiniz.

Sub Düğme1_Tıklat()
[D1:D10].Value = Selection.Value
End Sub
 
Katılım
9 Ocak 2006
Mesajlar
313
Excel Vers. ve Dili
Excel 2007 türkçe
sayın Haluk, verdiğiniz adreste

sayın LEVENTM'nin yazısındaki

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


makronun benzerini örnek gösterip yapamadığımı belirtmiştim makromu üsteki şekilde değiştirdim. ama gine çalıştıramadım. sizin yazınızı inceledim sizin yazınızda ayrıca sağ tuş ile tıklandığınız zaman yeni bir menü çıkacak şekilde yapmışsınız ben o şekilde istemiyorum. sadece bu işi yapacak makro istiyorum,
 
Katılım
9 Ocak 2006
Mesajlar
313
Excel Vers. ve Dili
Excel 2007 türkçe
sayın Seyit Tiken, gönderdiğiniz kodu uyguladım gönderdiğiniz kod d1 ile d10 arasındaki formülleri kopyalayıp değer olarak yapıştırıyor. benim ise istediğim biryerdeki hücreleri kopyalayıp başka biryere değer olarak yapıştırmam gerekiyor bunu da yapıştırmayı düşündüğüm yeri seçip kopyalayıp yapıştırmam gereken yere gelince makroyu çalıştırmam ondan sonrasını makronun yapıştırması gerekiyor.

ÖRNEK DOSYA ekte
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Aşağıdaki kodu ilgili sayfanın kod penceresine(sayfasına) yapıştırınız. Çizeceğiniz düğme ToggleButton olması gerek. Yapacağınız şey çok basit. Rastgele bir kaç hücreye değer girin. O hücreleri seçili yapın ve bir kere düğmeye basın. Herhangi bir hücreye tıklayıp tekrar aynı düğmeye basın ve verilerin değer olarak ve seçime bağlı kopyala/yapıştırma işlemini yaptığını görülecektir.

Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
ToggleButton1.Caption = "YAPIŞTIR"
Selection.Copy
Else
ToggleButton1.Caption = "KOPYALA"
ActiveCell.PasteSpecial
Application.CutCopyMode = False
ActiveCell.Select
End If
End Sub
 
Katılım
9 Ocak 2006
Mesajlar
313
Excel Vers. ve Dili
Excel 2007 türkçe
sayın Seyit Tiken, kopyalamayı kendim yapsam da yapıştırmayı o yapsa olmuyor mu ?

buton değil de yardım' menüsünün yanına kendim düğme yapıyorum o şekilde olmaz mı ? aynı zamanda ben bunu eklenti olarak kaydedeceğim. kaydedilmiş bir eklenti bir excel dosyası şeklinde açılmadığından yardım menüsünün yanına düğme yapamadım ama eklenti olarak ekledim benim istediğim ayrıca düğme yapmak.
 

Metin Karaağaç

Uzman
Altın Üye
Katılım
25 Aralık 2004
Mesajlar
1,793
Excel Vers. ve Dili
Office 2016 Pro Plus-Türkçe
Altın Üyelik Bitiş Tarihi
10-12-2025
düğme yapma konusu excel dersanesinde anlatılmıştı.
tam linkini hatırlamıyorum ama gördüğüme kesin olarak eminim.
 
Üst