MsFoster Skrevet 18. september 2006 Del Skrevet 18. september 2006 Hei, jeg lurer på om noen kunne hjelpet meg med en makro-funksjon. makroen LeggTilKunde skal legge til en rad under siste rad. Når jeg trykker på makroen, skal raden legges under den forrige jeg la til. Mvh Kenneth Lenke til kommentar
Harald Staff Skrevet 18. september 2006 Del Skrevet 18. september 2006 Du er bra gjerrig på informasjon. Men hvis vi snakker Excel og du kan implementere selv, så er utgangspunktet: Sub LeggTilKunde() Dim R As Long R = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1 Sheets(1).Cells(R, 1).Value = "Kundenr" Sheets(1).Cells(R, 2).Value = "Navn" Sheets(1).Cells(R, 3).Value = "Mobil" End Sub HTH. Beste hilsen Harald Lenke til kommentar
MsFoster Skrevet 18. september 2006 Forfatter Del Skrevet 18. september 2006 Takk, fungerte, men hadde vært fint om jeg kunne bestemme at den la til dette mellom A7 og A8 Dersom du er snill og grei, beskriver du underveis hva som skjer, og gjerne legger til mulighet for å bestemme border og bgfarge på cellene i raden. Takk:) Lenke til kommentar
Harald Staff Skrevet 18. september 2006 Del Skrevet 18. september 2006 (endret) Sub LeggTilKunde() Dim R As Long R = 7 Sheets(1).Rows( R ).Insert shift:=xlDown Sheets(1).Cells(R, 1).Value = "Kundenr" Sheets(1).Cells(R, 2).Value = "Navn" Sheets(1).Cells(R, 3).Value = "Mobil" End Sub Når det gjelder farger, kanter etc.; spill inn en makro mens du utfører det manuelt så har du et godt utgangspunkt. Det er såpass mange parametre med bordere at en generell demo ikke er tilstrekkelig. HTH. Beste hilsen Harald Endret 18. september 2006 av Harald Staff Lenke til kommentar
MsFoster Skrevet 18. september 2006 Forfatter Del Skrevet 18. september 2006 (endret) Tusen takk:) Liker ikke å spørre om så mye på rad, men har ingen interesse i å sette meg inn i makro. Dersom du kunne ha laget en makro som sletter en kolonne hadde du vært en knupp. F.eks når man legger til en kolonne med makroen du laget i forrige post, så skriver den en "slettKunde" makro i celle R,4. Denne makroen sletter raden den er skrevet ut i. Endret 18. september 2006 av MsFoster Lenke til kommentar
Harald Staff Skrevet 18. september 2006 Del Skrevet 18. september 2006 Dette må du forklare en gang til litt nøyere. Lenke til kommentar
MsFoster Skrevet 18. september 2006 Forfatter Del Skrevet 18. september 2006 skal prøve: Makroen du lagde i sta skal skrive ut en celle til. Nemlig R,4. I R,4 cellen, skal det bli skrevet ut en knapp som er lenket til makroen "slettKunde". Id-navn-tlf-<knapp>slett</knapp> knappen sletter hele raden. Lenke til kommentar
Harald Staff Skrevet 18. september 2006 Del Skrevet 18. september 2006 (endret) Skjønner. Da blir det sånn: Sub LeggTilKunde() Dim X As Object Dim R As Long Dim TheCell As Range R = 7 Sheets(1).Rows( R ).Insert shift:=xlDown Sheets(1).Cells(R, 1).Value = "Kundenr" Sheets(1).Cells(R, 2).Value = "Navn" Sheets(1).Cells(R, 3).Value = "Mobil" Set TheCell = Cells(R, 4) Set X = ActiveSheet.Shapes.AddShape(msoShapeRectangle, _ TheCell.Left, TheCell.Top, TheCell.Width, TheCell.Height) X.Select Selection.Characters.Text = "Slett kunde" X.OnAction = ThisWorkbook.Name & "!slettKunde" Set X = Nothing Cells(R, 1).Select End Sub Sub slettKunde() Dim X As Object Dim R As Long Set X = Sheets(1).Shapes(Application.Caller) 'MsgBox X.Top For R = 1 To Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row If Abs(Sheets(1).Cells(R, 1).Top - X.Top) < 2 Then If MsgBox("Du er sikker på at vi skal slette rad " & _ R & "?", vbYesNo) = vbNo Then Exit Sub X.Delete Rows( R ).Delete Exit Sub End If Next End Sub HTH. beste hilsen Harald Endret 18. september 2006 av Harald Staff Lenke til kommentar
MsFoster Skrevet 18. september 2006 Forfatter Del Skrevet 18. september 2006 Hei, tusen takk, du er en knupp. tilleggs spørsmål: Dim, fungerer det som foreach() og set x = "..." som en variabel (var x = "..") ? Lenke til kommentar
Harald Staff Skrevet 18. september 2006 Del Skrevet 18. september 2006 Jeg har justert koden. Rows( R ) blir konvertert til Rows® av en eller annen grunn. Så du er litt interressert allikevel da ? Ikke dumt å kunne kode litt. http://www.beyondtechnology.com/vba008.shtml http://www.cpearson.com/excel/variables.htm HTH. Beste hilsen Harald Lenke til kommentar
MsFoster Skrevet 18. september 2006 Forfatter Del Skrevet 18. september 2006 hehe, fant ut av at det kunne være greit å kunne litt om det hvertfall. Driver med webprogrammering, men fikk i oppgave på skolen å lage makro sider. Noe jeg aldri har vært borti før. Dersom jeg kan PHP,HTML,CSS,MySQL og litt JS, bør jeg klare meg å sette meg greit inn i detta, eller er det noe ekstraordinært? Lenke til kommentar
Harald Staff Skrevet 18. september 2006 Del Skrevet 18. september 2006 Ja, nokså mye ekstraordinært med VBA. Men inngangsterskelen er ikke så høy, og språket likner leselig engelsk, så det er overkommelig å bli Bedre Enn De Fleste ganske kjapt. Ordentlig utlært blir man derimot aldri, et menneske lever ikke lenge nok til det hvis det har et slags liv. Lenke til kommentar
MsFoster Skrevet 19. september 2006 Forfatter Del Skrevet 19. september 2006 hei igjen! Et lite problem med makroen, den legger til kun på raden R er definert. Jeg satte R = 9, noe som fører til at den kun legger til en rad på rad 8 hver gang, og heller er det ikke mulig å slette annet enn den første raden man legger til. Eneste endring jeg gjorde var å legge til noen celler, slik at det gikk fra R,1 til R,5. da satte jeg TheCell = cells(R,6). Mulig dette har noen innvirkning, men etter hva jeg kunne lese utifra makroen, så ser det ikke ut til at det blir referert til noen R i senere tid. Lenke til kommentar
Harald Staff Skrevet 19. september 2006 Del Skrevet 19. september 2006 Det er et problem at jeg ikke fatter hva du vil og hvorfor. Først ville du legge til en ny oppføring under siste rad, så skal nye oppføringer inn mellom rad 7 og 8. Nå er det visst noe annet ? Forklare nå. Lenke til kommentar
MsFoster Skrevet 19. september 2006 Forfatter Del Skrevet 19. september 2006 hmm, glem det jeg sa ang mellom rad 7 og 8. de skal bli skrevet ut etter rad 7, men det er forsåvidt i ordenl. Det eneste problemet nå, er at den nyeste blir skrevet i angitt R verdi. eks: en to legger jeg til en til etter det: en tre to en fire tre to Der har du feilen klart for deg:) Takk som fremdeles prøver. Lenke til kommentar
Harald Staff Skrevet 19. september 2006 Del Skrevet 19. september 2006 (endret) Ja jeg skjønner hva feilen er. Det jeg ikke skjønner er hva du mener er riktig. Hvor skal en ny oppføring skrives ? Endret 19. september 2006 av Harald Staff Lenke til kommentar
MsFoster Skrevet 19. september 2006 Forfatter Del Skrevet 19. september 2006 hei, en ny oppføring skal skrives etter den forrige. første i R = 9, deretter R+1. en to en to tre en to tre fire Skjønner? Lenke til kommentar
Harald Staff Skrevet 19. september 2006 Del Skrevet 19. september 2006 Skjønner. Og som ved et mirakel er det akkurat hva jeg sendte deg i første besvarelse: R = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1 Lenke til kommentar
MsFoster Skrevet 19. september 2006 Forfatter Del Skrevet 19. september 2006 ja, men hvordan definere at det er +1 og fra R = 8? Lenke til kommentar
Harald Staff Skrevet 20. september 2006 Del Skrevet 20. september 2006 Har du prøvd koden ? Hva skjer ? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå