Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: [Excel] Znalezc w kolumnie arkusza pierwsza pusta komorke.
Mroowek




Typ: neutral
Postów: 51
Zarejestrowany: Feb 2005
[Excel] Znalezc w kolumnie arkusza pierwsza pusta komorke.

Jest jakas prosta metoda na znalezienie pierwszej niezapisanej komorki???

Zrobilem to tak:

Public Function fPodajOstatni(Arkusz As String, NrKolumny As Integer, NrPoczatku As Integer) As Integer
    While Worksheets(CStr(Arkusz)).Cells(NrPoczatku, NrKolumny) <> ""
        NrPoczatku = NrPoczatku + 1
    Wend
    fPodajOstatni = NrPoczatku
End Function
Sub Msg()
    Dim NrWiersza as Integer
    NrWiersza = Funkcja.fPodajOstatni("sale", 1, 2)
    MsgBox NrWiersza
End Sub


Bardzo lopatologiczne no i dziala, ale tak mysle czy nie ma jeszcze jakiegos prostszego sposobu, polecenia...
O wlasnie! Jak latwo zauwazyc, przy wywolaniu funkcji trzeba podac numer kolumny... co zrobic aby podawac litere?

Pozdrowionka

PS. Wszelkie slowa krytyki co do listingu mile widziane

[Post edytowany dnia 28-02-2005 22:51 przez Mroowek]

28-02-2005 22:13
Pokaż profil Mroowek  Wyślij email do Mroowek        4892300
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

Sposobów jest kilka, a wszystko zależy od tego, co warunkuje podawanie numeru pierwszej pustej komórki w kolumnie.


Sub trelemorele()
Dim wiersz As Long

wiersz = PierwszyPusty_1
Cells(wiersz, 1).Activate
MsgBox wiersz

wiersz = PierwszyPusty_2
Cells(wiersz, 1).Activate
MsgBox wiersz


wiersz = PierwszyPusty_3
Cells(wiersz, 1).Activate
MsgBox wiersz

End Sub

Function PierwszyPusty_1() As Long
    PierwszyPusty_1 = ActiveSheet.UsedRange.Cells.Count + 1
End Function

Function PierwszyPusty_2() As Long
    PierwszyPusty_2 = ActiveSheet.UsedRange.End(xlDown).Row + 1
End Function

Function PierwszyPusty_3() As Long
Dim i As Long

Do
    i = i + 1
Loop While ActiveSheet.Range("A" & i) <> ""
   
    PierwszyPusty_3 = i

End Function


Zauważ, że funkcje zwrócą Ci różne wyniki, jeśli w badanym zakresie będą wiersze z formułami (np.: JEŻELI(warunek,jak_prawda,"". Wtedy pierwszym pustym wierszem będzie ostatni wiersz bez formuły.
Jeśli użyjesz sposobu podanego przez siebie, pierwszy pusty będzie - pierwszy pusty

Wniosek:
Własna funkcja jest najlepsza!

[Post edytowany dnia 28-02-2005 23:14 przez losmac]


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

28-02-2005 23:13
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
Mroowek




Typ: neutral
Postów: 51
Zarejestrowany: Feb 2005

Dziekuje losmac za szybką odpowiedź. Spodobal mi sie szczegolnie wniosek, który wysnułeś na końcu. Dzięki

28-02-2005 23:21
Pokaż profil Mroowek  Wyślij email do Mroowek        4892300
Wszystkich odpowiedzi: 2 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1