Print side | Luk vindue

Idsætning af linje med Formel fra ovenstående..

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=4503
Udskrevet den: 28.Apr.2024 kl. 14:40


Emne: Idsætning af linje med Formel fra ovenstående..
Besked fra: Tor4Every1
Emne: Idsætning af linje med Formel fra ovenstående..
Posteringsdato: 25.Mar.2021 kl. 12:58
Hej Alle,  

Jeg er igang med at lave en kode til at kunne indsætte en række med hjælp fra en box, hvor man trykker hvilket række nummer det skal indsætte en ny række i ...  dette skal helst gøres med formlen fra under eller oven af ..  så den husker alle formler hver gang..  

Sub Tilføj_linje_tilbud()
'Opretter en ny linje til sælger på arket Tømrer.
'MGB oprettet den 24.03.2021

Dim myInput As Variant
Dim rækkenummer As Integer

myInput = InputBox("Indtast rækkenummer for, hvor ny linje skal være f.eks. '79'." & vbNewLine & vbNewLine & "Min. 4 og maks. 365.", "Tilføj ny linje")

    'Tjekker om input er et tal.
    If Not IsNumeric(myInput) Then
        MsgBox "Fejl: Du skal indtaste et rækkenummer. Prøv evt. igen."
        Exit Sub
    Else
        rækkenummer = CInt(myInput)
    End If
    
    'Tjekker om input er et tal i det rigtige interval.
    If Not rækkenummer <= 365 And rækkenummer > 36 Then
        MsgBox "Fejl: Du skal indtaste et rækkenummer i intervallet 4-365. Prøv evt. igen."
        Exit Sub
    End If

    
    
    Rows(rækkenummer).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove


Det hele gør den her,,  dog kan jeg ikke få den til at autofill  fra linjen ...  kan nogen hjælpe med dette sikkert simple problem ? 


På forhånd tak.. 



Svar:
Besked fra: Tor4Every1
Posteringsdato: 26.Mar.2021 kl. 07:16
var lige nød til at ændre den lidt, så den virkede :) 

Sub Tilføj_linje_tilbud()
'Opretter en ny linje til sælger på arket Tilbud.
'MGB 26.03.2021




Dim myInput As Variant
Dim rækkenummer As Integer

myInput = InputBox("Indtast rækkenummer for, hvor ny linje skal være f.eks. '79'." & vbNewLine & vbNewLine & "Min. 4 og maks. 666.", "Tilføj ny linje")

    'Tjekker om input er et tal.
    If Not IsNumeric(myInput) Then
        MsgBox "Fejl: Du skal indtaste et rækkenummer. Prøv evt. igen."
        Exit Sub
    Else
        rækkenummer = CInt(myInput)
    End If
    
    'Tjekker om input er et tal i det rigtige interval.
    If Not rækkenummer = 666 And rækkenummer < 4 Then
        MsgBox "Fejl: Du skal indtaste et rækkenummer i intervallet 4-666. Prøv evt. igen."
        Exit Sub
    End If

    'Tjekker om input er et tal i det rigtige interval.
    If Not rækkenummer = 666 And rækkenummer > 666 Then
        MsgBox "Fejl: Du skal indtaste et rækkenummer i intervallet 4-666. Prøv evt. igen."
        Exit Sub
    End If

    'Tjekker om input er ud for 'Emne'
    If Cells(rækkenummer, 2) = "Emne" Or Sheets("Tilbud").Rows(rækkenummer).RowHeight = 15.75 Then
        MsgBox "Fejl: Du kan ikke indsætte en linje ud for 'Emne' eller overskrift. Prøv evt. igen."
        Exit Sub
    End If
    
    
    Rows(rækkenummer).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    

End Sub



Besked fra: Tor4Every1
Posteringsdato: 26.Mar.2021 kl. 08:21
her er løsningen .... 


Sub Tilføj_linje_tilbud111()
'Opretter en ny linje til sælger på arket Tilbud.
'MGB 26.03.2021


Dim myInput As Variant
Dim rækkenummer As Integer

myInput = InputBox("Indtast rækkenummer for, hvor ny linje skal være f.eks. '79'." & vbNewLine & vbNewLine & "Min. 4 og maks. 666.", "Tilføj ny linje")

    'Tjekker om input er et tal.
    If Not IsNumeric(myInput) Then
        MsgBox "Fejl: Du skal indtaste et rækkenummer. Prøv evt. igen."
        Exit Sub
    Else
        rækkenummer = CInt(myInput)
    End If
    
    'Tjekker om input er et tal i det rigtige interval.
    If Not rækkenummer = 666 And rækkenummer < 4 Then
        MsgBox "Fejl: Du skal indtaste et rækkenummer i intervallet 4-666. Prøv evt. igen."
        Exit Sub
    End If

    'Tjekker om input er et tal i det rigtige interval.
    If Not rækkenummer = 666 And rækkenummer > 666 Then
        MsgBox "Fejl: Du skal indtaste et rækkenummer i intervallet 4-666. Prøv evt. igen."
        Exit Sub
    End If
    
    
    Rows(rækkenummer).Select
    Selection.Copy
    Selection.Insert Shift:=xlDown

Range(Cells(rækkenummer, 1), Cells(rækkenummer, 3)).Select
Selection.Clear

Range(Cells(rækkenummer, 8), Cells(rækkenummer, 9)).Select
Selection.Clear

End Sub






Print side | Luk vindue