Avatar billede mira96ac Praktikant
23. marts 2009 - 11:49 Der er 8 kommentarer og
1 løsning

Skjule linier og kolonner

Kan i hjælpe...
Jeg har følgende makro:

Sub Skjul()
On Error GoTo Fejl
Application.ScreenUpdating = False
Dim iLoop As Integer
Dim rNa As Range
Dim I As Integer
Dim rx As Range
svalue = 0          'søgeværdi
scolumn = 13            'søgekolonne
iLoop = WorksheetFunction.CountIf(Columns(scolumn), svalue)
Set rNa = Cells(1, scolumn)
Set rx = Columns(scolumn).Find(What:=searchvalue, After:=rNa, _
            LookIn:=xlValues, LookAt:=xlWhole, _
            SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=True)

For I = 1 To iLoop

  Set rNa = Columns(scolumn).Find(What:=svalue, After:=rNa, _
            LookIn:=xlValues, LookAt:=xlWhole, _
            SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=True)
  Set rx = Union(rNa, rx)
 
Next I
rx.EntireRow.Hidden = True
Cells(1, 1) = ExecuteExcel4Macro("Get.Document(50)")
Application.ScreenUpdating = True
ActiveSheet.Cells(1, 3).Select
Exit Sub
Fejl:
  MsgBox "Der er ingen nul-linier at skjule !"

End Sub


Mit problem er at jeg gerne vil bruge samme makro til et andet regneark også. Der skal den gennemsøge kolonne 13 på størstedelen af fanbladende ligesom her, men på enkelte fanablade skal den søge i kolonne 48.

Hvordan får jeg fortalt at når man bruger makroen på lige præcis disse 4 faneblade skal den søge i kolonne 48 (kan man skrive navnene i makroen)
Avatar billede supertekst Ekspert
23. marts 2009 - 13:02 #1
Hvis du kan aflæse navnet på den aktuelle arkfane - så skulle det være muligt  evt.:

    Select Case arkNavn
    ..
    Else
    ..   
    End Select
Avatar billede mira96ac Praktikant
23. marts 2009 - 13:33 #2
Jeg er nok nødt til at bede om meget mere hjælp om hvordan jeg skal gøre det.

Eventuelt et eksempel med udgangspunkt i min makro :-)
Avatar billede supertekst Ekspert
23. marts 2009 - 14:04 #3
Hvor ligger din kode,der vedr. ovennævnte - alternativt er du velkommen til at sende den...
Avatar billede mira96ac Praktikant
23. marts 2009 - 14:20 #4
Min kode ligger i et module i en xla-fil som bliver indlæst hver gang jeg starter Excel
Avatar billede supertekst Ekspert
23. marts 2009 - 14:42 #5
Eksempel:

Sub testArkNavn()
    arknavn = ActiveSheet.Name
   
    Select Case arknavn
        Case "Ark1", "Ark2"
            kolonne = 48
        Case Else
            kolonne = 13
    End Select
End Sub
Avatar billede mira96ac Praktikant
23. marts 2009 - 15:05 #6
Jeg er desværre nødt til at have det skåret u i pap.

Hvor sætter jeg det ind i min makro øverst oppe.
Avatar billede supertekst Ekspert
23. marts 2009 - 15:19 #7
P.t:
scolumn = 13            'søgekolonne

ændres til:
    Select Case Activesheet.Name
        Case "Ark1", "Ark2"    '<-- tilpasses
            scolumn = 48
        Case Else
            scolumn = 13
    End Select
Avatar billede mira96ac Praktikant
23. marts 2009 - 15:25 #8
Perfekt

Jeg bukker og takker
Avatar billede supertekst Ekspert
23. marts 2009 - 15:38 #9
Fint - så får du et svar..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester