Avatar billede Peter Praktikant
22. januar 2002 - 17:02 Der er 7 kommentarer og
1 løsning

indtast et sted og udfyld felter på andet sheet.

Jeg har et excel regneark med forskellige worksheets.
Det forreste er et regnskab med felter for hver person der indgår i regnskabet. Når en person indbetaler penge på sin konto bliver det skrevet i et felt ud for personen.
Ligeledes bliver det skrevet på et andet sheet sammen med dato, navn og en variabel information. Altså 4 forskellige felter udfyldes på dette sheet.
Jeg vil så gerne gøre det sådan, at når man skriver et beløb i det første worksheet tager den navn og dato og beløb fra worksheetet og smider ind i det andet worksheet så man kun skal komme med den 4. information.
Men problemet er vel, at man starter med at skrive i række 1, og dernæst i række 2 osv. Så man skal vel på en eller anden måde fortælle excel, at den skal skrive i den første række ledig.
Hvordan gøres dette.
Jeg håber i kan forstå mit spørgsmål, det er lidt svært at formulere.
Jeg forestiller mig en makro noget i denne retning.
indtast beløb i sheet1!d4
sheet2!a? = sheet1!a4
sheet2!b? = dato
sheet2!d? = sheet1!d4
22. januar 2002 - 17:07 #1
Det skal vist ses. Prøv evt. på fd@win-consult.com
Avatar billede Peter Praktikant
22. januar 2002 - 17:15 #2
mail sendt
Avatar billede xelor Nybegynder
22. januar 2002 - 17:16 #3
Problemet i denne sammenhæng er jo, at ligså snart du indtaster nye informationer på dit Sheet1, så vil værdier i sheet2 ændre sig.
Men følgende Makro burde kunne gøre det :

Sub IndsætVærdier()
 
  Sheets(Sheet2.name).select
  cells(1,1).end(xldown).offset(1,0)=sheets(Sheet1.name).cells(1,4).value
  cells(1,2).end(xldown).offset(1,0)=Date
  cells(1,3).end(xldown).offset(1,0)=sheets(Sheet1.name).cells(1,4).value
  Sheets(Sheet1.name).select

End sub
Avatar billede xelor Nybegynder
22. januar 2002 - 17:22 #4
Denne makro forudsætter, at du starter dine data i række 1 på ark 2

Såfremt du IKKE gør det, så skal cells(1,y).end erstattes med cells(x,y) hvor x er den række hvor dine data begynder og y er kolonne 1-2 eller 3

/Xelor
22. januar 2002 - 17:43 #5
Du højreklikker på fanebladet "Regnskab" og vælger "Vis programkode". Her kopier du følgende kode ind:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rPayed As Range
    Set rPayed = Range("L3:L18")
   
    If Not Intersect(Target, rPayed) Is Nothing Then
        If Not Target.Value = "" Then
            Dim wksPay As Worksheet
            Dim lNumRow As Long
            Set wksPay = ActiveWorkbook.Worksheets("Indbetalt")
            lNumRow = wksPay.Range("A2").CurrentRegion.Rows.Count + 1
            wksPay.Range("A" & CStr(lNumRow)).Value = Range("A" & CStr(Target.Row)).Value
            wksPay.Range("C" & CStr(lNumRow)).Value = Now
            wksPay.Range("D" & CStr(lNumRow)).Value = Target.Value
            wksPay.Range("B" & CStr(lNumRow)).Value = InputBox("Indtast navn på indbetaler", "Systeminformation")
            Set wksPay = Nothing
        End If
    End If
   
    Set rPayed = Nothing
End Sub
Avatar billede Peter Praktikant
22. januar 2002 - 19:02 #6
jeg har brugt flemmingdahls metode, jeg kan ikke helt overskue om din ville virke xelor, men jeg syntes den anden metode er smartere.
Avatar billede Peter Praktikant
22. januar 2002 - 19:03 #7
tak for hjælpen begge to.
22. januar 2002 - 19:32 #8
:-) god fornøjelse
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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