Kezdőoldal » Számítástechnika » Programozás » VBA excel segítség?

VBA excel segítség?

Figyelt kérdés

Ez csak egy tesztelés még, de belinkelem amit eddig készítettem:


Private Sub worksheet_change(ByVal Target As Range)


x = 1


If Cells(x, 4) <> Empty Then

With Cells(x + 1, 4).Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Cells(x + 1, 4).Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Cells(x + 1, 4).Borders(xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

ElseIf Cells(x, 4) = Empty Then

Cells(x + 1, 4).Borders(xlEdgeLeft).LineStyle = xlNone

Cells(x + 1, 4).Borders(xlEdgeBottom).LineStyle = xlNone

Cells(x + 1, 4).Borders(xlEdgeRight).LineStyle = xlNone

End If


End Sub


A lényege az, hogy adott egy bekeretezett cella. Ha azt kitöltöm, akkor a bekeretezett cella alatt megjelenik egy újabb bekeretezett cella.

Azt viszont nem tudom hogyan kell megoldani, hogy ez automatikusan történjen akár a "végtelenségig", magyarul hogyha a második cellába (ami létrejött ez alapján) újabb adat kerül, akkor egy további harmadik bekeretezett cella jelenlen meg, és így tovább.


Szóval az x=1 helyére kéne nekem valami olyan cilus, amely megtalálja mindig a legutolsó sort.



2012. máj. 8. 17:17
 1/2 anonim ***** válasza:

Szia!


Nem szükséges ciklus nagyon egyszerűen meg lehet oldani, csak az x helyére berakjuk azt, hogy melyik sorba írtuk be az adatot:


Private Sub Worksheet_Change(ByVal Target As Range)


x = Target.Row


If Cells(x, 4) <> Empty Then

With Cells(x + 1, 4).Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Cells(x + 1, 4).Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Cells(x + 1, 4).Borders(xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

ElseIf Cells(x, 4) = Empty Then

Cells(x + 1, 4).Borders(xlEdgeLeft).LineStyle = xlNone

Cells(x + 1, 4).Borders(xlEdgeBottom).LineStyle = xlNone

Cells(x + 1, 4).Borders(xlEdgeRight).LineStyle = xlNone

End If


End Sub

2012. máj. 9. 08:56
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:
Ez nagyon nagy segítség volt! Köszönöm!
2012. máj. 9. 13:09

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!