Gå til innhold

excel 2000-kopiere ark-makro virker ikke på ark2


Anbefalte innlegg

Hei,

Jeg har en en makro som henter data fra rad 16-399 og legger det i en bestilling. Jeg vil at den skal hente data fra rad 16 til rad 502 istedet, noen som vet hva jeg må endre på i makroen for å få det til? :)

Makroen ser slik ut:

 

Public Function vSettInn(x As Integer) As Variant

Dim aVare(36) As Variant

Dim i, n As Integer

vSettInn = ""

n = 0

 

'Blanke ut tabellen

For n = 0 To 36 Step 1

aVare(n) = ""

Next

n = 0

 

For i = 62 To 399 Step 1

If Worksheets("Bestilling side 1").Cells(i, "A").Value <> "" Then

aVare(n) = Worksheets("Bestilling side 1").Cells(i, "B").Value

n = n + 1

End If

Next

vSettInn = aVare(x - 16)

End Function

Endret av aka
Lenke til kommentar
Videoannonse
Annonse

Den nåværende prosedyren ser ut til å hente ut informasjon fra rad 62 til 399, utifra den begrensede informasjonen jeg har til rådighet. Jeg må bare gjette hvorledes funksjonen benyttes, men det later ikke til å være en særlig optimalisert prosess.

 

I alle fall, jeg vil tro du kan endre koden til følgende for å oppnå det du ber om:

Public Function vSettInn(x As Integer) As Variant

   

    Dim aVare(36) As Variant

    Dim i, n As Integer

   

    vSettInn = ""

 

    'Blanke ut tabellen

    For n = 0 To 36

        aVare(n) = ""

    Next

   

    For i = 16 To 502

        If Worksheets("Bestilling side 1").Cells(i, "A").Value <> "" Then

            aVare(n) = Worksheets("Bestilling side 1").Cells(i, "B").Value

            n = n + 1

        End If

    Next

   

    vSettInn = aVare(x - 16)

   

End Function

Lenke til kommentar

okey, takk skal du ha!

Det er en knapp som heter oppdater som henter de radene en har merket av og legger de inn i bestillingsskjema i samme arbeidsbok.

Men en annen ting er at jeg får ikke denne oppdater knappen til å virke på de andre arkene jeg oppdaterer.(Når første siden blir kopiert til side 2 osv)

Kan du se utifra den makroen om det er noe som tilsier at den bare skal virke på "bestilling 1"? Og eventuelt hva jeg må gjøre for å få den til å virke på flere arbeidsbøker.... ? :hmm:

Lenke til kommentar

Jeg har lest det om og om igjen, men har ikke bakgrunn med dette så det ble litt gresk for meg.

Holder på å prøve og feile og lese for å lære meg dette. Da jeg brukte aadnk sitt forslag virket ingenting, så jeg bruker fremdeles "mitt". Har fått det til å virke ned til celle 501, men ikke at oppdater knappen virker på arkene som blir opprettet. Trodde kanskje det var fordi arkene som blir kopiert får navnet "side 2" osv mens hovedarket heter Bestilling 1...... Prøvd litt forskjellig der også men uten hell.

Lenke til kommentar

Du har noe du vet går til 399, og du vil utvide til 502. Koden sier

 

For i = 62 To 399 Step 1

 

og i mine øyne ville det da være nærliggende å forsøke

 

For i = 62 To 502 Step 1

 

for så å se hva som skjer.

 

Makroen du postet er ingen makro, men en funksjon som leser fra et ark. Limingen av dette foregår annetsteds, via kode eller et sett regnearkformler. Siden vi ikke vet, kan vi ikke løse. Men det vi vet er at arket det leses fra alltid heter "Bestilling side 1" (og ikke "Bestilling 1"). Det får du enten rette til hva det bør være, eller, helst, sende det som et parameter til funksjonen. Hvordan det skal løses avhenger igjen av om limingen foregår via formler eller kode.

 

EDIT: Jeg skal kanskje legge til at funksjonen ikke er noe lærestykke når det gjelder programmering. Blant annet har den en øvre grense på 37 verdier i området den leser fra, og altfor mange ting er hardkodet. Så hvis du egenopplærer deg, ikke bruk alt for mye tid på å studere akkurat den der.

 

HTH. Beste hilsen Harald

Endret av Harald Staff
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å
×
×
  • Opprett ny...