Gå til innhold

Anbefalte innlegg

Hei skal lage en makro som laget et "slideshow" i excel.

 

Denne funker på alle "sheet" men jeg vill ha den til å velgen kun dem jeg vill vise, ikke alle sammen eller fra 1 til 10, mer 1,4,6,7,9 feks.

 

Er den noen som har en løsning på dette?

 

Kode:

 

Sub CycleSheets()

 

Dim lIndex As Long

 

Application.EnableCancelKey = xlErrorHandler

On Error GoTo ErrorCleanUp

 

Do Until test = True

For lIndex = 2 To 20

Sheets(lIndex).Select

Application.Wait Time + TimeValue("00:00:02")

Next lIndex

Loop

 

ErrorCleanUp:

MsgBox "macro har stoppet"

Exit Sub

 

End Sub

Lenke til kommentar
  • 2 måneder senere...
Videoannonse
Annonse

Hei.

 

Vil tro at dette er den letteste måten og løse det på.

 

   Sheets(1).Select
   Application.Wait Time + TimeValue("00:00:02")
   Sheets(4).Select
   Application.Wait Time + TimeValue("00:00:02")
   Sheets(6).Select
   Application.Wait Time + TimeValue("00:00:02")
   Sheets(7).Select
   Application.Wait Time + TimeValue("00:00:02")
   Sheets(9).Select

 

Mvh

 

Torbjørn

Lenke til kommentar

Hvis du vil gjøre det bittelitt mer dynamisk så kan du få loopen til å sjekke navnet på arket. Så knatter du på en eller annen form for markør på de arkene som ikke skal vises. F.eks.

 

Ark1

Ark2

!Ark3

!Ark4

Ark5

 

Så sjekker du om arknavnet starter med et utropstegn, og hvis det gjør det, så hopper du til neste ark uten å vise det.

Lenke til kommentar

Hei.

 

Jeg ville heller ha hatt dette i kode så jeg hadde sluppet og gjort om på arknavnene.

Jeg er ingen verdensmester på VBA koding men klarte og lage en som fungerer.

 

Dim i As Long

Dim Sht(1 To 5) As worksheet
Set Sht(1) = Sheets(1)
Set Sht(2) = Sheets(4)
Set Sht(3) = Sheets(6)
Set Sht(4) = Sheets(7)
Set Sht(5) = Sheets(9)

For i = 1 To 5
	Sht(i).Select
	Application.Wait Time + TimeValue("00:00:02")
Next i

 

Mvh

 

Torbjørn

Endret av Bigelk
Lenke til kommentar

Hele poenget med å _IKKE_ ha det i kode men benytte arknavnene var at da ble koden din mer gjenbrukbar...

 

Det trenger ikke nødvendigvis å være arknavnet heller. Men du kan ha en verdi i celle ZZ65535 som er true eller false for eksempel.

 

gjør du den gjenbrukbar på denne måten kan du for eksempel lagre denne funksjonen i din normal.xlt eller hva den nå heter, så har du den tilgjengelig over alt...

 

-C-

Endret av ChristianW
Lenke til kommentar

Hei.

 

Smak og behag :)

Han som lagde tråden har sikkert løst det for en mnd siden.

 

 

Dim i As Long

   For i = 1 To ActiveWorkbook.Worksheets.Count
    If sheets(i).Range("A1").Value = 1 Then
	    sheets(i).Select
	    Application.Wait Time + TimeValue("00:00:02")
    End If
   Next i

 

MVH

 

Torbjørn

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...