Just nu i M3-nätverket
Gå till innehåll

Skapa mellanrum i Exce


Martin Bergqvist

Rekommendera Poster

Martin Bergqvist

Finns det någon funktion i excel som gör

att man kan skapa mellanrum mellan var 5 rad?

 

Eller skapa olika bakgrundfärger på cellerna

på ett smidigt sätt.. Alltså så lite hantverk som möjligt

Länk till kommentar
Dela på andra webbplatser

Bakgrundsfärg i celler kan du ju styra genom "Villkorsstyrd formatering" med antingen en formel eller cellvärde.

 

Mellanrum mellan rader kan väl inte såvitt jag vet göras på annat sätt än att infoga tomma rader. Ibland kan ju också sammanfogning av celler vara till god hjälp.

 

Formathämtning kan ju också vara till god hjälp utan att det blir allt för mycket hantverkeri. *ler*

 

 

Länk till kommentar
Dela på andra webbplatser

Gör en egen, typ:

 

For Each Row In Selection.Rows
   If Row.Row Mod 2 = 0 Then
       Row.Interior.ColorIndex = 12
   End If
Next Row

 

Var 5:e lite högre

For Each Row In Selection.Rows
   If Row.Row Mod 5 = 0 Then
       Row.RowHeight = 25
   End If
Next Row

Ha det så kul

 

Länk till kommentar
Dela på andra webbplatser

Martin Bergqvist

Hur skall man applicera det excel? La det som ett macro VB men enda cell blev grön hände inte så mycket mera.

 

Länk till kommentar
Dela på andra webbplatser

Martin,

 

Ska du

- infoga en tomrad efter var 5:e rad

- eller färgsätta var 5:e rad

- eller infoga och färgsätta den nya raden

 

Förekommer det också formler i din uppställning?

 

Mvh

Dennis

Besök Sveriges ledande oberoende webbplats om MS Excel: http://www.xldennis.com

 

Länk till kommentar
Dela på andra webbplatser

Hej. som macrot ser ut så ändras den markering du gjort. DVS om du bara har markerat en cell så händer inte så mycket. anledningen till att jag skrev så är att det blir otroligt segt om du vill ändra hela bladet på en gång. Om du ändå vill det skall du byta ut Selection.Rows till ActiveSheet.Rows).

Testa, eller svara på Dennis frågor. Han har förmodligen något enkelt knep i bakfickan.

 

 

Var 3:e blåbärsrisgrönfärgad och var 10:e lite högre. Hela bladet. Tar minst 10-20 sekunder.

 

Sub Menlost()
ScreenUpdating = False
'For Each rw In Selection.Rows
For Each rw In ActiveSheet.Rows
   If rw.Row Mod 3 = 0 Then 
end if
rw.Interior.ColorIndex = 12
   If rw.Row Mod 10 = 0 Then rw.RowHeight = 25
end if
Next rw
ScreenUpdating = True
End Sub

 

 

Länk till kommentar
Dela på andra webbplatser

Martin Bergqvist

Hur skriver man for loopen så den går ifrån den raden man markerar? Som det är nu så räknar den från cell 1.

 

Skulle vilja att endast gör på det celler man markera.

 

Länk till kommentar
Dela på andra webbplatser

Testa något i den här stilen. Kolla hjäöpen och anpassa efter dina behov

 

Public Sub test()
Dim i As Integer
i = 0
'(Obs att du måste byta datatyp om
'du vill arbeta med mer än ca 32 000 rader)

' Välj autofliterområdet och Nollställ färg
ActiveSheet.AutoFilter.Range.Interior.ColorIndex = xlNone

' Välj autofliterområdet
ActiveSheet.AutoFilter.Range.Select
' gå igenom och räkna utifrån synliga rader
For Each rw In Selection.SpecialCells _(xlCellTypeVisible).Rows
i = i + 1
   If i Mod 2 = 0 Then rw.Interior.ColorIndex = 12
Next rw

End Sub

 

 

[inlägget ändrat 2002-09-13 15:12:15 av MH]

Länk till kommentar
Dela på andra webbplatser

Den här varianten arbetar bara med din markering, och endast med synliga celler.

 

1. Ändra siffran efter Mod för att bestämma hur ofta en formatering skall uppstå

2. Ändra siffran efter ColorIndex = för att ändra till en roligare färg (spela in ett nytt macro om du vill veta färgindex)

3. Ändra siffran efter RowHeight för att bestämma höjd

 

4. Lägg till en områdesangivelsen i början av scriptet om du vill bestämma vilken typ av område du vill jobba med, exempelvis:

ingenting (det du markerat manuellt)

Selection.CurrentRegion.select (Ett naturligt avgränsat område, det mest andvändbara)

ActiveSheet (hela det aktuella kalkylbladet)

ActiveSheet.AutoFilter.Range.Select (ditt autofilterområde)

osv osv

 

Public Sub Flumm()
Dim i As Integer
i = 0

'Selection.CurrentRegion.select

Selection.Interior.ColorIndex = xlNone
Selection.Rows.AutoFit

For Each rw In Selection.SpecialCells(xlCellTypeVisible).Rows
i = i + 1
If i Mod 2 = 0 Then rw.Interior.ColorIndex = 12
If i Mod 10 = 0 Then rw.RowHeight = 25
Next rw
End Sub

 

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...