Forfatter |
Emne Søg Emne funktioner
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
Emne: En søgeopgave Sendt: 24.Aug.2016 kl. 18:19 |
I fanen <budgetlæg> er frys vindue række 1-32 tildelt
visning af de enkelte konti (faste/variable) budgetterede beløb (og resultat=faktiske
forbrug). Hver hoved konto vises med teksten og påhæftet rækkenummer hvor 1. budgetdata
står. F.eks. Forsikringer (917).
I række 33-2038 indsættes budgetdata i kolonne K-N : MD,
Konto, KontoSpec (1-9) og beløb. Al budgettering til en konto holdes samlet. I
kolonne H (33-2038) vises rækkenummer.
Det jeg ønsker: I H30 skriver jeg kontoens rækkenummer, som
jeg ønsker (makroen: SøgKonto) skal vises lige under række 32.
Makroens funktion skal erstatte den i højre side
<elevator> og hjulet på musen.
Budgetdata skal naturligvis stå placeret på rækkerne uforandret.
|
Med venlig hilsen
Knud Evendorff
|
|
|
|
|
maxzpad
Guld bruger
Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 720
|
Accepteret svar
Sendt: 25.Aug.2016 kl. 15:49 |
Hej Knud
Denne VBA-kode burde klare opgaven.
Du skal kopiere koden ind som en ark-makro: - Højreklik på arkfanen og vælg "Vis programkode".
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$30" Then
If Target.Value > 32 And Target.Value < 2000 Then ActiveWindow.ScrollRow = Target.Value Else MsgBox "Ugyldigt rækkenummer" End If
End If
End Sub
Mvh Max
|
|
maxzpad
Guld bruger
Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 720
|
Sendt: 25.Aug.2016 kl. 13:46 |
Hej Knud
Det lyder som om, du allerede har en makro ind over dette.
Hvis du kender rækkenummeret på den konto, som skal vises lige under række 32, hvor din frysning af vinduer er foretaget, kan du skrive følgende i VBA-koden:
ActiveWindow.ScrollRow = [rækkenummeret]
Håber det var det, du var ude efter.
Mvh Max
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
Sendt: 25.Aug.2016 kl. 15:35 |
Hej Max
Tak for respons. Jeg har kun mit valg af navn på makroen: SøgKonto.
Det her er ligesom for lidt VBA : Sub SøgKonto() ' ' Budgetlæg Makro ' Makro indspillet 25-08-2016 af bruger ' ActiveWindow.ScrollRow = H30
End Sub
Yderligere skal der vises fejl hvis H30<33 og H30>2000.
Mvh Knud
|
Med venlig hilsen
Knud Evendorff
|
|
maxzpad
Guld bruger
Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 720
|
Accepteret svar
Sendt: 25.Aug.2016 kl. 15:49 |
Hej Knud
Denne VBA-kode burde klare opgaven.
Du skal kopiere koden ind som en ark-makro: - Højreklik på arkfanen og vælg "Vis programkode".
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$30" Then
If Target.Value > 32 And Target.Value < 2000 Then ActiveWindow.ScrollRow = Target.Value Else MsgBox "Ugyldigt rækkenummer" End If
End If
End Sub
Mvh Max
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
Sendt: 25.Aug.2016 kl. 16:02 |
Hej Max
Jeg plejer at bruge VBA editor. Koden skak aktiveres ved en aktiv Knap (tildelt makro: SøgKonto.)
Her er hvad jeg har p.t.
Sub SøgKonto() ' ' Budgetlæg Makro ' Makro indspillet 25-08-2016 af bruger ' Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$30" Then
If Target.Value > 32 And Target.Value < 2000 Then ActiveWindow.ScrollRow = Target.Value Else MsgBox "Ugyldigt rækkenummer" End If
End If
End Sub End Sub
- og det virker ikke.
mvh Knud
|
Med venlig hilsen
Knud Evendorff
|
|
maxzpad
Guld bruger
Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 720
|
Sendt: 25.Aug.2016 kl. 16:09 |
Hej Knud Princippet med en aktiv knap er fint nok. Den kode, jeg har sendt dig, reagerer dog med det samme, når du ændrer værdien i celle H30. Dvs. skriv rækkenummeret og tryk Enter - og voila! Når du højreklikker på arkfanen og vælger "Vis programkoden", kommer du ind i VB-editoren. Du skal slette dine egne linjer, der starter med "Sub SøgKonto()" osv., og du skal også kun have et "End Sub" i bunden. Dvs. i arkets makroer - dér hvor du kopierer ind - skal der kun stå min kode, som starter med "Private Sub Worksheet_Change(ByVal Target As Range)" Når du får det til at virke, tror jeg også, du vil synes, det er smartere end en aktiv knap Mvh Max
|
|
maxzpad
Guld bruger
Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 720
|
Sendt: 25.Aug.2016 kl. 16:15 |
Men hvis du foretrækker den aktive knap....
Sub SøgKonto() ' ' Budgetlæg Makro ' Makro indspillet 25-08-2016 af bruger '
If Range("H30").Value > 32 And Range("H30").Value < 2000 Then ActiveWindow.ScrollRow = Range("H30").Value Else MsgBox "Ugyldigt rækkenummer" End If
End Sub
Mvh Max
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
Sendt: 25.Aug.2016 kl. 16:34 |
Hej Max
Fint, det er som det skal være - funktionelt.
Den aktive Knap har dog den lille finesse, at den kan bruges flere gange på det samme indtastede rækkenummer.
Tak for løsningen, som har gjort budgetlægningen super brugbar.
mvh
Knud
|
Med venlig hilsen
Knud Evendorff
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
Sendt: 25.Aug.2016 kl. 16:38 |
Hej Max
Jeg har valgt din direkte løsning uden aktiv knap.
Tak.
|
Med venlig hilsen
Knud Evendorff
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
Sendt: 25.Aug.2016 kl. 21:02 |
Hej Max
Jeg ved ikke om tråden er aktiv, jeg prøver.
Jeg fandt ud af, at jeg med fordel kunne anvende samme løsning i anden fane <MD>.
Jeg rettede lidt til, men den rokker sig udad stedet.
Koden:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$c$29" Then
If Target.Value > 29 And Target.Value < 5001 Then ActiveWindow.ScrollRow = Target.Value Else MsgBox "Ugyldigt rækkenummer" End If
End If
End Sub
|
Med venlig hilsen
Knud Evendorff
|
|
maxzpad
Guld bruger
Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 720
|
Sendt: 25.Aug.2016 kl. 23:15 |
Jeg vil tro, det skyldes, at du har skrevet adressen "$c$29" med et lille c. Prøv med "$C$29".
Husk også gerne at markere min løsning som accepteret, så jeg får point for den (håber jeg).
Mvh Max
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
Sendt: 25.Aug.2016 kl. 23:51 |
Hej Max
Også det <C> løste op for koden og den kører.
Tak og point? men hvor gør jeg det?
Jeg kan kun se en Tak knap
|
Med venlig hilsen
Knud Evendorff
|
|
maxzpad
Guld bruger
Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 720
|
Sendt: 26.Aug.2016 kl. 09:01 |
Hmm, tjah ... godt spørgsmål. Jeg havde bare set i en anden tråd, hvor en løsning var markeret som "accepteret", men jeg kan da godt se nu, at der ikke findes en intuitiv knap til dette.
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 29.Aug.2016 kl. 20:37 |
Hej Jeg må indrømme at manualen til 'Accepteret løsning' lå lidt skjult. Her er et link til en kort forklaring /hvordan-markerer-man-en-accepteret-lsning_topic2684.html"/hvordan-markerer-man-en-accepteret-lsning_topic2684.html Det er kun dig ZXCVB som kan markere løsningen som accepteret, da det er dig som har oprettet spørgsmålet. Rigtig god sensommer //Allan
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
Sendt: 30.Aug.2016 kl. 18:10 |
Hej Max
Jeg har fået vejledning af Allan (admin.), så mit spørgsmål på sitet er blevet løst, accepteret og honoreret i point (det giver 4 point i.flg. systemets standard).
Tak for nu.
|
Med venlig hilsen
Knud Evendorff
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
Sendt: 05.Sep.2016 kl. 21:33 |
Hej Allan
Tak og i lige måde. Det bliver en varm uge.
Spørgsmål :
Jeg har fået spørgsmålet afsluttet og point tildelt. Men nu vil jeg gerne stille Maxzpad et ekstra spørgsmål på hans kode forslag, således jeg kan anvende hans løsning på et andet Ark.
Hvordan gør jeg det?
1) Giver jeg blot et svar på hans seneste opdatering i tråden? 2) bruger jeg en personlig henvendelse. 3) eller ?
Spørgsmålet 99% inden for det oprindelige spørgsmål.
|
Med venlig hilsen
Knud Evendorff
|
|
maxzpad
Guld bruger
Medlem: 04.Aug.2016
Land: Danmark
Status: Offline
Point: 720
|
Sendt: 06.Sep.2016 kl. 08:33 |
Hej Knud Jeg tænker, at du bare opretter et nyt spørgsmål med reference til dette. Så skal jeg nok huske på tværs af spørgsmålene Mvh Max
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 06.Sep.2016 kl. 08:59 |
Hej Knud Du stiller et par meget relevante spørgsmål Vi er ikke så regelrette her i forummet, så der vanker hverken politianmeldelse eller andet hvis man træder forkert Set fra en læsers vinkel, vil det være bedst at oprette et ny tråd Skriv eventuelt i den gamle tråd at du har oprettet en ny med et lignende spørgsmål. (sæt evt. et link ind så den er nemmere at finde) Personlige beskeder er jo altid godt , men til problemløsning kan det ikke anbefales. I det åbne forum kan en bruger selv vælge om de har tid eller lyst til at svare. //Allan
|
|
ZXCVB
Bronze bruger
Medlem: 12.Mar.2012
Land: DK
Status: Offline
Point: 92
|
Sendt: 06.Sep.2016 kl. 17:15 |
Hej Max
Jeg har oprettet et nyt emne : < En søgeopgave - variant > /topic2695_post12818.html#12818"/topic2695_post12818.html#12818
|
Med venlig hilsen
Knud Evendorff
|
|