Soru Aktif Satırdaki Son Dolu Sütuna Gitmek

Katılım
20 Kasım 2009
Mesajlar
89
Excel Vers. ve Dili
MS Office 2016 TR
Merhaba, birçok satır olan bir tablo düşünün sağa doğru 71 adet sütun var. Benim yapmak istediğim, aktif seçili olan satırın 71.ci hücresini seçtirmektir. Bu konuda yardımcı olabilirseniz çok sevinirim. Burada önemli olan o an aktif seçili olan satırın 71.ci sütununu seçtirmek. Şimdiden teşekkürler.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

İstediğiniz bu mu?
Kod:
Sub test()
    Cells(71, ActiveCell.Column).Select
End Sub
 
Katılım
20 Kasım 2009
Mesajlar
89
Excel Vers. ve Dili
MS Office 2016 TR
Sizin kodla aktif hücrenin 71.satırına gitti. Benim istediğim aktif satırın 71.sütununa gitmesini istiyorum. Örnek verecek olursam o an A14 aktif ise 71.sütunun 14.satırına gitmesini istiyorum. Eğer A20 seçili ise 71.sütunun 20.satırına gitmesini istiyorum.
 

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
Niye o hücreyi seçmek istiyorsunuz?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bir hücre ile ilgili işlem yapmak için seçmenize gerek yok.
 
Katılım
20 Kasım 2009
Mesajlar
89
Excel Vers. ve Dili
MS Office 2016 TR
Bir hücre ile ilgili işlem yapmak için seçmenize gerek yok.
Yaptığımın daha kolay yolu varsa tarif ederseniz sevinirim. Aslında tam olarak şöyle, Userform üzerinde listbox var, listbox üzerinde ki bir satırı seçtiğimde ilgili satırı excel sayfası üzerinde A sütununda seçiyor. Bu seçtiği hücreye bir bilgi yazıyor sonrada aynı satırın son (71.sütununa) başka bir bilgi yazmasını istiyorum. O yüzden önce seçtirip sonrada seçtiği aktif hücereye bilgiyi yazdırıyorum.

NOT: Listbox üzerinde hangi satırı seçersem sayfada da onunla ilgili satırı seçtiği içinsabit bir hücre değil değişken o yüzden biraz bu yolu seçtim.
 

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
Belirtildiği gibi hücreye veri girmek için seçmeye gerek yoktur. Hangi hücreyi seçeceğini bilen makro hangi hücreye veri gireceğini de bilir doğal olarak.

Kodlarınızda

abc.select

gibi bir satırla veri girilecek hücreyi seçiyorsuınuzdur. Bunun yerine

abc = "def"

şeklinde o hücreye doğrudan veri yazdırabilirsiniz.

71. sütun için ise

abc.offset(0,70) = "mno"

şeklinde kodu düzenleyebilirsiniz.
 
Katılım
20 Kasım 2009
Mesajlar
89
Excel Vers. ve Dili
MS Office 2016 TR
Belirtildiği gibi hücreye veri girmek için seçmeye gerek yoktur. Hangi hücreyi seçeceğini bilen makro hangi hücreye veri gireceğini de bilir doğal olarak.

Kodlarınızda

abc.select

gibi bir satırla veri girilecek hücreyi seçiyorsuınuzdur. Bunun yerine

abc = "def"

şeklinde o hücreye doğrudan veri yazdırabilirsiniz.

71. sütun için ise

abc.offset(0,70) = "mno"

şeklinde kodu düzenleyebilirsiniz.
Söylediğiniz anladım fakat yapamadım :)
Range("BS").Offset(0, 70) = "ms" bu şekilde yaptım fakat hata verdi
 

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
Range("BS") dediğiniz nedir, BS sütunu mu yoksa bir değişken mi? Bu şekilde kullanılıyorsa yani BS sütunuysa satırın da belirtilmesi gerekir.

Kodunuz önceden Range("BS") = "ab" şeklinde miydi? (Muhtemelen değildir, bir şeyleri eksik yapmışsınızdır.

Tam çözüm için örnek dosya paylaşmanız iyi olur.
 
Katılım
20 Kasım 2009
Mesajlar
89
Excel Vers. ve Dili
MS Office 2016 TR
Range("BS") dediğiniz nedir, BS sütunu mu yoksa bir değişken mi? Bu şekilde kullanılıyorsa yani BS sütunuysa satırın da belirtilmesi gerekir.

Kodunuz önceden Range("BS") = "ab" şeklinde miydi? (Muhtemelen değildir, bir şeyleri eksik yapmışsınızdır.

Tam çözüm için örnek dosya paylaşmanız iyi olur.
Hücreyi seçtirerek veri yazdırdığım kodlar bu şekildeydi. BS sütunun ismi bu arada

Private Sub CommandButton2_Click()
Sheets("SiparisListesi").Select
If MsgBox("Muhasebe-2 kaydı yapıldı olarak işaretlenecek" & vbCrLf & vbCrLf & "Devam edilsin mi?", vbQuestion + vbYesNo) = vbYes Then
ActiveCell.Offset(0, 70).Select
ActiveCell.Value = "MK2"
End If
End Sub
 

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
Burda activecell'i nasıl seçtirdiğiniz önemli. Yazdıklarımı tekrar okursanız anlayabileceğinizi düşünüyorum. Yani "Şu hücreyi seç" yerine "Şu hücreye şunu yaz" diyebiliyoruz.
 
Katılım
20 Kasım 2009
Mesajlar
89
Excel Vers. ve Dili
MS Office 2016 TR
Burda activecell'i nasıl seçtirdiğiniz önemli. Yazdıklarımı tekrar okursanız anlayabileceğinizi düşünüyorum. Yani "Şu hücreyi seç" yerine "Şu hücreye şunu yaz" diyebiliyoruz.
Yusuf bey merhaba,

Cells(ActiveCell.Row, 71) = "MK2"

Bu şekilde yapınca oldu. Seç sonra da seçtiğin yere yaz yerine bu şekilde tek satır ile yapılabiliyor. İlginiz için teşekkür ederim.
 

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
Sonuçta burda da bir seçim yapmış oluyorsunuz ama.

Anlatmak istediğimiz o seçimi de yapmadan işlem yapabilirsiniz.
 
Katılım
20 Kasım 2009
Mesajlar
89
Excel Vers. ve Dili
MS Office 2016 TR
Sonuçta burda da bir seçim yapmış oluyorsunuz ama.

Anlatmak istediğimiz o seçimi de yapmadan işlem yapabilirsiniz.
Söylediğinizi şimdi anladım. Fakat, ben aktarılacak bilgiyi listbox üzerinde seçtiğim satıra göre aktardığım için her şekilde seçim yaptırmam gerekmiyor mu? Listboxa tıkladığımda sayfada ilgili satırı Range("A" & ListBox1.ListIndex + 1).Select bu kod ile seçtiriyorum. Sonra da seçili olan satırın 71.sütununa "MK2" bilgisini yazdırıyorum. Bilgi aktaracağım yer değişken olduğu için seçtirmek zorunda kalıyorum. Bu mantıkta düşündüğünüzde seçtirmeden bilgi girmeyi nasıl yaparım bilemiyorum.
 

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
Range("A" & ListBox1.ListIndex + 1).Offset(0,70) = "MK2"

Olabilir.

Ya da 71. sütun sabit olduğundan yani BS sütunu olduğundan:

Range("BS" & ListBox1.ListIndex + 1)="MK2"

Olabilir.
 
Katılım
20 Kasım 2009
Mesajlar
89
Excel Vers. ve Dili
MS Office 2016 TR
Range("A" & ListBox1.ListIndex + 1).Offset(0,70) = "MK2"

Olabilir.

Ya da 71. sütun sabit olduğundan yani BS sütunu olduğundan:

Range("BS" & ListBox1.ListIndex + 1)="MK2"

Olabilir.
Evet söylediğiniz gibi oldu teşekkürler sayenizde bir şey daha öğrendim. İzninizle bir şey sormak istiyorum 2 ayrı buton ile aktarım yapıyordum bu şekilde tek buton ile yapabileceğimi düşünüyorum ama yöntemini bilmiyorum. Şöyleki; Listboxa göre 1.sütuna textbox11 değerini 71.sütuna da textbox12 değerini atamak istiyorum aşağıdaki gibi yazınca olmadı yardımcı olabilir misiniz?

Range("A" & ListBox1.ListIndex + 1).Offset(0, 0) = TextBox11.Value
Range("A" & ListBox1.ListIndex + 1).Offset(0, 70) = TextBox12.Value
 

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
İlk hücre için offset kısmını kullanmadan dener misiniz?

Range("A" & ListBox1.ListIndex + 1)= TextBox11.Value

Kod yazımında bir hata görünmüyor.
 
Üst