Excel Formül Sorusu Sor

Bir Excel formülüne dair sorunuz varsa, bu alanı kullanarak bize iletin.

Excel Makro Sorusu Sor

Bir Excel VBA koduna dair sorunuz varsa, bu alanı kullanarak bize iletin.

Genel Excel Sorusu Sor

Excel'in ön sayfasındaki FORMÜL haricinde olan sorularınızı buradan sorabilirsiniz.

Çözüldü Tek Butonla İki Sayfaya Birden Kayıt Etme

berkbaba

Normal Üye

Excel Versiyonu
Excel 2019
Excel Sürümü
32 Bit
Excel Dili
Türkçe
Userform formunda
bir buton ile ayrı anda iki sayfaya birden birinci sayfa 3. satırdan ikinci sayfa 2. satırdan itibaren alt alta, alfabetik ve b sütununa sıra numaralı kayıt kodu için bir örnek rica edebilir miyim?
 
Çözüm
Diğer klasikleri ekleyeyim.

VBA:
Görüntülemek için giriş yapmalısınız.
(15 satır)

VBA:
Görüntülemek için giriş yapmalısınız.
(7 satır)
Aslında B sütunı için sıralanma olayı yaptırılmıştı :)
Alfabetik olayını diğer forumdaki dosyada eklemeyi unutmuşum.
O dosyayı affabetik yaptırıp buraya ekleyeyim.Konu çok karışıktı ben anlarım ancak bu dosyanın dilinden :)
 
Dosyaları bir deneyin.Birisi B sütununa sıra numarasını verme olayı diğer formda anlattığım gibi diğeri ise B dekison satıdan bir öncekinin 1 fazlası.

Alttaki koddaki .Range("B2").End(xlDown).Row B2 yerine C2 yazdım.
Alttaki koddaki .Range("B4").End(xlDown).Row B4 yerine C4 yazdım.

212 ve 222.ci satırlar dolu olduğu için kodlar uzadı.Oraları koda gömüp en sonda o satırlara ekletilebilirdi esasen.
Neyse dosyaları bir deneyin alfabetik sıralamada ekledim.
Kaydetme kodunun biride en altta.

Sub son_ArsivsayfaNo() With Sheets(sayfa_ARÞiV) If .Range("B3").Value = "" Then sonArsivsatirNo = 3 Else sonArsivsatirNo = .Range("B2").End(xlDown).Row End If End With End Sub Sub son_BordrosayfaNo() With Sheets(sayfa_Bordo) If .Range("B5").Value = "" Then sonBordrosatirNo = 5 Else sonBordrosatirNo = .Range("B4").End(xlDown).Row End If End With End Sub


VBA:
Görüntülemek için giriş yapmalısınız.
(89 satır)
 

Ekli dosyalar

  • vba soru 68.xlsm
    174.9 KB · Görüntüleme: 4
  • vba soru 68 - Kopie.xlsm
    177.8 KB · Görüntüleme: 4
.Sort.SortFields.Add2 Key:=.Range("C3:C" & sonArsivsatirNo) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
kısmı sarı renk ile hata veriyor. Hata Kodu
"runtime error 438"
object doesn t support this property or method

Büyük ihtimalle
.Sort.SortFields.Clear
.Sort.SortFields.Add2 Key:=.Range("C5:C" & sonBordrosatirNo) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
kısmında da hata verecek ama o kısma geçemediğim için bilmiyorum
 
Birkaç kod daha değiştirdim.
Sanırım şimdi tam oldu.

Daha öncede yazmıştım 212 ve 222 satırlar diye onlar silinse bu kadar uğraşılmazdı :)
Ben zaman olunca oralarıda koda ekleyeyim olmazsa.
Ben dosyayı bildiğim için zor çıkıyorum işin içinden başkası bilmediği ,ç,n bu konuya dahil oldum :)
Çekinmenize gerek yok benden yana her zaman anladığım kadarıyla yardım ederim.
 

Ekli dosyalar

  • vba soru 69.xlsm
    175.5 KB · Görüntüleme: 11
üstad sana çok zahmet verdim.
her kodunu kendi arşivime aldım. Tek kafamın almadığı

Sub sirala_SiraNoBordro()
Dim son As Long, arr, i As Long
With Sheets(sayfa_Bordo)
son = .Range("C:C").Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
If son < 5 Then son = 5
ReDim arr(1 To son, 1 To 1)
For i = 5 To son
arr(i - 4, 1) = i - 4
Next
.Range("B3").Resize(son, 1).Value = arr
End With
Erase arr
End Sub

Bu kodu başka bir dosyamda kullandım. Hoşuma da gitti. Ancak bir türlü ilk satırı tutturamadım.
Bunun gibi aynı işlemi gören bir kod paylaşabilir misin?
 
.Range("B3").Resize(son, 1).Value = arr

Yukarıdaki 3 yerine 5 gelecekti.Son dosyada değiştirmiştim aslında.
Alternatifte var fakat bu hızlı ideal.
 
Alttaki koduda sabit tanımlayıp açıklamalarını ekledim.
Arşiv sayfası içinde aynı mantık.Örnek orda 5 yerine 3 olacak.Klasik yöntemleride eklerim.

VBA:
Görüntülemek için giriş yapmalısınız.
(18 satır)
 
Klasik yöntem1
Alttaki Const ilkBos As Integer = 5 yeri silip ilkBos yerlerinede 5 yazabilirsiniz.

VBA:
Görüntülemek için giriş yapmalısınız.
(17 satır)
 
Diğer klasikleri ekleyeyim.

VBA:
Görüntülemek için giriş yapmalısınız.
(15 satır)

VBA:
Görüntülemek için giriş yapmalısınız.
(17 satır)
 
Çözüm
DMCA.com Protection Status
Konuyu başlatan
Normal Üye
Katılım
Konum
Türkiye
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
18
Geri
Üst