Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Count između dve prazne ćelije

[es] :: Office :: Excel :: Count između dve prazne ćelije

[ Pregleda: 730 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sergiles
student

Član broj: 235130
Poruke: 24
195.66.69.*



Profil

icon Count između dve prazne ćelije14.03.2023. u 13:06 - pre 13 meseci
Zdravo,

kad izvučem neki dokument imam sledeće podatke:
Ćelija A1 je prazna, zatim moram imati 7 popunjenih ćelija sa različitim podacima (A2:A8),
zatim A9 opet mora biti prazna i td.
To je sekvenca koja je izvučena iz portala i tako mora biti. Dakle sadržaj bloka je prazno:7podataka:prazno
Međutim desi se neka greška na portalu pa u koloni A imam blok koji sadrži prazno:6podataka:prazno

neki kod u VBA sam pokušao da napišem i dobijem poruku da je došlo do greške. Ono što mi treba je da kada nađe tu grešku da u tom redu doda još jedan red i tu upiše slovo, datum...šta god.

Da li neko može da pomogne oko toga?

Hvala.
Prikačeni fajlovi
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2268
89.216.49.*

Sajt: www.gowi.rs


+109 Profil

icon Re: Count između dve prazne ćelije15.03.2023. u 11:40 - pre 13 meseci
Nisam razumeo ovo što si počeo, pa sam pisao novi kod. Uglavnom proverava se prva kolona po blokovima od 9 ćelija. Dodao sam posebnu funkciju kojaproverava da li je (jedan) blok ispravan
Code:
Option Explicit

Private Function CheckBlock(block As Range) As Boolean
' Check range of 9 cells
' First and last cell is empty
' Other cells are not empty
    Dim cell As Variant
    Dim index As Integer
    Dim result As Boolean
    index = 0
    result = True
    For Each cell In block
        index = index + 1
        If index = 1 Or index = 9 Then
           result = result And IsEmpty(cell.Value)
        Else
           result = result And Not (IsEmpty(cell.Value))
        End If
    Next cell
    CheckBlock = result
End Function
Sub CheckColumnA()
  ' Check column block by block
  ' Blocks are separated by empty cell
  ' Each block is 7 rows long
  Const col As Integer = 1 ' Column to check
  Dim stopRw As Long, rw As Long
  Dim sh As Worksheet
  Dim block As Range
  ' Get Last row
  Set sh = ThisWorkbook.ActiveSheet ' Worksheet to check
  stopRw = sh.Cells(sh.Rows.Count - 1, 1).End(xlUp).Row
  
  'Loop block by block
  For rw = 1 To stopRw Step 8
    Set block = sh.Cells(rw, col).Resize(rowSize:=9)
    If Not CheckBlock(block) Then
        MsgBox "Invalid block" & sh.Cells(rw, col).Resize(rowSize:=9).Address, vbOKOnly, "Greška"
        Exit For
    End If
  Next rw


Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Prikačeni fajlovi
 
Odgovor na temu

sergiles
student

Član broj: 235130
Poruke: 24
195.66.69.*



Profil

icon Re: Count između dve prazne ćelije15.03.2023. u 14:37 - pre 13 meseci
Zdravo,

probao sam...u sustini to je ono što mi treba.

Pokušaću da prostudiram tvoj kod kako bi nešto naučio, ako mi uspe.

hvala puno i pozdrav,
 
Odgovor na temu

[es] :: Office :: Excel :: Count između dve prazne ćelije

[ Pregleda: 730 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.