Avatar billede lingo Nybegynder
27. april 2006 - 10:36 Der er 5 kommentarer og
1 løsning

Visuel Basic i Excell - programmering, mellem ark og sortering

Jeg har et excel ark opbygget således: HOvedside (oversigt), orginale, og så masser af ekstra ark der er kopi af orginal. I de ekstra ark indtastes forskellige oplysninger.

Jeg har indtil videre flg. programmering:

Sub Makro7()
'
' Makro7 Makro
' Makro indspillet 27-04-2006 af jn
'

'
    Sheets("Orginal").Select
    Range("A1:F47").Select
    Range("F47").Activate
    Selection.Copy
    Sheets("TEST JN").Select
    Sheets.Add
    ActiveSheet.Paste
    Columns("E:E").EntireColumn.AutoFit
    Columns("F:F").EntireColumn.AutoFit
    Columns("F:F").ColumnWidth = 20.86
    Range("A1").Select
    Sheets("Hovedside").Select
End Sub

Denne funktion indsætter nyt ark, og kopiere fra orginal. Dette virker!
Den jeg ellers skal have det til er:
1) at rykke arket helt ud til højre
2) At navngive arket fra ark hovedside celle b15.(dette er det nye navn). Den skal ligeledes indsætte det i det nye ark celle A1
Herefter skal hovedside celle b15 slettes igen, til der bliver lavet et nyt navn igen.
3) Kan det lade sig gøre at den herefter leder efter første ledige plads i hovedsiden række 1 og insætter navnet her?? (navnet fra det sidste indsatte ark)

Håber der er nogen der kan hjælpe.. På forhånd tak!
Avatar billede excelent Ekspert
27. april 2006 - 12:03 #1
Sub Makro7()
   
Dim x As Worksheet
   
    Sheets("Orginal").Select
    Range("A1:F47").Select
    Range("F47").Activate
    Selection.Copy
    Set x = Worksheets.Add(after:=Sheets(Worksheets.Count))
    x.Name = Sheets("Hovedside").[b15]
    ActiveSheet.Paste
    [a1] = Sheets("Hovedside").[b15]
    Columns("E:E").EntireColumn.AutoFit
    Columns("F:F").EntireColumn.AutoFit
    Columns("F:F").ColumnWidth = 20.86
    Range("A1").Select
    Sheets("Hovedside").Select
    If [a1] = "" Then
    [a1] = [b15]
    Else
    'Range("a1").End(xlDown).Offset(1, 0).Activate
    Range("a1").Range("a65000").End(xlUp).Offset(1, 0).Select
    ActiveCell = [b15]
    [b15] = ""
    End If
End Sub
Avatar billede lingo Nybegynder
27. april 2006 - 12:30 #2
Perfekt... Næsten ;o)
Del 3 i spørgsmålet skal gå hen af, altså først tjekke kolonne A1, derefter b1 osv.
Kan også klare den, og lægge det som svar.

Tusind tak
Avatar billede excelent Ekspert
27. april 2006 - 12:37 #3
ups ja jeg forstod det var kolonne, du har ret det er i række a.
kikker lige på det.- øjeblik
Avatar billede excelent Ekspert
27. april 2006 - 12:44 #4
Range("a1").Range("a65000").End(xlUp).Offset(1, 0).Select
ændres til:
Range("a1").Range("iv1").End(xlToLeft).Offset(0, 1).Select
Avatar billede lingo Nybegynder
27. april 2006 - 12:52 #5
Mange tak, fungerer fuldstændig optimalt!
Avatar billede excelent Ekspert
27. april 2006 - 12:53 #6
velbekom :-)
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
Kategori
Kurser inden for grundlæggende programmering

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