< návrat zpět

MS Excel


Téma: Poslední obsazený sloupec z určité oblasti rss

Zaslal/a 8.4.2019 21:33

Ahoj,

poradí prosím někdo, jak pomocí cells vyhledat poslední obsazený sloupec v určité oblasti? (např. A2:AZ2)

rc = .Cells(n, Columns.Count).End(xlToLeft).Column

PS: ani s pomocí range mi bohužel nejde vymezit prohledávanou oblast

tento kód mi vrací hodnotu 4 i když mám oblast omezenu na A2:C2 (neprázdné buňky jsou A2, B2, C2, D2)

alfa = Range("A2:C2").End(xlToRight).Column

díky moc

Zaslat odpověď >

#043116
avatar
xlToRight: z poslední pozice doprava to nic asi nenajde. Ten první vzorec vypadá správně, jen co je v n? Toto mi funguje ok:
cislo_posl_sl = Cells(2, Columns.Count).End(xlToLeft).Columncitovat
#043118
elninoslov
Ale on nechce celý riadok, ale len oblasť. Na ohraničenú oblasť funguje takéto niečo:
Public Function PoslednaBunka(Oblast As Range) As Range
Dim Bunka As Range

Set Oblast = Oblast.Areas(1).Rows(1)
Set Bunka = Oblast.Cells(Oblast.Cells.Count)

If Not IsEmpty(Bunka) Then
Set PoslednaBunka = Bunka
Else
Set PoslednaBunka = Oblast.Find(What:="*", After:=Bunka, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False)
End If
End Function

Vyberie si prvú Area (podoblasť v prípade multivýberu) a jej prvý riadok. A tam zistí poslednú vyplnenú bunku. Ak nieje žiadna vyplnená tak Nothing. Myslím, že na toto ste sa pýtal.citovat
#043166
avatar
Nakonec jsem to vyřešil jiným způsobem:

rc = .Cells(n, 50).End(xlToLeft).Column ' omezení na sloupec číslo 50 (AX)

každopádně děkuji za pomoc 1citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura III

Oblíbený formulář Faktura byl vylepšen a rozšířen. Formulář faktura III
Více se dočtete zde.

Aktivní diskuse