Avatar billede frezzer81 Nybegynder
18. april 2005 - 10:20 Der er 8 kommentarer og
1 løsning

macro spørgsmål

Hej eksperter

Ved ikke om dette er muligt, men kan man lave en macro som når man trykker på den tager den f.eks A1 til A6 på ark1 og kopiere over til A1-A6 på ark2, hvorefter den så skal slette A1-A6 på ark1 og næste gang man trykker skal den så kopiere de samme felter altså A1-A6 men denne gang til B1-B6 på ark2?

jeg kan fint få den til at gøre noget af det, men den vil altid smide det ind på A1-A6 på ark2 istedet for at rykke et felt ned efter hvert tryk.

Er dette muligt, og hvordan ? :)
Avatar billede kabbak Professor
18. april 2005 - 11:59 #1
Sub Makro1()

Application.ScreenUpdating = False
  Range("A1:A6").Copy
  col = Sheets("Ark2").Range("IV1").End(xlToLeft).Column + 1
  Sheets("Ark2").Select
  col = Range("IV1").End(xlToLeft).Column + 1
  Cells(1, col).Select
  ActiveSheet.Paste
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Sheets("Ark1").Select
  Range("A1:A6").ClearContents
    Application.CutCopyMode = False
  Application.ScreenUpdating = True

End Sub
Avatar billede bak Forsker
18. april 2005 - 13:01 #2
eller
Sub Macro1()
Sheets("Ark1").Range("a1:A6").Cut Sheets("Ark2").Range("IV1").End(xlToLeft).Offset(0, 1)
End Sub
Avatar billede frezzer81 Nybegynder
18. april 2005 - 13:07 #3
super, takker kabbak :)

smid lige et svar
Avatar billede frezzer81 Nybegynder
18. april 2005 - 13:24 #4
lige én ting, jeg ændrede så den tager D30:J30, så den altså smider de 7 tal over i ark2 på 1 række, næste gang jeg trykker vil den smide det ind ved siden af, men vil gerne have den til at gøre det nede på næste række istedet, hvor er det liiige man fixer det ? :) og kan man få den til at smide D30:J30 ind på valgfri steder i ark2, f.eks på A1, D1, F1 etc.

Hvis du ikke har tid er det selvfølgelig ok.
Avatar billede bak Forsker
18. april 2005 - 17:17 #5
Med valgfrit indsættelsepunkt:

Sub Macro1()
Dim rngInsert As Range
Set rngInsert = Application.InputBox("Hvor skal det indsættes", "Indsættelsespunkt", , , , , , 8)
Sheets("Ark1").Range("D30:J30").Cut Destination:=rngInsert
End Sub
Avatar billede bak Forsker
18. april 2005 - 18:11 #6
Ved siden af og på næste række

Sub Macro3()
  Dim wsh As Worksheet
  Dim lLastRow As Long
  Dim lLastCol As Long
  Set wsh = Sheets("Ark2")
  With wsh
      On Error Resume Next
      lLastRow = .Cells.Find("*", .Range("A1"), xlFormulas, , xlByRows, xlPrevious).Row
      lLastCol = .Cells.Find("*", .Range("A1"), xlFormulas, , xlByColumns, xlPrevious).Column
      On Error GoTo 0
      Sheets("Ark1").Range("D30:J30").Cut Destination:=.Cells(lLastRow + 1, lLastCol + 1)
  End With
End Sub
Avatar billede bak Forsker
18. april 2005 - 19:25 #7
ps. mine indlæg skal kun betragtes som kommentarer, idet kabbak fuldt ud har løst dit oprindelige spm. :-)
Avatar billede kabbak Professor
18. april 2005 - 22:14 #8
et svar
Og tak for hjælpen bak, om dagen er jeg ikke altid ved min pc, så derfor kan der godt gå nogen tid inden jeg er ser på spørgsmålene igen.
Avatar billede frezzer81 Nybegynder
20. april 2005 - 11:13 #9
mange tak til jer begge :) og fortsat god dag
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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