Düğme 1, farklı bir noktaya makro ile nasıl götürülür?

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşlar,
Düzeltme yapmak için ulaştığım data satırının 2 satır altına makro çağırabilecek Düğme1 i nasıl getirebilirim?
Saygılarımla
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
ActiveX denetimlerden ekleyin.
Sayfanızın kod kısmında yazıyorsanız mesela G10 hücresine hizalamak için örnek kod aşağıdadır. Benzer şekilde kendinize uyarlayabilrisiniz.
C++:
Me.CommandButton1.Top = Range("G10").Top
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın ÖmerFaruk Hocam,
İlginize teşekkür ederim. İşimi görmedi !
Görünen bölüm "CA1:E35", düzeltme yapılan bölüm "B1:AZ20000". Yaklaşık 11000 satırlık data var. Düzeltme yapılan bölüm, düzeltme yapılacağı zaman açılıp gösteriliyor, bunun dışında hep gizli. Çalışan elemanlar hep kolaylık arıyor. Bazı elemanlara, Ctrl+Home tuş kombinasyonunu öğretmek bile (affınıza sığınıyorum) deveye hendek atlatmaktan zor. Sanırım başka bir yol bulmalıyım.
Saygılarımla
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,307
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bence örnek dosya ekleyerek yapmak istediğiniz işlemi açıklarsanız çözüm bulmak daha kolay olabilir.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Korhan Ayhan Hocam,
İlginize teşekkür ederim. Örnek ektedir.
Saygılarımla
 

Ekli dosyalar

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Sayfadaki butonları değiştirin. ActiveX denetimlerinden 2 buton ekleyin. Command Button 1 ve 2. CommandButton2 DÜZELDİ butonunuz. İşlem bitince DN7 hücresine geri gelecek.

Sayfanızın Kod bölümüne aşağıdakileri yapıştırın.
C++:
Private Sub CommandButton1_Click()
Call Module1.Bilgi_Duzelt
If C.Address <> "" Then
    Me.CommandButton2.Top = C.Offset(2, 0).Top
    Me.CommandButton2.Left = C.Offset(2, 0).Left
End If
End Sub


Private Sub CommandButton2_Click()
Call Module1.Duzeldi
Me.CommandButton2.Top = [DN7].Top
Me.CommandButton2.Left = [DN7].Left
[DN7].Select
End Sub

Modüle 1 içindeki kodlarınız yerine aşağıdakileri kullanın
C++:
Global C As Range

Sub Bilgi_Duzelt()
    Dim bytYas As Byte, Son As Integer
    Sheets("Goster").Select
    Son = Cells(Rows.Count, "B").End(xlUp).Row
    Columns("B:E").EntireColumn.Hidden = False
    OgNo = InputBox(Prompt:="Bilgisini düzeltmek istediğiniz öğrencinin numarasını giriniz")
    Set C = Range("C1:C" & Son).Find(What:=OgNo, LookAt:=xlWhole)
    If Not C Is Nothing Then C.Select
End Sub

Sub Duzeldi()
    Columns("B:E").EntireColumn.Hidden = True
End Sub
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Ömer Faruk Hocam,
İlginize teşekkür ederim.
Saygılarımla
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,307
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif;

Varolan kodlarınızı aşağıdaki gibi değiştirirseniz sonuca gidebilirsiniz.

C++:
Sub Bilgi_Duzelt()
    Dim bytYas As Byte, Son As Integer
    Sheets("Goster").Select
    Son = Cells(Rows.Count, "B").End(xlUp).Row
    Columns("B:E").Select
    Selection.EntireColumn.Hidden = False
Basa:
    OgNo = InputBox(Prompt:="Bilgisini düzeltmek istediğiniz öğrencinin numarasını giriniz")
    Set c = Range("C1:C" & Son).Find(What:=OgNo, LookAt:=xlWhole)
        If Not c Is Nothing Then
            c.Select
            ActiveSheet.Shapes("Button 4").DrawingObject.Top = c.Offset(2).Top
            ActiveSheet.Shapes("Button 4").DrawingObject.Left = c.Offset(2, 1).Left
        End If
End Sub

Sub Duzeldi()
    ActiveSheet.Shapes("Button 4").DrawingObject.Top = Range("DO7").Top
    ActiveSheet.Shapes("Button 4").DrawingObject.Left = Range("DO7").Left
    Columns("B:E").Select
    Selection.EntireColumn.Hidden = True
End Sub
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Korhan Ayhan Hocam,
İlginize teşekkür ederim.
Saygılarımla
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Hiç kod yazmaya gerek yok.
ilk satırı dondurun.Command butonuda oraya ekleyin.İşlem tamamdır.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Evren Hocam,
Bir kaç sefer kullandım bu yöntemi. İlginize teşekkür ederim.
Saygılarımla
 
Üst