• DİKKAT

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

Değeri başka hücreye kopyalama

  • Konbuyu başlatan Konbuyu başlatan ant1905
  • Başlangıç tarihi Başlangıç tarihi
Katılım
26 Eylül 2011
Mesajlar
149
Excel Vers. ve Dili
excel 2010 türkçe
Arkadaşlar ve Üstatlar hepinize günaydın,

Aslında çok basit bir sorun ama benim bu konudaki bilgim içinden çıkmaya yetmedi. Yapmak istediğim şey bir hücreye tıklandığında belli hücreleri belli hücrelere değer olarak kopyalatmak. İlgilenen arkadaşlara şimdiden çok teşekkür ederim.
Detaylı örnek dosyayı ekledim.
 

Ekli dosyalar

Merhaba

Ekli dosyayı inceleyini.

C sütunundaki herhangi bi satıra fare ile çift tıklatınız.
 

Ekli dosyalar

Üstadım elinize sağlık.. Çok teşekkür ederim. Elinize beyninize sağlık..
 
Bunu oluşturduğum herhangi bir butona atamak için

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

bu satırda beforedoubleclick kısmında mı değişiklik yapmak gerekiyor?
 
Arkadaşlar ve Üstatlar hepinize günaydın,

Aslında çok basit bir sorun ama benim bu konudaki bilgim içinden çıkmaya yetmedi. Yapmak istediğim şey bir hücreye tıklandığında belli hücreleri belli hücrelere değer olarak kopyalatmak. İlgilenen arkadaşlara şimdiden çok teşekkür ederim.
Detaylı örnek dosyayı ekledim.

.

Bu şekilde de olur.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("C1:C10")) Is Nothing Then [h1] = Target.Offset(0, -1)
If Not Intersect(Target, Range("C1:C10")) Is Nothing Then [h3] = Target.Offset(0, 1)

End Sub

C1:C10'u istediğiniz kadar uzatabilirsiniz.


.
 
Merhaba

Evet.Kodların son kısmına yeni oluşturduğunuz makronun ismini yazacaksınız.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 3 Then
Range("h1") = Target.Cells.Offset(0, -1)
Range("h3") = Target.Cells.Offset(0, 1)
End If

Oluşturduğunuz makro ismi
End Sub
 
Üstatlar ikinize de çok teşekkür ederim. Bu nasıl bir enerji bu nasıl bir yardımseverliktir ben bu işin içinden çıkamadım. herseferinde hızır gibi yetişiyorsunuz ve de herkese yetişiyorsunuz :)

tekrar tekrar teşekkürler.
 
Zafer Moderatörüm
Makro oluşturdum. OTOMO diye isim verdim. Sonra dediğiniz gibi düğmeye atadım ama çalıştıramıyorum yanlışım nerede???

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 3 Then
Range("h1") = Target.Cells.Offset(0, -1)
Range("h3") = Target.Cells.Offset(0, 1)
End If

OTOMO

End Sub
------------------------------------------------------------------------------------------
Sub OTOMO()

End Sub
 
Son düzenleme:
Zafer Moderatörüm
Makro oluşturdum. OTOMO diye isim verdim. Sonra dediğiniz gibi düğmeye atadım ama çalıştıramıyorum yanlışım nerede???

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 3 Then
Range("h1") = Target.Cells.Offset(0, -1)
Range("h3") = Target.Cells.Offset(0, 1)
End If

OTOMO

End Sub
------------------------------------------------------------------------------------------
Sub OTOMO()

End Sub
 
Merhaba

C sütunundaki hücrelere fare ile çift tıklatıyorsunuz.
makro önce H1 ve H3 hücrelerine veri yazar.

Sonra OTOMO makrosuna gider

OTOMO makrosunu buraya yapıştırabilirmisiniz.

Aşağıdaki ekli dosyayı tekrar inceleyiniz.

Örnek yaptım.
C sütununa çift tıkladıktan sonra
A10 ile A20 arasına sıralı veri yazacaktır.

Çalışma biçimi olarak kodlara bakınız.
 

