Şahsen, bunun için kullanıcı tanımlı bir işlev yaratacağım, bu şekilde bir çalışma sayfası işlevi çıktısı almak için bir alt seçeneğe ihtiyacınız yok
Bunun için sadece G6'ya girersiniz =username(C6,D6,G6)
. İlave fayda, bakım ve kodlarınızı derhal makroya okumak ve herhangi bir hücreye başvuru yapmak zorunda kalmama kodunun okunabilirliğinin artmasıdır.
Public Function UserName(ByVal firstName As String, ByVal lastName As String, ByVal middleInitial As String) As String
Dim result As String
If Len(firstName) + Len(lastName) >= 8 Then
result = firstName & lastName
Else: result = firstName & middleInitial & lastName
End If
If Len(result) > 8 Then result = Left(result, 8)
UserName = result
End Function
Bu, benzer fonksiyonlar için de kolayca kullanılabilir çünkü okunması kolaydır.
Yalnızca Dim
değişkenleri girerek ve ilgili hücrelerine ayarlayarak bir alt olarak tutmak istiyorsanız aynı kod türünü kullanabilirsiniz .
Bu işlevin mantığına ilişkin önemli bir not - girişiminizde ilk + orta + sonun 8'den küçük olma olasılığını hesaba katmazsınız, bu yüzden ne yapmak istediğinizi bilmiyorum. Belki maksimum 8’iniz bu yüzden 5 olup olmaması önemli değil - eğer öyleyse, karakter eklemede bir mantık ekleyin. Ayrıca, bu kullanıcı adı oluşturuyorsa, büyük olasılıkla mevcut kullanıcı adlarına göre kontrol etmek ve çoğaltmalar için ayarlamak isteyeceksiniz.