Gå til innhold

[Løst] Excel VBA Loop igjennom åpne arbeidsbøker


Anbefalte innlegg

Hei.

 

Jeg prøver og loope igjennom åpne arbeidsbøker med denne koden

Dim Wb As Workbook
   For Each Wb In Application.Workbooks
    If Wb.Sheets(1).Range("A1").Value = "Hei" Then
	    Wb.Sheets(1).Range("A2").Value = "hadet"
    End If
   Next Wb

 

Men det fungerer ikke, det skjer ingenting. Kommer ikke opp noen feilMld.

 

Noen som har forslag til hvordan det evt. skal gjøres?

 

Mvh

 

Torbjørn.

Lenke til kommentar
Videoannonse
Annonse

Hei.

 

Kan problemet være at jeg sitter på en server å ikke en datamaskin?

Bruker 2007 her.

Jeg har brukt en tilsvarende kode hjemme med 2010 hvor jeg fikk den til og fungere hvis jeg hadde lagret arbeidsbøkene i samme mappe.

 

Takk for tipset, skal se om jeg finner ut av noe.

 

Mvh

 

Torbjørn

Endret av Bigelk
Lenke til kommentar

Hei.

 

Har fått det til og fungere hvis arbeidsbøkene er lagret i samme mappe her også, men den "finner" ikke arbeidsbøker som ikke er lagret i samme mappe.

 

Kan denne koden fungere på arbeidsbøker som ikke er lagret?

Må jeg evt. kode inn filbanen til hvor arbeidsbøkene ligger?

 

Koden skal brukes på arbeidsbøker som kommer på mail, planen er bare og åpne de for så og loope igjennom alle sammen og kopiere innholdet til en annen arbeidsbok.

 

Bare si i fra hvis forklaringen ikke er god nok.

 

Mvh

 

Torbjørn

Lenke til kommentar

Virker som bøkene må være lagret, så får du det til så er det vel ikke noe hokus pokus

 

Et annet alternativ kan jo være å styre Outlook fra Excel. Gå igjennom aktuelle mailer, lagre vedleggene for så å åpne og merge de. http://www.dicks-clicks.com/excel/olRetrieving.htm - her er litt kode for det.

 

En tredje og kanskje bedre løsning er å styre Excel fra Outlook. På den måten kan du merge med en gang en mail kommer inn. Her er en link som kanskje kan hjelpe deg igang med det. http://stackoverflow.com/questions/11876549/how-to-copy-outlook-mail-message-into-excel-using-vba-or-macros

Lenke til kommentar
  • 2 uker senere...

Hei. Løste det, hvis jeg åpnet en excel bok via taskbar så ble den ekskludert i fra loopen men hvis jeg åpnet den i fra mappen ble den inkludert, koden fungerer med arbeidsbøker jeg åpner via outlook.

 


   Dim wb As Workbook
   Dim i As Integer
   Dim ThisWb As String

   i = 1
   ThisWb = ThisWorkbook.Name

   For Each wb In Application.Workbooks

    If wb.Name <> ThisWorkbook.Name Then

	    wb.Sheets(1).Cells.Copy
	    Workbooks("" & ThisWb & "").Application.Sheets(i).Paste

    End If
    i = i + 1
   Next wb

 

Mvh

 

Torbjørn

Endret av Bigelk
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...