Vpis zadnjega podatka

Pomoč pri izdelavi makrov
Odgovori
Nitros
Prispevkov: 3
Pridružen: Ne Apr 26, 2009 12:25 pm

Vpis zadnjega podatka

Odgovor Napisal/-a Nitros »

Zdravo

Rabu bi pomoč pri VBA kodi. Kako bi naisal, da mi ob določenem pogoju

PRIMER

For i = 7 To 152

If ws2.Range("F" & i) < 0 Then
...
poišči zadnjo vpisano vrstico in jo v celoti zbriši

Hvala za odgovor
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Odgovor Napisal/-a cedra »

Nekaj takega...

Koda: Izberi vse

'...
For i = 7 To 152
If ws2.Range("F" & i) < 0 Then 
Range("F65536").End(xlUp).Select
Selection.EntireRow.Delete
end if
'...
Išče zadnjo polno ravno tako v koloni "F"
lp,

cedra
Nitros
Prispevkov: 3
Pridružen: Ne Apr 26, 2009 12:25 pm

hey

Odgovor Napisal/-a Nitros »

hvala za hiter odgovor.

Koda ki ste mi jo napisala, ko jo poženem v VBA deluje, ko pa ji zaženem v Excelu prek Command_button1 pa mi napiše, da nemore prebrati Range.

For i = 7 To 152

If ws2.Range("F" & i) < 0 Then
MsgBox "Zahtevana količina izdaje ni možna"
ws1.Range("B65536").End(xlUp).Select
Selection.EntireRow.Delete

End If
Next

Prilagam kodo.

Mislim, da mi javlja napako zaradi WS1. ws1 pa mam definian kot set ws1=thisworkbook.worksheet(3)

upam, da mi boste lahko razložili v čem je napaka.

hvala za odgovor.
Nitros
Prispevkov: 3
Pridružen: Ne Apr 26, 2009 12:25 pm

dopolnitev

Odgovor Napisal/-a Nitros »

dopolnjujem opis moje napake.

izpiše mi Run-time error '1004'

Metoda Select razreda Range ni uspela

No to je to
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Odgovor Napisal/-a cedra »

Šele zdaj je vidno, da delate z dvema različnima listoma :( To brez, da napišete ne morem vedeti...Včasih je boljše, da napišete malo več kot manj. Popravek kode:

Koda: Izberi vse

'...
Set ws2 = ThisWorkbook.Sheets(2)
Set ws1 = ThisWorkbook.Sheets(1)
'...
For i = 7 To 152
    If ws2.Range("F" & i) < 0 Then
    MsgBox "Zahtevana količina izdaje ni možna"
ws1.Select
    Range("B65536").End(xlUp).Select
    Selection.EntireRow.Delete
End If
Next i
'...
Zdaj pa bo verjetno šlo!
lp,

cedra
Odgovori