Ekli dosyalar

Merhaba

Makronuzda hesapla yapıyorsanız.
hesaplama kapalı olduğu için olabilirmi

Eğer öyleyse

Sub OTOMO()
Application.Calculation = xlAutomatic

....
....

Application.Calculation = xlManual
end sub

Uygulayınız.
 
Zafer hocam bu başka bir konu gibi olmuş sanki yada ben bugün aşırı yoruldum kafam basmıyor ...

Sabah verdiğiniz çözüm çalışıyordu ama tabii bir mantık hatası yapmıştım. Boş olan hücreye iki kere tıklayınca... evet istenilen hücreleri istenilen bölgelere kopyalıyordu fakat aynı anda hücre üzerinde F2 ye basılmış gibi reaksyon veriyordu. Bu yüzden bende şöyle düşündüm " ben buralara düğme oluştursam düğmeye basınca bu işi yapsa...?" diye düşündüm.

Demek istediğim oydu. Ama düğmeye göre offset olabiliyor mu onu bilemiyorum tabii.. Sizi yormamak için kendim denedim ama beceremedim. O yüzden ikinci kez sormak ihtiyacı doğdu.
 
Merhaba

Tek tek her hücreye düğme oluşturmanın anlamı yok.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 3 Then
Range("h1") = Target.Cells.Offset(0, -1)
Range("h3") = Target.Cells.Offset(0, 1)
End If
Range("a1").Select
OTOMO
End Sub

Koyu renkli yeri ilave ederseniz. Hücre içinde kalmaz çift tıkladıktan sonra İşlemini yapar A1 hücresine gider .
sonra OTOMO makrosunu çalıştırır
offset 'den kastınızı anlayamadım. Ne yapmak istiyorsunuz.
 
Çok doğru söylüyorsunuz. Tek tek zor tabii.. Sarı hücrelere çift tıklandığında F2 etkisinden nasıl kurtarırım diye düşününce o buton fikri ortaya çıktı.
Offset derken de şunu kastetmek istemiştim. hani kodda yazmışsınız ya tıklanan hücrenin solu -1 sağı 1 diye. Onu kastetmiştim.

Ben sizin ilk verdiğiniz haliyle kullanayım. Forumda birsürü insan soru soruyor sizin kıymetli vaktinizi detay birşey için meşgul ediyor olmak istemem üstadım.
 
Merhaba

Rica ederim. Yeterki biz sizlere birşeyler verebilelim.Zaten Forumumuzun amacıda budur.

Range("a1").Select
satırını ilave edin.Fare hücre içinde kalmaz.(f2 etkisinden)

Offset(satır, sütun)

0 satır
-1 sütun

Offset(0, -1) aktif hücrenin solundaki sütun
Offset(0,1) sağındaki sütun
Offset(1,0) Bir alttaki satır

gibi..
 
Hocam şimdi süper oldu .... çok çok teşekkür ederim hem emeğinize hem sabrınıza..
 
Merhaba,

Ek bilgi;

Çift tıklama olayında imlecin hücre içinden çıkması için kodlarınıza aşağıdaki ifadeyi ekleyebilirsiniz.

Kod:
Cancel = True
 
Korhan Üstat size de çok teşekkür ederim. yazılanların hepsini not aldım.
 
Zafer hocam verdiğiniz koda ek geldi.. Mantık kullanarak birleştirdim ve çalıştığını teyit ettim.
Yalnız ufacık bir sorunum var. Hedef kolon 2. olmasına rağmen çalışma sayfasında herhangi biryere tıkladığımda da kod çalışıyor.. Bu neden olabilir acaba?
Kodun son hali şu şekilde..

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 2 Then
Range("a4") = Target.Cells.Offset(0, 421)
Range("a7") = Target.Cells.Offset(0, 423)
End If
Range("a1").Select
If Intersect(Target, Range("a16")) Is Nothing Then Exit Sub
Cancel = True
If Target.Text <> "" Then
Application.Goto Reference:=Target.Text
End If
End Sub
 
Geri
Üst