Haaland Skrevet 29. januar 2003 Del Skrevet 29. januar 2003 Eg held på med ein Excel-makro, som skal gjera dette: 1. Sjekka om det står noko i ei celle 2a. Viss det gjer det: hoppe til 3 2b. Viss det ikkje gjer det: skjula kolonna denne cella står i, deretter gå vidare til 3. 3. Gå vidare og sjekka ei anna celle. Foreløpig har eg kome fram til dette: Function Sjekkslett() For xxx = 4 To 83 If Cells(3, xxx) = "0" Then ?? Selection.EntireColumn.Hidden = True End If Next xxx End Function Eg trur alt er rett, utanom der det står to spørsmålsteikn. Kva kan eg skriva der for å få Excel til å i neste omgang skjula rett kolonne? Eg har prøvd litt forskjellig, og har mellom anna fått han til å skjula heile reknearket, noko som kanskje ikkje er heilt optimalt... Til opplysing bør det kanskje nemnast at dette er mitt første "prosjekt" som inneber å skriva makroar... :wink: Lenke til kommentar
MagneH Skrevet 30. januar 2003 Del Skrevet 30. januar 2003 Selection-objektet viser til de cellene som er valgt på forhånd. Enten så må de velges med: Range(Cells(3, xxx)).Select eller det som er bedre, jobb alltid med Range-objektet: Range(Cells(3, xxx)).EntireColumn.Hidden = True Da forandrer du aldri på Selection-objektet Lenke til kommentar
Haaland Skrevet 3. februar 2003 Forfatter Del Skrevet 3. februar 2003 Tusen takk, no har eg fått til den! Men, eg har ein makro til eg skulle hatt litt hjelp til. Eg vil "overvaka" ei celle i eit rekneark, som i utgangspunktet er tom. Når brukaren skriv noko i denne cella, skal det setjast inn ei ny linje under den cella som blir overvaka. Den delen av makroen som set inn ei ny linje har eg fått til på eit vis, men eg klarer ikkje å finna ut korleis eg kan "overvaka" ei celle? Eg har søkt på Google fleire gonger, men eg finn ingenting... Lenke til kommentar
MagneH Skrevet 4. februar 2003 Del Skrevet 4. februar 2003 Det er to hendelser Change og SheetChange du kan bruke, men du må i tillegg teste på hvor endringen foretas. Les mer om bruk av hendelser i hjelpefila. Lenke til kommentar
pumpy Skrevet 4. februar 2003 Del Skrevet 4. februar 2003 for å sjekke endringer i en spesifikk celle: Private Sub Worksheet_Change(ByVal Target As Range) If Cells(1, 1) <> "" Then Cells(2, 1) = "HVA I HULESTE..." End If End Sub Variabelen 'Target' gir deg verdien cellen ble satt til Lenke til kommentar
MagneH Skrevet 6. februar 2003 Del Skrevet 6. februar 2003 Dette er ikke helt riktig. Target er et range-objekt, og default egenskap er Value. Dessuten kan endringen være fra 'X' til 'Y'. Men Target.Row og Target.Column gir deg rad og kolonne der endringen skjedde. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå