Avatar billede mortenjh Nybegynder
23. januar 2014 - 10:41 Der er 8 kommentarer og
1 løsning

Gemme indtastet data i spørgeskema i Ark1 i Ark 2

Kære eksperter

Min udfordring ligger i at jeg har oprettet et spørgeskema i Ark 1, hvor andre skal indtaste deres observationer, hvorefter dataen skal kopieres til Ark 2 og slettes i den oprindelige indtastning.

Jeg kan finde ud af at optage en simpel makro der kopier data og herefter slette indtastningen, men det virker som en meget klodset metode. Derudover har jeg problemer med at få makroen til at kopiere data fortløbende i Ark 2.

I princippet er problemet så simpelt som:

Indtast Navn i A1 (Ark1)
Kopier A1 (Ark1) til A1 (Ark2)
Slet A1 (Ark 1)

Nyt indtastet Navn i A1 (Ark1)
Kopier A1 (Ark1) til A2 (Ark2)
Slet A1 (Ark1)

Tak på forhånd

/MJH
Avatar billede supertekst Ekspert
23. januar 2014 - 11:59 #1
Hvor mange celler skal der indtastes i Ark1 - kun A1?
Avatar billede mortenjh Nybegynder
23. januar 2014 - 12:06 #2
Nej der vil være tale om en lang række celler der skal udfyldes og derefter kopieres.
Avatar billede mortenjh Nybegynder
23. januar 2014 - 12:07 #3
Primært tal men enkelte med tekst.
Avatar billede supertekst Ekspert
23. januar 2014 - 12:09 #4
Vil det så være det samme antal rækker, der skal kopieres?
Avatar billede mortenjh Nybegynder
23. januar 2014 - 12:16 #5
Det er altid de samme celler der skal kopieres.

Men de står i forskellige rækker og kolonner.

Forestil dig et spørgeskema med spørgsmål i en kolonne med svar på to dimensioner, altså:

Spm1  Svar1  Svar2
A1    b1      c1

Spm2  Svar1  Svar2
A2    b2      c2
Avatar billede mortenjh Nybegynder
23. januar 2014 - 12:21 #6
Hvor den kopierede data skal ligge sig som følger, på baggrund af indtastningerne:

Spm# Svar1 Svar 2
A1  B1    C1
A2  B2    C2
A3  B3    C3
A4  B4    C4
Avatar billede supertekst Ekspert
23. januar 2014 - 15:00 #7
Til inspiration:

Public Sub overførData()
Dim område, ark2Ræk As Integer
    Set område = Range("A1:C4")
    område.Select
    Selection.Cut
   
    ActiveWorkbook.Sheets(2).Activate
    ark2Ræk = findLedigRække
    ActiveSheet.Range("A" & ark2Ræk).Select
    ActiveSheet.Paste

    ActiveWorkbook.Sheets(1).Activate
End Sub
Private Function findLedigRække()
Dim ræk As Integer
    With ActiveSheet
        ræk = .Range("A65536").End(xlUp).Row
        If ræk > 1 Then
            findLedigRække = ræk + 1
        Else
            findLedigRække = ræk
        End If
    End With
End Function
Avatar billede mortenjh Nybegynder
23. januar 2014 - 15:24 #8
Ser fornuftigt ud, jeg arbejder på at tilpasse det min kontekst.

Smider du et svar?
Avatar billede supertekst Ekspert
23. januar 2014 - 15:38 #9
Ok - du får et svar
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