• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Inkorten bladnaam uit celwaarde

Status
Niet open voor verdere reacties.

wiki

Gebruiker
Lid geworden
2 okt 2007
Berichten
576
Met de volgende code splits ik de rijen in een blad naar verschillende tabbladen als de waarde in kolom A gelijk is.

Code:
For Each c In ws1.Range("A1", ws1.Range("A" & Rows.Count).End(xlUp))
                If WksExists(c.Text) Then
                    Set ws = ThisWorkbook.Worksheets(c.Text)
                    Else
                    Set ws = ThisWorkbook.Worksheets.Add
            ws.Name = c.Text
                End If

Het probleem waar ik tegenaan loop is dat de celwaarde soms langer is dan 31 karakters waardoor per regel een tabblad aangemaakt wordt.
Hoe kan ik in bovenstaande code aangeven dat maximum 31 karakters uit een cel gebruikt worden?

gr Wim
 

Bijlagen

  • Voorbeeld.xls
    38,5 KB · Weergaven: 23
Laatst bewerkt:
Code:
on error resume next
For Each cl In ws1.columns(1).specialcells(2,xlTextvalue)
  sheets(left(cl,31)).activate
  if err.number> 0 then
    with ThisWorkbook.sheets.Add
      .name =left(cl,31)
    end with
  end if
  err.clear
Next
 
Laatst bewerkt:
Bedankt SNB

Had je antwoord nog niet gezien, maar heb het ondertussen opgelost met
Code:
 For Each c In ws1.Range("A1", ws1.Range("A" & Rows.Count).End(xlUp))
    c.Value = Left(c.Value, 31)
    Next c

gr wim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan