|
| Automatisering, ?macro? Fra : alfabeta | Vist : 552 gange 140 point Dato : 01-11-08 11:49 |
|
Er følgende muligt?
Jeg vil gerne kunne taste tal/bokstaver i A1 og A2 og A3 på 'ark1' og efterfølgende med
musen trykke på en knap lige ved siden af cellen A3, ja, vi kunne på knappen skrive
OPDATERE så værdierne i A1, A2 og A3 efterfølgende automatisk bliver 'sendt' over på 'ark2'
i f.eks. celle B1, B2 og B3.
Hele senariet gentages, men denne gang bliver værdierne nu videresendt til celle C1, C2 og C3
på 'ark2'. For nu er B1 .... jo optaget. Og sådan skal det så blive ved og ved.
Jeg taster i 'ark1' og ved brug af knappen bliver listen på 'ark2' større og større.
Er mit ønske u-lad-sig-gør-lig
| |
| Kommentar Fra : pedroso |
Dato : 02-11-08 10:52 |
|
Nu skriver du "f.eks. celle B1, B2, B3". Det lyder som om den beskrevne løsning ikke er helt det du skal bruge. Kan du beskrive præcist det du vil, for løsningen kan godt være afhængig af det.
Det bliver iøvrigt noget makro programmering der skal løse opgaven.
| |
| Kommentar Fra : pedroso |
Dato : 02-11-08 11:51 |
|
Hvis det er ok at man hele tiden indsætter i B1, B2 og B3 på faneblad 2, på den måde at det der står der i forvejen hele tiden rykker en kolonne til venstre så er det ret enkelt:
Sub Button5_Click()
Sheets("Sheet1").Select
Range("A1:A3").Select
Selection.Copy
Sheets("Sheet2").Select
Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Sheets("Sheet1").Select
Range("A1").Select
Application.CutCopyMode = False
End Sub
Kan du bruge det?
| |
| Kommentar Fra : pedroso |
Dato : 02-11-08 12:27 |
|
Nå, jeg kunne ikke lade være med at kigge på sagen. Der indsættes i første ledige kolonne. En lille messagebox til sidst for at undgå dobbeltklik:
Sub Button7_Click()
Application.ScreenUpdating = False
Sheets("Sheet2").Select
Range("A1").Select
On Error Resume Next
Column = Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column + 1
myRange = Cells(1, Column).Address & ":" & Cells(3, Column).Address
Sheets("sheet1").Range("A1:A3").Copy Destination:=Sheets("sheet2").Range(myRange)
Sheets("sheet1").Select
Application.ScreenUpdating = True
MsgBox ("Celler kopieret")
End Sub
| |
| Kommentar Fra : Højris |
Dato : 02-11-08 12:49 |
|
ØØ Øøø !
Det her ser yderet interessant ud. Måske jeg ku lære lidt
Hvad går det over i ?
Er det her macro eller VB. Hvordan får jeg det til at køre ?
Er med på en kigger.
Højris
| |
| Kommentar Fra : pedroso |
Dato : 02-11-08 13:44 |
|
Der er mange gode links på engelsk om vb og makroer. På dansk giver en google søgning desværre mest links til bøger man kan købe.
alfabeta: Du skal lige huske at fanebladene i VB koden skal hedde det samme som i regnearket. Desuden er der den lille detajle at det faktisk først virker når der står noget i faneblad 2. Det var en lille smutter.
| |
| Kommentar Fra : alfabeta |
Dato : 02-11-08 13:44 |
|
Hej Pedroso
Jeg arbejder på en økonomiplan som skal være et værktøj til at styre mine byggepladser optimalt.
Har jeg en byggeplads til f.eks. 25 mill. kommer der rigtige mange regninger fra både under-entreprenører og underleverandører.
Jeg ville gerne at 'ark1' forbliver et indtastnings ark som så sender værdierne videre til de rigtige ark når der trykkes på knappen <OPDATER>.
Men det kunne også være timeforbrug på mine svende som jeg et andet sted på 'ark1' taster og derefter sender videre til de respektive ark.
Får jeg lyst gåden (formlen) ville jeg jo kunne bruge den til endnu flere ting. Så det handler generelt om flere forskellige typer værdier. Tekst, tal, timeforbrug, evt. dato'er, ja kun fantasien sætter grænsen.
Har jeg gjort mig forståeligt?
Mvh. Alfabeta
| |
| Kommentar Fra : alfabeta |
Dato : 02-11-08 13:50 |
|
Hej igen Pedroso,
Der er vigtigt at de værdier som bliver sendt videre ind på et andet ark, kommer til at stå under hinanden - løbende.
Altså når jeg komme i gang med at bruge systemet skal værdierne f.eks. 'lande' i celle A1, den efterfølgende værdi skal så 'lande' i celle A2, A3, A4 ... osv.
Det vil ikke fungere hvis første værdi 'lander' i celle A1 og de efterfølgende så 'lander' i celle B1, C1, D1 ... osv.
| |
| Kommentar Fra : pedroso |
Dato : 02-11-08 14:07 |
|
Det vil de også. Men koden jeg har lavet kopierer kun de 3 første celler, så det skal jo laves lidt om i så fald. Men det er en start.
Nøglen til koden ligger jo i Find funktionen, og hvis den skal virke skal den jo have noget at finde. Derfor fungerer det ikke uden tekst på faneblad 2. Desuden kan jeg læse af din forklaring at du måske vil have det til at stå andre steder på faneblad 2. I så fald er det vigtigt hvordan der søges, ellers risikerer du at den finder en fri kolonne baseret på et tomt felt i en forkert række...
Det ligger i ovenstående at defineringen af adresser også er vigtig.
Men sig til hvis jeg skal arbejde lidt videre med sagen eller hvis du har fået nok til at gå videre selv. Jeg har nogle andre ting at ordne nu.
| |
| Kommentar Fra : alfabeta |
Dato : 02-11-08 15:46 |
|
Hej Pedroso,
Jeg arbejder lige videre med dette først, og tak fordi jeg evt. kan vende tilbage.
Mvh. Alfabeta
| |
| Kommentar Fra : pedroso |
Dato : 02-11-08 20:30 |
| | |
| Accepteret svar Fra : pedroso | Modtaget 140 point Dato : 02-11-08 20:48 |
| | |
| Godkendelse af svar Fra : alfabeta |
Dato : 03-11-08 08:05 |
|
Ups sorry Pedroso <pinligt> ... selvfølgelig skal du have dine points - hér er 20 ekstra af slagsen
Kan du anbefale en bog på dansk som kan give mig nogle begynder-leksioner i macro-koder??
Alfabeta
| |
| Kommentar Fra : pedroso |
Dato : 04-11-08 15:43 |
|
Ikke rigtig, jeg har lært hvad jeg kan primært fra min uddannelse, nyhedsgrupper og ellers hvad jeg kan finde på nettet.
Der er ikke så meget på dansk synes jeg.
| |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|