Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: zoeken first naar last  (gelezen 2422 keer)

0 leden en 1 gast bekijken dit topic.

Offline Justaguy

  • Lid
  • *
  • Berichten: 86
  • Wie zoekt, die vindt ... het in Oplossing.be
zoeken first naar last
« Gepost op: 29 mei 2005, 21:55:57 »
Veronderstel dat men verscheidene kolommen heeft met gegevens.
Via een macro wordt gezocht naar het eerste veld met gegevens van de eerste rij en daar wordt bevoorbeeld de naam "First" aan gegeven. Daarna zoeken van het laatste veld met gegevens (end/pijl omlaag) en daar wordt de naam "Last" aan gegeven. Bij deze geen probleem en de macro loopt verder.
Probleem : Indien er maar 1 rij met gegevens beschikbaar is, krijg ik een error. M.a.w. de eerste is ook de laatste rij.
Hoe kan ik bij deze voorkomen dat de macro stopt en toch de macro verder uitvoert?
SYSTEEM: AMD Athlon 1Ghz - 256Mb RAM - Win XP - Office2003 – kabel)

Offline StriKe

  • Ambassadeur
  • *****
  • Berichten: 4.647
  • Geslacht: Man
Re:zoeken first naar last
« Reactie #1 Gepost op: 29 mei 2005, 22:47:55 »
Hallo,

Kun je anders eens even je file posten? Het zou iets makkelijker zijn om dan de reeds bestaande code bij te werken/aan te vullen ;)

Groeten,
StriKe
0T5326 Dell Computer Corporation, GeForce FX Go5200, Windows XP, Prof, SP2, NL, Mobile Intel(R) Pentium(R) 4 CPU 3.06GHz, 512 MB RAM, HDD:97 GB, NTFS, AVG Anti-Virus, Kerio Personal Firewall, Firefox 2.0, The Bat!

Offline LucHeyndrick

  • Volledig lid
  • **
  • Berichten: 217
  • Oplossing.be
Re:zoeken first naar last
« Reactie #2 Gepost op: 30 mei 2005, 08:29:12 »
Hoi Justaguy,

je geeft te weinig informatie.
Ik heb even het probleem trachten na te bootsen.  Ik heb cel A1 de naam First gegeven... en cel A1 de naam Last.
Vervolgens deze macro laten lopen... en dat geeft geen problemen:

Sub test()
    Dim i As Integer
    For i = Range("First").Row To Range("Last").Row
        Cells(i, 2).Value = "Gelukt"
    Next
End Sub

Luc
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline Justaguy

  • Lid
  • *
  • Berichten: 86
  • Wie zoekt, die vindt ... het in Oplossing.be
Re:zoeken first naar last
« Reactie #3 Gepost op: 30 mei 2005, 20:20:31 »
enkel de rijen met gegevens mogen gekopiëerd worden.
Dit is geen probleem zolang er meerdere rijen met gegevens zijn.
Indien echter maar 1 rij gegevens bevat, loopt het mis.
Ofwel krijg ik als laatste geselecteerde rij de laatste rij van excel (>65000).
Anders overschrijf ik de benaming van de 'first' naar 'last' met maar 1 rij en dan geeft de macro een error daar ik met first en last verder werkt en de macro 'first' niet vindt.
SYSTEEM: AMD Athlon 1Ghz - 256Mb RAM - Win XP - Office2003 – kabel)

Offline LucHeyndrick

  • Volledig lid
  • **
  • Berichten: 217
  • Oplossing.be
Re:zoeken first naar last
« Reactie #4 Gepost op: 30 mei 2005, 20:35:06 »
Hoi Justaguy,

Je hebt weer 's een originele manier gevonden om een gebied te kopiëren.
Niet ideaal... maar het getuigd van veel creativiteit  :)

Probeer deze macro eens:

Sub Test2()
    Range("A1").CurrentRegion.Copy _
        Range("G1")
End Sub

Luc
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline Justaguy

  • Lid
  • *
  • Berichten: 86
  • Wie zoekt, die vindt ... het in Oplossing.be
Re:zoeken first naar last
« Reactie #5 Gepost op: 31 mei 2005, 20:44:44 »
Hallo Luc,
misschien heb ik u op een verkeerd spoor gebracht met mijn voorbeeld.
Eigelijk kan het originele bestand uit een reeks rijen en kolommen bestaan. Nu is het de bedoeling dat PER RIJ (en eventueel zonder hoofding) bepaalde gegevens gekopiëerd worden van de ene sheet (=importgegevens) naar een andere sheet (= layout met gegevens op verschillende plaatsen). En daarvoor gebruik ik mijn manier van macro-opbouw betreffende copy :).
Ik maak daar ook gebruik van "Selection.End(xlDown).Select" en daar is het wat fout loopt indien er maar 1 rij met gegevens geïmporteerd is.
Let wel : de eerste rij met gegevens begint daarvoor niet in "A1" en dikwijls staan er ook hoofdingen in een andere rij. Ergens zou de macro er moeten op gewezen worden indien ik op de begindata 'first' sta en er geen verdere gegevens direct daaronder bevinden hij dit veld ook als naamgeving 'last' moet geven.
SYSTEEM: AMD Athlon 1Ghz - 256Mb RAM - Win XP - Office2003 – kabel)

 


www.combell.com