Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


VBA

Postades av 2004-06-11 10:23:31 - Per Arne Olsson, i forum visual basic - allmänt, Tråden har 8 Kommentarer och lästs av 1019 personer

Hej
Någon som kan Excel / VBA.

Jag skall med en knapptryckning kopiera in celler från en arbetsbok till en annan bok.
Vill helst kunna peka ut namn.xls samt bladets namn.

Skall plocka ut vissa celler ur ett blad i xls 1 och lagra dessa på bestämd plats i xls 2.
Allt skall ske med macros/VBA kod.

Någon som har någon ide eller vet någon sida på nätet?

Per Arne


Svara

Sv: VBA

Postades av 2004-06-11 10:55:43 - Niklas Jansson

Frågan är ställd i fel forum, den ska ligga i Microsoft Office eller något i den stilen.
Nåväl; det där är inte speciellt svårt, det ska inte vara några problem. Lite mer bakgrundsinfo hade definitivt kunnat vara bra; det kan finnas en bättre lösning än "kopiera in celler från annan arbetsbok".

Du måste dock strukturera upp programmet lite först, eftersom Excel-makron skiljer sig lite från "vanliga program".

1. Du har två filer; fil1 och fil2.
2. fil1 ska du kunna välja varje gång du kör makrot. Görs t.ex. med Application.FindFile.
3. fil2 då? Är det alltid samma eller ska du välja det varje gång också?
Om det är samma så kan det vara lämpligt att ha makrot i just fil2, men det beror helt och hållet på situationen. Berätta mer om vad som ska göras!
4. Okej, hur som helst har du nu två filer och makrot ska kopiera celler från ena till andra. Vilka celler ska det kopieras från, vilka celler ska det kopieras till?
Är det alltid fasta celler (B4 ska till C8, C3 ska till A2, osv.), eller ska det vara mer flexibelt (den understa cellen i kolumn B ska till A2, osv.)?


Svara

Sv: VBA

Postades av 2004-06-11 12:35:36 - Per Arne Olsson

Hej
Jag skall fånga info från en rapport och bearbeta denna.
Det är kanske lättare att kopiera in hela arbetsbladet till fil 2 och jobba vidare därifrån.

Jag får ta ställning till senare om filen jag kopierar ifrån skall vara stängd eller öppen.

Jag kan inte lägga in någon kod eller andra funktioner i filen jag skall läsa från.

Filen jag läser från byter namn varje månad xxxxx01.xls, xxxxx02.xls osv.

Cellerna skall vara fast varje månad.

Per Arne


Svara

Sv: VBA

Postades av 2004-06-11 13:21:08 - Niklas Jansson

Du svarade inte riktigt på frågorna. Vi kallar "frånfilen" för fil1. Det är filen du kommer kopiera från som heter XXXX01.xls, osv.
OK?
Det finns mängder med sätt, men på något sätt får du upp den i Excel, och kan hålla tag i den i en variabel, t.ex.:
Dim wbReport As Workbook
Set wbReport = Workbooks("filnamn")

Det där får du ju naturligtvis lösa på lämpligt sätt

Sen har du "tillfilen", som vi kallar fil2. Är det alltid samma fil eller inte?
Om det alltid är samma fil så är det mest logiska att lägga makrot i fil2; de hör samman.

<b>>Det är kanske lättare att kopiera in hela arbetsbladet till fil 2 och jobba vidare därifrån.</b>
Beror på. I så fall måste bladet alltid ha samma namn, annars är det ingen större vinst.

<b>>Cellerna skall vara fast varje månad.</b>
Återigen: fil1 har fasta celler, men har fil2 också alltid samma celler?

Sen har jag nog inte riktigt förstått vad det är du frågar om... själva koden antar jag att du kan skriva...?


Svara

Sv: VBA

Postades av 2004-06-11 13:41:26 - Per Arne Olsson

Hej
Lite svar
<b>>Det är kanske lättare att kopiera in hela arbetsbladet till fil 2 och jobba vidare därifrån.</b>
Beror på. I så fall måste bladet alltid ha samma namn, annars är det ingen större vinst.

Svar: Bladet har alltid samma namn

<b>>Cellerna skall vara fast varje månad.</b>
Återigen: fil1 har fasta celler, men har fil2 också alltid samma celler?

Svar: Båda filerna skall ha fasta celler.

Sen har jag nog inte riktigt förstått vad det är du frågar om... själva koden antar jag att du kan skriva...?

Svar: Hjälp med själva Copy steget. Kopiera in enstaka celler eller ett område med celler.
Har hållt på ganska mycket med VB men ej med VBA.

Tack för att du tar dig tid!!

Per Arne


Svara

Sv: VBA

Postades av 2004-06-11 14:10:00 - Niklas Jansson

Okej, det var bättre.

Hur du startar makrot väljer du själv; med en knapp på själva sheetet, med en egen knapp i Excels menyer, eller något annat. Jag hade valt att göra så här:
Gör ett makro i "fil 2", och sätt en knapp på sheetet (finns en toolbar som heter "control toolbox" på engelska). Knappens click-event startar då ditt makro.
Då har man alltid makrot tillgängligt i den fil som behöver det.

Kopieringen då... Vi säger att du alltid lägger in själva sheetet i din workbook, och att det alltid heter samma sak då, så kan du ändra det sen, det är inget svårt.
Jag antar att det första sheetet heter "Report", där du hämtar data ifrån. Inget konstigt med det.
Det andra kallar vi bara för "Sheet", eftersom jag inte vet vad det är för något.

Ditt makro börjar då med
Dim wsReport As Worksheet, wsSheet As Worksheet
Set wsReport = Worksheets("Report")
Set wsSheet = Worksheets("Sheet")

Så att du håller reda på vad du använder.
Sen finns det lite olika vägar att gå, men det lättaste är att skriva så här:

wsSheet.Range("A5")=wsReport.Range("C3")
...

Det kopierar bara värdet som står i C3 i Report till A5 i Sheet.
Så får du rada upp alla celler du vill kopiera.
Du kan även använda funktioner som Copy, Paste och PasteSpecial, om du t.ex. vill kopiera större områden

wsReport.Range ("C3:C5").Copy
wsSheet.Range("A5:A7").Paste

Istället för Range kan man använda "Cells", som tar raden som första argument och kolumnen som andra.

wsReport.Cells(5,3).Copy 'Rad 5, kolumn 3 = kolumn "C"

Så, nu har du nog fått lite mer kött på benen.


Svara

Sv: VBA

Postades av 2004-06-11 14:54:18 - Per Arne Olsson

Tack Niclas!!
Nu har jag en bra start.
Kodar vidare på tisdag.

Per Arne


Svara

Sv: VBA

Postades av 2004-06-11 15:06:33 - Niklas Jansson

Inga problem!

Och Ni<b>k</b>las om jag får be... =)


Svara

Sv: VBA

Postades av 2004-06-11 15:30:50 - Sven Åke Persson

<Och Niklas om jag får be... =)

Nicklaus tomte med andra ord :-)


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 707
27 958
271 751
869
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies