Toon posts:

[vb & excel] naar record

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb eigenlijk een simpele vraag maar heb het antwoord nergens gevonden, zal wel een eitje zijn. Ik heb een Excelsheet met de volgende colom:

rij A

1 hallo
2 dit
3 moet
4
5
6 allemaal
7 geselecteerd
8 worden
9
...
...

Van die rij moet vanaf A1 t/m het laatste veld geselecteerd worden. Dus in dit geval van A1 t/m A8. Ik moet namelijk tellen hoeveel regels er zijn voor een lus.

Met de regel Selection.CurrentRegion.Rows.Count geeft het resultaat 3 weer.

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 22:17

mulder

ik spuug op het trottoir

Dan zou ik van A[MaxCount] naar A[0] gaan lopen totdat je een niet lege cell tegenkomt.

oogjes open, snaveltjes dicht


  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

tja.. currentregion methode "stopt" wanneer deze in een rij een lege cel tegen komt (wanneer geselecteerde cel maar van 1 kolom is) .. de kolom ernaast ( B ) .. staat die wel vol op posities 4 en 5?

Verwijderd

Topicstarter
Don Facundo: MaxCount moet ik zeker zelf verzinnen niet? Hij geeft nl 0 aan

Henkleerssen: zelfde ellende... de witregel is over de hele rij

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 22:17

mulder

ik spuug op het trottoir

Verwijderd schreef op 22 oktober 2002 @ 16:45:
Don Facundo: MaxCount moet ik zeker zelf verzinnen niet? Hij geeft nl 0 aan

Henkleerssen: zelfde ellende... de witregel is over de hele rij
Yup, of even kijken naar de max van het aantal rows in Excel zelf. (655535 of iets dergelijks). Maar zelf een ruime buffer nemen is aan te raden :)

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
kan ik ook zoiets doen als zoeken totdat je "EOF" tegenkomt?

Ik ken eigenlijk alleen maar java dus laat ik het zo even uitleggen

----
String dummy = "";
int aantalRijen = 0;

for (int i; dummy != "EOF"; i++) {

aantalRijen = i;

}
----

Verwijderd

Topicstarter
Oke, in een visual beginnetje dan:

Dim dummy As String, aantalRijen As Int, i As int
aantalRijen=0
i = 0

for aantalRijen (???? dummy != "EOF" ????)


Next aantalRijen

----
ARGH lastig.... voel me echt een newbie ;)

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
Ik heb eens iets gedaan met een excel-object en toen was het iets van ..range. Zal morgen op het werk even kijken

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

hee.. je zegt dat over de hele lengte van kolommen de hele rij leeg is.. is er wat op tegen om deze te deleten? ZO ja dan kun je onderstaande eens proberen:

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
Function DeleteEmptyRows(AmountRows As Integer) As Boolean
'on basis of emptiness of first column
Dim iRow As Integer

For iRow = AmountRows To 1 Step -1
    If ActiveSheet.Range("A" & iRow).Value = "" Then
        Rows(iRow & ":" & iRow).Delete Shift:=xlUp
    End If
Next

End Function

waarbij AmountRows het maximale aantal rijen is... er wordt op kolom A gecheckt op leeg ...
Na het runnen van de functie .. werkt de currentregion methode wel gewoon...

  • FastWallie
  • Registratie: September 2001
  • Laatst online: 25-11-2024
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub Macro1()
Dim concatstr As String

    Range("a1").Select
    Set a = ActiveCell
    ActiveCell.SpecialCells(xlLastCell).Select
    Set b = ActiveCell
     
    Set parentRange = Worksheets("Sheet1").Range(a, b)
    
    Range("a1").Select
    Set a = ActiveCell
    concatstr = ""
    For i = a.Row To b.Row
      If (Range("A" & i).Value <> "") Then
        concatstr = concatstr & " " & Range("A" & i).Value
      End If
    Next i

Range("b1").Value = concatstr

End Sub

http://www.jawal.nl

Pagina: 1