Avatar billede MHHJ Nybegynder
06. marts 2013 - 19:55 Der er 17 kommentarer og
1 løsning

hjælp til at rette macro kode

hejsa

jeg har den kode her, men vil lige høre om det er nogen som kan hjælpe mig eller sige om det er muligt at få den til at sende data til forskelige ark, efter hvad tal er står i eks. B3.

Sub Overfør()
On Error Resume Next

Set sh1 = Sheets("startside")
If MsgBox("Vil du slette skemaet ", vbYesNo, sh1.Range("F3")) = vbYes Then
Set sh2 = Sheets(sh1.Range("C3") + 2)
rk1 = sh1.Cells(65536, "C").End(xlUp).Row
If rk1 > 9 Then
For Each c In Range("C10:C" & rk1)
rk2 = sh2.Cells(65536, "B").End(xlUp).Row + 1
sh2.Cells(rk2, "B") = c
sh2.Cells(rk2, "E") = c.Offset(0, 5)
sh2.Cells(rk2, "G") = c.Offset(0, 12)
sh2.Cells(rk2, "H") = c.Offset(0, 12)

Next
sh1.Range("B3") = ""
sh1.Range("C10:AF188").SpecialCells(xlCellTypeConstants, 23).ClearContents
End If
End If
End Sub

mvh
Michael
Avatar billede tdh1309 Juniormester
06. marts 2013 - 20:12 #1
Uden lige at have tid til selv at verificere det vil jeg mene at du styrer arket via linie "Set sh1 = sheets("Startside").

Hvis du eks. retter dette til "Set sh1 = Sheets(2)" vil du få sheet 2
Avatar billede store-morten Ekspert
06. marts 2013 - 20:17 #2
er muligt at få den til at sende data til forskelige ark, efter hvad tal er står i eks. B3. ?

Denne linie kikker allerede på: Sheets("startside") celle C3
Set sh2 = Sheets(sh1.Range("C3") + 2)
Så er din "startside" på Ark1 og der står 1 i celle C3, sendes data til Ark3
Avatar billede MHHJ Nybegynder
06. marts 2013 - 20:24 #3
du mener at hvis jeg retter den sådan

Set sh2 = Sheets(sh1020.Range("C3") + 3)vil den smide det i Ark 4

kan man ændre så den smider det i Ark med navn,
Avatar billede store-morten Ekspert
06. marts 2013 - 20:27 #4
Ja, hvis der står 1 i celle C3.
Avatar billede MHHJ Nybegynder
06. marts 2013 - 20:43 #5
har det prøvet det vil den ikke, den smider det ikke nogle steder,

jeg vil gerne have at når jeg skriver et 4 ciffret tal i C3 flytter den data eks. Ark 1
og skriver jeg et andet 4 cifferet tal flytter den til et andet Ark.

det er fordi så virker den som angangskode da jeg henter forskellige medarbejder data frem vi C3.
Avatar billede store-morten Ekspert
06. marts 2013 - 20:44 #6
Set sh2 = Worksheets(Sheets("startside").Range("C3").Value)

Men der må så ikke skrives et Ark.navn der ikke findes, så går det galt.
Avatar billede store-morten Ekspert
06. marts 2013 - 20:46 #7
Hvis du skriver 1234 i celle C3
Vil den skrive på Ark1236, som ikke findes?
Avatar billede MHHJ Nybegynder
06. marts 2013 - 20:50 #8
øh der falt jeg af:-)

skal den skiftes med den anden? men hvor skriver jeg så koden og hvad Ark ??
Avatar billede store-morten Ekspert
06. marts 2013 - 20:56 #9
Ja, den skal udskiftes:
Sub Overfør()
On Error Resume Next

Set sh1 = Sheets("startside")
If MsgBox("Vil du slette skemaet ", vbYesNo, sh1.Range("F3")) = vbYes Then

Set sh2 = Worksheets(Sheets("startside").Range("C3").Value)

rk1 = sh1.Cells(65536, "C").End(xlUp).Row
If rk1 > 9 Then
For Each c In Range("C10:C" & rk1)
rk2 = sh2.Cells(65536, "B").End(xlUp).Row + 1
sh2.Cells(rk2, "B") = c
sh2.Cells(rk2, "E") = c.Offset(0, 5)
sh2.Cells(rk2, "G") = c.Offset(0, 12)
sh2.Cells(rk2, "H") = c.Offset(0, 12)

Next
sh1.Range("B3") = ""
sh1.Range("C10:AF188").SpecialCells(xlCellTypeConstants, 23).ClearContents
End If
End If
End Sub


Så hvis der er et Ark med navnet "test"
Og der står "test" i celle C3 på "startside" flyttes til Arket: "test"
Avatar billede MHHJ Nybegynder
06. marts 2013 - 21:09 #10
ja det kan jeg også få den til :-)skulle lige ændre til B3 da det var blevet en flettet celle. men skriver jeg 2030 skulle den så ikke lægge den i arket 2030 ?? det gør den ikke
Avatar billede MHHJ Nybegynder
06. marts 2013 - 21:23 #11
har fundet ud af at den ikke er så glad for tal koder :-) men flytter jeg den til det lopslag som er i F3 "medarbejder navn" så duer det. mange tak for hjælpen

jeg har lige et lille problem mere med den kode, den nederste linie hvor den sletter, den vil ikke slette når jeg beskytter arket (selvfølgelig dem som skal slettes er låst op)

er det noget du har nogen ide til eller skal jeg lige oprette et nyt spørgsmål ?

ellers smider du et svar, så du kan få dine poin
Avatar billede store-morten Ekspert
06. marts 2013 - 21:24 #12
Ret:
Set sh2 = Worksheets(Sheets("startside").Range("C3").Value)

Til:
Set sh2 = Worksheets(Sheets("startside").Range("C3").Text)
Avatar billede store-morten Ekspert
06. marts 2013 - 21:26 #13
Er det uden kode?
Avatar billede store-morten Ekspert
06. marts 2013 - 21:39 #14
Uden kode
Sub Overfør()
On Error Resume Next

Set sh1 = Sheets("startside")
If MsgBox("Vil du slette skemaet ", vbYesNo, sh1.Range("F3")) = vbYes Then
Set sh2 = Worksheets(Sheets("startside").Range("C3").Text)
rk1 = sh1.Cells(65536, "C").End(xlUp).Row
If rk1 > 9 Then
For Each c In Range("C10:C" & rk1)
rk2 = sh2.Cells(65536, "B").End(xlUp).Row + 1
sh2.Cells(rk2, "B") = c
sh2.Cells(rk2, "E") = c.Offset(0, 5)
sh2.Cells(rk2, "G") = c.Offset(0, 12)
sh2.Cells(rk2, "H") = c.Offset(0, 12)

Next
sh1.Range("B3") = ""
Sheets("startside").Unprotect 'Lås op
sh1.Range("C10:AF188").SpecialCells(xlCellTypeConstants, 23).ClearContents
Sheets("startside").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True 'Lås uden kode
End If
End If
End Sub
Avatar billede MHHJ Nybegynder
06. marts 2013 - 21:46 #15
nej begge dele kommer over koden B3 er start nr. til lopslag og F3 er lopslag som kommer via B3 så er bare hvad jeg kalder arket :-)  men virker og så har jeg begge muligheder, men virker rigtigt godt nu.

det er ikke så meget at det skal virke som kode, det er en tidsregister, så når de taster deres kode så kommer deres oplysninger og timearket bliver gemt på deres side, så lige så meget en sikkerhed for at de taster i deres egen side :-)
Avatar billede store-morten Ekspert
06. marts 2013 - 21:49 #16
Kode på Ark-beskyttelsen ;-)
Avatar billede MHHJ Nybegynder
06. marts 2013 - 21:53 #17
Jubiiii nu virker det. skulle have skrivet for 14 dage siden så havde jeg ikke så mange grå hår :-))

1000 tak for hjælpen

smider du et svar , det skal du vist inden jeg kan give poin ik.

er ny herinde :-)
Avatar billede store-morten Ekspert
06. marts 2013 - 21:56 #18
Se #14

Velbekomme.

Her er en lille film om:
Hvordan man accepterer svar på Eksperten.dk
http://www.youtube.com/watch?v=s26DGiuvXBo
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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