Hücre sayfa adı Microsoft Excel ile doldurun


0

İçinde yaklaşık 100 sayfa olan bir excel dosyam var. Her sayfa bir öğrenci içindir ve her sayfa adı firstname_lastname Örneğin Mark_Hope öyleyse yapmak istediğim her sayfada iki hücre olması. firstname ve lastname Bu iki hücreyi otomatik olarak almak ve sayfa adındaki ad ve soyadı ile doldurmak istiyorum. Herhangi bir tavsiye lütfen?

Bu denedim ama nedense düzgün çalışmıyor, ayrıca sadece mevcut olanı değil tüm sayfaları günceller.

İçin lastname:

=RIGHT(MID(CELL("filename"),FIND("]",CELL("filename"))+1,30),FIND("_",MID(CELL("filename"),FIND("]",CELL("filename"))+1,30))-1)

İçin firstname:

=LEFT(MID(CELL("filename"),FIND("]",CELL("filename"))+1,30),FIND("_",MID(CELL("filename"),FIND("]",CELL("filename"))+1,30))-1)

Yanıtlar:


2

İlk isim için

=LEFT(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,256), FIND("_", MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,256))-1)

Soyadı için

=MID(CELL("filename",A1),FIND("_",CELL("filename",A1))+1,256)

Ne demek istediğinizi "tüm sayfaları güncellediğinden" emin değilsiniz - bunlar hücrelere yapıştırmanız gereken formüllerdir. her levha.

Ayrıca bir ipucu olarak, Formül şeridinde Değerlendir Formülünü kullanmak, formülün her bir bölümünden geçer ve yanlış gittiğini gösterir.

Ayrıca, sayfa adını bir hücreye sokup daha sonra diğer iki formülde bu hücreyi kullanarak bu formülleri basitleştirebilirsiniz.

Bir VBA çözümü kullanmak, sayfa adını değiştirdiğinizde komut dosyasını yeniden çalıştırmayı hatırlamak anlamına gelir.


1

VBA ile kolayca yapabilirsiniz:

Sub namestocells()
    Dim wkb As Workbook
    Dim wks As Worksheet
    Set wkb = ThisWorkbook
    totalwks = wkb.Worksheets.Count
    For i = 1 To totalwks
        Set wks = wkb.Sheets(i)
        sheetname = wks.Name
        splitname = Split(sheetname, "_")
        mn = UBound(splitname)
        If mn = 1 Then
            wks.Cells(1, 1) = splitname(0)
            wks.Cells(1, 2) = splitname(1)
        End If
    Next i
    a = MsgBox("The process has ended succesfully", vbInformation)
End Sub

Tüm çalışma sayfalarınızı inceleyecek, adını alacak, bölüp hücrelere atacak A1 (wks.Cells (1, 1)) ve B1 (wks.Cells (1, 2)) buradaki ad ve soyadını çalışma sayfasının adına göre belirtin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.