PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAHämta värden från nya bladHämta värden från nya blad
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2021-10-14 15:46
 

 Hej! 

Jag håller på att skapa en arbetsbok där 3 blad styr informationen och denna sammanfattas på samma rad på första bladet. Det jag försökt skapa är att de tre bladen kopieras, döps om efter numrering och får uppdaterat littera, samtidigt som informationen på första bladet uppdateras i en ny rad. Så de tre bladen "U1" "S1" och "T1" kopieras till blanka versioner av sig själva med namnen "U2" "S2" och "T2" och så vidare samtidigt som en ny rad där cellerna är länkade till de nya bladen skapas.
Då jag inte är särskilt van vid VBA har jag testat mig fram till följande makro:

Private Sub CommandButton1_Click()

    Sheets("U").Copy After:=Worksheets(Sheets.Count)

    On Error Resume Next

    ActiveSheet.Name = "U"

    nmbr = nmbr + 1

    Sheets("S").Copy After:=Worksheets(Sheets.Count)

    On Error Resume Next

    ActiveSheet.Name = "S"

    nmbr = nmbr + 1

    Sheets("T").Copy After:=Worksheets(Sheets.Count)

    On Error Resume Next

    ActiveSheet.Name = "T"

    nmbr = nmbr + 1

End Sub

Med detta får jag (mer eller mindre) det jag vill med att kopiera bladen, uppdatera littera genom =EXTEXT(@CELL("filnamn";S!A30);HITTA("]";@CELL("filnamn";S!A30))+1;255). 
MEN jag får inte, trots allt googlande, till hur man vid skapandet av nya filer samtidigt skapar en ny rad som hämtar info från dessa. 

 

Nytt inlägg
 2021-10-18 10:47
 

Hej hej

Fixade till din kod lite, och lade till att filnamn och blad skrivs till cell i litterablad. Du behöver infoga en figur på litterabladet och högerklicka på den, för att koppla makro till den. Följ därefter instruktionerna i kommenterad kod:

Private NR As Long

 

Public Sub CopySheets()

    

    'ändra till namnet på bladet där du har littera (index)

    Dim wsLittera As Worksheet: Set wsLittera = Worksheets("Littera")

    Dim i As Long

    'Alla bladnamn som ska klonas ska stå i arrayen

    Dim arr As Variant: arr = Array("U", "S", "T")

    Dim copiedWs As Worksheet

    'Cell som håller koll på numrering, i detta fall cell A1 på litterabladet

    NR = wsLittera.Range("A1")

    Dim lastusedCell As Range

    

    For i = 0 To UBound(arr, 1)        

        Sheets(arr(i)).Copy After:=Worksheets(Sheets.Count)

        Set copiedWs = ActiveSheet

        On Error GoTo Errhandler

            copiedWs.Name = arr(i) & NR

        On Error GoTo 0

        'Sista cell i litterablad som har data, + en nedåt (tom cell)

        Set lastusedCell = wsLittera.Range("A1000").End(xlUp).Offset(1, 0)

        'Skriver ut filnamn och bladnamn till litterablad

        lastusedCell = ThisWorkbook.FullName & "\" & copiedWs.Name & "!"

    Next i

wsLittera.Select

Exit Sub

Errhandler:

    NR = NR + 1

    wsLittera.Range("A1") = NR

    copiedWs.Name = arr(i) & NR

    Resume Next    

End Sub

 

 

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAHämta värden från nya bladHämta värden från nya blad

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter