13. maj 2003 - 16:24Der er
20 kommentarer og 1 løsning
Makroer, indspilling
Hej!
Jeg er igang med at lave et regneark, med en indebygget makro der skal kopiere en række, og sætte den ind igen på regnearket. Dette går udmærket, men jeg ville gerne at man kunne markere en række, som den kopierede række kom foran, så man selv kunne styre placeringen af det kopierede. Så kunne man markere en række, trykke på knappen, og så var det oprettet en ny række foran den markerede. Håber det kan lade sig gøre.
Hvis du først skal markere den række du vil kopiere, så starte makroen, så markere den rækkedu vil indsætte over, og så fortsætte makroen må det være nemmere at foretage kopieringen manuelt.
Sub Test() Range("A7:k7").Copy ActiveCell.Offset(-1, 0).Select Selection.Insert Shift:=xlDown ActiveSheet.Paste Application.CutCopyMode = False End Sub
Nej det er ikke alltid række 7, det skal være sådan at brugeren af regnearket kan markere en række uafhængig af hvilket nummer, og så bliver der indsat en ny række foran eller bag denne.......
A7:k7 skal alstå erstattes med en formel der betyder at dette er den der er markeret i regnearket.
janvogt-> Det var derfor jeg spurgte om det altid var række 7, der skal kopieres. Hvis det er en valgfri række, der skal kopieres til et valgfrit sted vil jeg fastholde mit oprindelige svar. Så ER det nemmere at gøre det manuelt.
Jooo det er lidt vanskelig at forklare....... Men det hele drejer sig om nogle data der skal kopieres, f.eks hele række A7. (det kan selvfølgelig osse være flere rækker.
Det det egentlig drejer sig om er at man på en måde i visual basic kan bestemme placeringen ved at markerer en område på regnearket som det kopierede skal blive sat ind.
Nu forstår jeg ikke helt længere. Føst siger du, at det kan væøre en eller flere rækker, der skal kopieres. Men bagefter siger du, at det altid er den samme række.
Lad mig så prøveat spørge:
1. Er det altid den/de samme rækker (rækkenumre), der skal kopieres, eller kan det være forskellige rækkenumre?
2. Er det altid det samme sted, disse data skal indsættes, eller er det her du ønsker at kunne variere.
Hvis der skal kunne varieres to steder, altså både i det der skal kopieres, og det sted, hvor der skal sættes ind, er der efter min mening ikke vundet noget ved at lade en makro gøre arbejdet.
VBA-kommandoen ActiveCell tager udgangspunkt i det stedt man nu engang befinder sig på arket.
ActiveCell.Offset(-1, 0).Select går én række op i forhold til dette sted.
Synes godt om
Ny brugerNybegynder
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.