Avatar billede splokit Nybegynder
31. oktober 2005 - 19:29 Der er 13 kommentarer og
1 løsning

Macro knap med If værdi, mærk bestemt række

Kan man lave en IF= I137;I204 = værdi. Skal min macro knak Mærke de ræker hvor værdien er i. F.eks

I137 & I145 = værdi mærker min marco de to ræker men fra E137:M137 og E145:M145 så man har to mærkninger og flere hvis der er værdier i I kolonnen
Avatar billede s_kjaer Praktikant
31. oktober 2005 - 20:19 #1
Du kan godt lave, så der er en knap der kører en macro. Hvis du vil have knappen til at være der hele tiden, er det letteste at vise værktøjslinien "Kontrolelementer", bruge den til at lave en knap, og derefter tilknytte en macro til knappen.

Og så til macroen: Skal den m$arkere en del af begge rækker, hvis der står en bestemt værdi i cellerne I137 og I145, eller skal den markere en del af række 137, hvis der står noget i celle I 137, og en del række 145 hvis der står noget i I145?
Avatar billede oyejo Nybegynder
02. november 2005 - 10:36 #2
Public Sub SelectUnionRange()
  If Not IsEmpty(Range("I137")) And Not IsEmpty(Range("I204")) Then
    Union(Range("E137:M137"), Range("E145:M145")).Select
  End If
End Sub
Avatar billede splokit Nybegynder
02. november 2005 - 15:04 #3
Hvordan får jeg den til at køre ved at trykke på en knap!?
Avatar billede oyejo Nybegynder
02. november 2005 - 15:10 #4
Høyreklikk på knappen
velt tilordne makro
nå kan du velge SelectUnionRange fra en liste

(ps! skal ta en titt på din vogn i løpet av dagen :-)
Avatar billede splokit Nybegynder
02. november 2005 - 21:08 #5
Avatar billede s_kjaer Praktikant
02. november 2005 - 21:33 #6
Hvis du højreklikker på din knap "Slet ture", når den ikke er i regiger tilstand, skal du vælge muligheden "Tilføj macro" og vælge macroen "SelectUnionRange"
Avatar billede oyejo Nybegynder
03. november 2005 - 07:44 #7
Først må du koperiere koden fra :02/11-2005 10:36:17
Den kan du lime inn i modul 7 eller 8 som du allerede har,
eller du kan sette inn en ny modul til å lime inn koden i.

NB! Hvis makroknappen IKKE ligger i samme sheet som de cellene som skal merkes,
må vi endre litt på koden.

når du nå høyreklikker din makroknapp får du opp en liste,
der kan du nå velge: SelectUnionRange()
Avatar billede oyejo Nybegynder
03. november 2005 - 07:48 #8
Hvis du må ha en ny knapp, kan du høyreklikke en av de knappen du har
velg kopier, så kan du velge lim inn
Avatar billede splokit Nybegynder
03. november 2005 - 15:01 #9
Hvis du prøver nu... så virker den næsten. dem mærker bare ikke de rækker som har værdi i kolonne I :S
Avatar billede oyejo Nybegynder
03. november 2005 - 15:22 #10
jeg har misforstått
Er det slik at alle rader som har tomme celler i kollone i,
skal merkes fra kolonne E til M?
Avatar billede oyejo Nybegynder
03. november 2005 - 16:49 #11
Public Sub SelectUnionRange()
  Dim i As Long
  Dim it
  Dim c As Range
  Dim rngUnion As Range
  Dim rngCol As New Collection
 
 
  For Each c In Range("I137:I250")
    If Not IsEmpty(c.Value) Then
    rngCol.Add Item:=c.Offset(, -4).Resize(1, 9)
    End If
  Next
 
  Set rngUnion = rngCol.Item(1)
  For Each it In rngCol
    Set rngUnion = Union(it, rngUnion)
  Next
  rngUnion.Select
End Sub
Avatar billede oyejo Nybegynder
03. november 2005 - 17:12 #12
en liten rettelse ( hørt den før ;-)
jeg vet ikke hvilken rad som er den siste, men det kan du rette opp
i denne linje: For Each c In Range("I137:I250")
her er siste rad 250, endre dette tall, slik at det viser siste rad



Public Sub SelectUnionRange()
  Dim i As Long
  Dim it
  Dim c As Range
  Dim rngUnion As Range
  Dim rngCol As New Collection
 
  For Each c In Range("I137:I250")
    If Not IsEmpty(c.Value) Then
    rngCol.Add Item:=c.Offset(, -4).Resize(1, 9)
    End If
  Next
 
  Set rngUnion = rngCol.Item(1)
  For Each it In rngCol
    Set rngUnion = Union(rngUnion, it)
  Next
 
  rngUnion.Select
  Set rngUnion = Nothing
End Sub
Avatar billede splokit Nybegynder
03. november 2005 - 18:45 #13
www.Splokit.com/Vogn.xls
Sådan så er den også perfekt....
Du er excel gud... :D Mange tak
Har så bare lavet lidt om på den... så det er flere skulle lige prøve og det virker.... Takker mange gange for den tid du har lagt i det...
Avatar billede oyejo Nybegynder
04. november 2005 - 07:53 #14
Det er jeg som skal takke,
dette er den beste måten for en amatør som meg å lære på :-)

En litt forbedret versjon, som blandt annet tester til siste rad med data i kolonne I

Public Sub SelectUnionRange()
 
  Dim c As Range, rngUnion As Range
  Dim rngCol As New Collection
 
  For Each c In Range("I137:I" & Cells(Rows.Count, 9).End(xlUp).Row)
    If Not IsEmpty(c.Value) Then
      rngCol.Add Item:=c.Offset(, -4).Resize(1, 9)
    End If
  Next
 
  Set rngUnion = rngCol.Item(1)
  For Each c In rngCol
    Set rngUnion = Union(rngUnion, c)
  Next
 
  rngUnion.Select
  Set rngUnion = Nothing
End Sub
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

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