Avatar billede Helle Novice
22. august 2017 - 10:29 Der er 7 kommentarer og
1 løsning

Navngive faneblade ud fra liste

Jeg har en liste på 37 navne, som jeg gerne vil have sat på hver sit faneblad.
Navnene står i kolonne A (fornavn) B (efternavn)

Mangler en kode jeg kan sætte ind, forestiller mig under "udvikler" og "makroer"???

Fandt en kode herinde, men får kun oprettet 1 faneblad, og jeg skal jo have alle 37...

Jeg er på en MAC så kommandoer som ex. F11, kan jeg ikke bruge ;-)

Håber nogen kan hjælpe
Avatar billede finb Ekspert
22. august 2017 - 10:36 #1
Lav en vba ala:
For each sheet in workbook
  sheet.name = nameList(1 til 37)
next
Avatar billede Jan Hansen Ekspert
22. august 2017 - 11:00 #2
Hej
Ej Testet

sub LavFaneMedNavn()
dim MySheets as Worksheet, ws as Worksheet, MyColumn As Range,rCell as Range
  set ws= activesheet
  set MyColumn=ws.range("A2")
  set MyColumn=Range(MyColumn,MyColumn.End(XlDown))
  for each rCell in MyColumn
      MySheets=sheets.add
      MySheets.Name=rCell.value & " " & rCell.offset(0,1).value
  Next rCell
end sub



Jan
Avatar billede andyness Juniormester
22. august 2017 - 11:12 #3
Denne virker:


Sub Lav_Faner()
Dim Sidsteraekke As Integer
Dim x As Integer

Sidsteraekke = Sheets("Ark1").Cells(Rows.Count, 1).End(xlUp).Row
For x = 1 To Sidsteraekke
Sheets.Add
ActiveSheet.Name = Sheets("Ark1").Cells(x, 1) & " " & Sheets("Ark1").Cells(x, 2)
If x = 1 Then
ActiveSheet.Move After:=Sheets("Ark1")
Else
ActiveSheet.Move After:=Sheets(Sheets("Ark1").Cells(x - 1, 1) & " " & Sheets("Ark1").Cells(x - 1, 2))
End If
Next x

End Sub
Avatar billede Helle Novice
22. august 2017 - 11:20 #4
Jeg prøvede med får fejlmelding:

Fejl på kørselstidspunktet: 91`:
Objektvariablen eller With-blokken er ikke angivet

Det er sort tale for mig ;-)
Avatar billede andyness Juniormester
22. august 2017 - 11:22 #5
Hvilken løsning prøvede du?
Avatar billede Jan Hansen Ekspert
22. august 2017 - 11:24 #6
Min er også testet nu:



Option Explicit

Sub LavFaneMedNavn()
Dim MySheets As Worksheet, ws As Worksheet, MyColumn As Range, rCell As Range
  Set ws = ActiveSheet
  Set MyColumn = ws.Range("A2")
  Set MyColumn = Range(MyColumn, MyColumn.End(xlDown))
  For Each rCell In MyColumn
      Set MySheets = Sheets.Add(, ActiveSheet)
      MySheets.Name = rCell.Value & " " & rCell.Offset(0, 1).Value
  Next rCell
End Sub


Jan
Avatar billede andyness Juniormester
22. august 2017 - 11:36 #7
Avatar billede Helle Novice
22. august 2017 - 11:39 #8
Det lykkedes!!!
TAK ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester