Avatar billede ingenting Nybegynder
09. februar 2003 - 00:05 Der er 7 kommentarer og
1 løsning

Skriv til ark ved tryk på Gem ved hjælp af Makro

Jeg har lavet en brugerform, hvor der der ved tryk skal skrives til forskellige ark i samme projektmappe alt efter hvilken betalingstype der er brugt!!

Der er 3 forskellige betalingsmåder (kontant, check og dankort). Hvis checkboxen "Nej - skyldig" vælges skal der skrives til et andet ark!! Det vil sige, at jeg har 4  ark.

Jeg kan få den til at skrive i et ark, men ved ikke hvordan man inkludere flere, så det håber jeg at I kan hjælpe med. Det skal lige siges, at de 3 betalingstyper vælges i en combobox.

Her er min kode:

Worksheets("Ark2").Activate
Range("A2").Select
If Range("A2").Value = "" Then
  Range("A2").Activate
Else
  Range("A2").CurrentRegion.Select
  ActiveCell.Offset(Selection.Rows.Count, 0).Activate
End If
With ActiveCell
  .Value = cpr.Text
  .Offset(0, 1).Value = Navn.Text
  .Offset(0, 2).Value = Dato.Text
  .Offset(0, 3).Value = beløb.Text
If Ja.Value = True Then
    .Offset(0, 4).Value = Betaling.Text
End If
End With
Avatar billede sjap Praktikant
09. februar 2003 - 12:38 #1
Nu er det ikke sikkert jeg har forstået spørgsmålet korrekt, men hvad med at ændre den første del af koden til

If Worksheets("Ark2").Range("A2").Value = "" Then
  Worksheets("Ark2").Select
  Range("A2").Activate
Else
  Range("A2").CurrentRegion.Select
  ActiveCell.Offset(Selection.Rows.Count, 0).Activate
End If

På denne måde undgår du at aktivere Ark2 før du har undersøgt, om der står noget i Ark2!A2. Hvis det er ikke er det du vil, er sætningen Range("A2").CurrentRegion.Select overflødig.
Avatar billede ingenting Nybegynder
09. februar 2003 - 14:05 #2
Tak for dit forslag, det har jeg taget til mig!! Jeg har droppet det med flere ark, da det ikke er nødvendigt!!

Jeg har dog et problem, som er: I min brugerform indsættes dato automatisk, vha.

Private Sub UserForm_Activate()
Dato.Text = Format(Now, "dd-mm-yyyy")
End Sub

Når jeg så smider det over i ark2, vha. af den allerede indtastet kode i mit oprindelig spørgsmål, så bliver dato fra formularen (09-02-2003) lavet om til (02-09-2003)?? Jeg har lavet et brugerdefineret format i ark to til dato, som hedder dd-mm-åååå, altså nøjagtig det samme som i dato formatet fra formularen?
Avatar billede sjap Praktikant
09. februar 2003 - 14:26 #3
Det lyder som et amerikansk til dansk datoformat problem (Amerikanerne har den dumme vane at de skriver måned-dag-år). Der går altså et eller andet galt, når datoen flyttes fra din brugerform til et regneark. Prøv at checke om der i regnearket i feltet, hvor datoen skal stå, står et korrekt datoformat (hvis du formaterer cellen som tal, står der f.eks. 37661 i stedet for 09-02-03).
Avatar billede ingenting Nybegynder
09. februar 2003 - 14:30 #4
Hvis jeg formatere dato kolonnen i arket til tal, så står der ganske rigtigt fx 37866??
Avatar billede sjap Praktikant
09. februar 2003 - 14:36 #5
Det betyder så at datoen i programmet faktisk opfattes som 3. september 2003 i stedet for 9. februar 2003.

Kan du ikke nøjes med at angive

Dato.Text = Now()

eller

Dato.Text = today()    'hvis kun datoen og ikke tidspunktet skal bruges
Avatar billede ingenting Nybegynder
09. februar 2003 - 14:45 #6
Jeg fik den løst ved, at slette Text fra Dato alle de steder jeg benytter dato!! Altså det hedder bare Dato = Format(Now, "dd-mm-yyyy") i stedet!!
Avatar billede sjap Praktikant
09. februar 2003 - 14:47 #7
Når bare det virker :-)
Avatar billede ingenting Nybegynder
09. februar 2003 - 14:50 #8
Superjap får point for at hjælpe!! Håber du gider hjælpe videre i mit andet spørgsmål, som du allerede er i gang med!! Tak
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