Avatar billede nhk Novice
08. oktober 2015 - 10:04 Der er 6 kommentarer og
1 løsning

Kopier celleværdi der indeholder en formel til andet ark

Bruger Excel 2013

Skal flytte værdierne i 3 faste celler på ark1, til første tomme pladser i kolonne A i henholdsvis ark2, ark3 og ark4.
Problemet er, at de 3 celler indeholder formler og det er kun den numeriske værdi der skal overføres.

Hvordan gøres dette?
08. oktober 2015 - 10:36 #1
Er det en beskrivelse af en manuel proces, du forventer - eller en VBA-løsning?

...eller?
Avatar billede nhk Novice
08. oktober 2015 - 10:47 #2
Det er en VBA-løsning - Hele processen skal foregå med tryk på en Button
Avatar billede jens48 Ekspert
08. oktober 2015 - 15:49 #3
Prøv med denne makro:

Sub Flyt()
Dim a, b, c As Integer
Dim V As Variant
a = Application.CountA(Worksheets("Sheet2").Range("A:A"))
b = Application.CountA(Worksheets("Sheet3").Range("A:A"))
c = Application.CountA(Worksheets("Sheet4").Range("A:A"))
V = Range("A1").Value
Worksheets("Sheet2").Cells(a + 1, 1) = V
V = Range("A2").Value
Worksheets("Sheet3").Cells(b + 1, 1) = V
V = Range("A3").Value
Worksheets("Sheet4").Cells(c + 1, 1) = V
End Sub
Avatar billede nhk Novice
08. oktober 2015 - 16:21 #4
En lille ændring - der skulle bare kopieres og indsættes, ikke flyttes.
Avatar billede jens48 Ekspert
09. oktober 2015 - 09:39 #5
Det gør den heller ikke. Men jeg kan se at jeg har givet makroen et forkert navn.
Avatar billede nhk Novice
09. oktober 2015 - 11:20 #6
Jeg kunne ikke få din løsning til at virke, men lavet nedenstående som virker, og kun overfører den numeriske værdi fra de kopierede celler

Sub IndsaetVaerdi()
'
' IndsaetVaerdi Makro
'

'
    Range("F9").Select
    Selection.Copy
    Sheets("2_15").Select
    ActiveSheet.Range("a2").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("2015").Select
    ActiveSheet.Range("a2").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("total").Select
    ActiveSheet.Range("a2").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Effektivitet").Select
    Range("F19").Select
  Application.CutCopyMode = False
    Selection.Copy
    Sheets("2_15").Select
    ActiveSheet.Range("a2").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("2015").Select
    ActiveSheet.Range("a2").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("total").Select
    ActiveSheet.Range("a2").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Effektivitet").Select
    Range("F29").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("2_15").Select
    ActiveSheet.Range("a2").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("2015").Select
    ActiveSheet.Range("a2").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("total").Select
    ActiveSheet.Range("a2").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Effektivitet").Select
    Range("C4").Select
End Sub
Avatar billede jens48 Ekspert
09. oktober 2015 - 12:04 #7
Havde ikke lige set at alle 3 værdier skulle til alle 3 ark. Så skulle den have set sådan ud:

Sub IndsaetVaerdi()
Dim a, b, c As Integer
Dim V As Variant
a = Application.CountA(Worksheets("2_15").Range("A:A"))
b = Application.CountA(Worksheets("2015").Range("A:A"))
c = Application.CountA(Worksheets("Total").Range("A:A"))
V = Range("F9").Value
Worksheets("2_15").Cells(a + 1, 1) = V
Worksheets("2015").Cells(b + 1, 1) = V
Worksheets("Total").Cells(c + 1, 1) = V
V = Range("F19").Value
Worksheets("2_15").Cells(a + 2, 1) = V
Worksheets("2015").Cells(b + 2, 1) = V
Worksheets("Total").Cells(c + 2, 1) = V
V = Range("F29").Value
Worksheets("2_15").Cells(a + 3, 1) = V
Worksheets("2015").Cells(b + 3, 1) = V
Worksheets("Total").Cells(c + 3, 1) = V
Sheets("Effektivitet").Select
Range("C4").Select
End Sub
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