Just nu i M3-nätverket
Gå till innehåll

Enkelt register i Excel?


backwardsman

Rekommendera Poster

Hej.

 

Hoppas på att någon kan hjälpa en gammal, avdammad Excel-amatör.

 

Själva principen är enkel;

 

1 Excel-dokument, 2 blad. Man ska fylla i information i utvalda celler i

blad1 -> trycka på en knapp -> informationen i dessa celler skall då

sparas i respektive celler i blad2, och ursprungs-cellerna i blad1 blir

då blanka, för nästa ifyllningstillfälle.

 

Nästa gång man ska skriva i ny information så skall denna sparas på

ny rad i blad2, osv. med samma princip för varje gång. Sedan bör det

väl räcka att skrivskydda hela dokumentet och så är det färdigt?  :huh:

 

Om ni kikar på bilden Exempel1. Jag har ingen aning om hur man sätter

dit en knapp, än mindre hur man programmerar den att flytta över

informationen till blad2 (se Exempel2). Jag antar att det jag är ute efter

är en mall för något slags register?

 

Om någon har en snabb och smidig lösning på detta, skrik gärna till!

 

I annat fall kan väl nån peka mig i rätt riktning (färdiga mallar)? Bor du

i Stockholm och kommer med en lösning så bjuder jag gärna på en öl!

 

Tack på förhand!

 

 

post-137092-0-65709900-1443096714_thumb.jpg

post-137092-0-37784600-1443096715_thumb.jpg

Länk till kommentar
Dela på andra webbplatser

Nu slog det mig att det såklart är en databas jag är ute efter. Men i Excel-format.. Eller hur?

 

Har googlat på färdiga mallar för excel-databaser men hur påverkas hela mallen om jag börjar flytta om celler för att få dom att ligga som Jag vill?

Länk till kommentar
Dela på andra webbplatser

Okej, jag angriper det lite snabbt

 

Steg 1.

På ditt blad där data fylls i, skapa ett område som ställer upp dina data på samma vis som de ska sparas i, samma ordning på en rad.

 

Steg 2.

En knapp. Antingen kan du använda godtycklig bild/figur som knapp eller så tar du fram ribbonen/menyn Utvcklare (i Inställningar för Excel tar du fram den) och skapar en formulär-knapp

 

Steg 3

Kod.

Sub Knapp1_Klicka()
    Dim rnTarget As Range
    Set rnTarget = Blad2.Cells(Blad2.Range("a1").CurrentRegion.Rows.Count + 1, 1)
    rnTarget.Resize(1, 3).Value = Blad1.Range("I2:K2").Value

End Sub

Koden ovan kopierar rakt av.

man vill kanske lägga till

1: En koll om data ska sparas, om de är kompletta

2: Rensning av data efter att de sparats

 

Du behöver anpassa den efter dina förutsättningar.

Bladnamnen

Adresseringen av var dina data finns (Blad1.Range("I2:K2"))

Samt anpassa så att området du kopierar till är lika stor som det du kopierar från (Resize(1, 3))

 

hänger du med?

 

Excel mår bra av att hanteras som en databas..

Länk till kommentar
Dela på andra webbplatser

Okej, jag angriper det lite snabbt

 

Steg 1.

På ditt blad där data fylls i, skapa ett område som ställer upp dina data på samma vis som de ska sparas i, samma ordning på en rad.

 

Steg 2.

En knapp. Antingen kan du använda godtycklig bild/figur som knapp eller så tar du fram ribbonen/menyn Utvcklare (i Inställningar för Excel tar du fram den) och skapar en formulär-knapp

 

Steg 3

Kod.

Sub Knapp1_Klicka()
    Dim rnTarget As Range
    Set rnTarget = Blad2.Cells(Blad2.Range("a1").CurrentRegion.Rows.Count + 1, 1)
    rnTarget.Resize(1, 3).Value = Blad1.Range("I2:K2").Value

End Sub

Koden ovan kopierar rakt av.

man vill kanske lägga till

1: En koll om data ska sparas, om de är kompletta

2: Rensning av data efter att de sparats

 

Du behöver anpassa den efter dina förutsättningar.

Bladnamnen

Adresseringen av var dina data finns (Blad1.Range("I2:K2"))

Samt anpassa så att området du kopierar till är lika stor som det du kopierar från (Resize(1, 3))

 

hänger du med?

 

Excel mår bra av att hanteras som en databas..

 

Wow. Det gick fort.. TACK!

 

Jag tror att jag hänger med i det du säger, jag anpassar bara koden som du klistrade in,

anger de rader/kolumner som gäller för respektive blad och kopplar detta till en knapp?

 

Men jag undrar över Resize-delen. Förstår jag det rätt om du menar att de celler som

data skrivs in i skall vara lika stora som cellerna de skall sparas i?

 

Hur och var skriver jag in koden som sparar blad2 och rensar blad1?

 

Du är väldigt nära en öl nu.. ;) 

Länk till kommentar
Dela på andra webbplatser

Resize(1,3)

en rad, tre kolumner. Dvs anpassa trean så att området som skrivs till är lika många kolumner som det som det hämtas data från.

 

Rensa. Sist i koden.

Exempelvis, taget ur din bild ovan

Blad1.Range("B9:B24") = ""

 

Var någonstans? I en modul exempelvis. Koppa din knapp till denna rutin.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...