VBA Overschrijven

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Mijn vraag

De vraag was om iets te maken in excel zodat de cijfers uit de ene sheet naar de andere gaan en op de goede plek worden geplaatst. Hieronder staat wat ik van andere sites af heb gehaald. Als ik het programma ga debuggen doet die eigenlijk wat ik wil. Als ik hem probeer te runnen loopt hij helemaal vast.
Heeft iemand een oplossing zodat die niet meer vast loopt en precies doet wat ik wil? (Misschien makkelijkere code dan dit?)

Wat ik al gevonden of geprobeerd heb

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub Overnemen()
Set CurrentCell = Worksheets("").Range("")
Set CurrentCell2 = Worksheets("").Range("")
Set CurrentCell3 = Worksheets("").Range("")
Set CurrentCell4 = Worksheets("").Range("")

Do While Not IsEmpty (CurrentCell)
    Set NextCell = CurrentCell.Offset(1,0)
    Set NextCell2 = CurrentCell.Offset(1,0)
    Set NextCell3 = CurrentCell.Offset(1,0)
    Set NextCell4 = CurrentCell.Offset(1,0)

    If CurrentCell.Value = CurentCell3.Value Then
        CurrentCell2.Value = CurrentCell4.Value
    End If

    Set CurrentCell = NextCell
    Set CurrentCell 2 = NextCell2
    Set CurrentCel3 l = NextCell3
    Set CurrentCell 4 = NextCell4
Loop

End Sub

[ Voor 5% gewijzigd door RobIII op 27-05-2016 13:52 . Reden: Code tags toegevoegd. ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • Bolukan
  • Registratie: Oktober 2002
  • Laatst online: 23-08 23:43
Waar loopt ie vast, wat is de foutcode?
Debug je ver genoeg (met een kleine testsheet) om tegen de fout aan te lopen?

Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
Excel is vrij krachtig en ik vraag me dan af of het niet gewoon mogelijk is met wat goede lookups en een eventuele (hidden) tussentabel. Eerlijk gezegd ben ik zelden problemen tegengekomen die ik niet kon oplossen zonder naar VBA te grijpen. Kan je je probleem beter beschrijven?

Kijkend naar je code heb ik ook niet het vermoeden dat het echt heel erg uitgebreid is?

[ Voor 14% gewijzigd door armageddon_2k1 op 27-05-2016 13:12 ]

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Gebruik voor 't posten van code a.u.b. code tags.

Verder lijkt me dit ook niet helemaal te kloppen:

code:
1
2
3
4
Set NextCell = CurrentCell.Offset(1,0)
Set NextCell2 = CurrentCell.Offset(1,0)
Set NextCell3 = CurrentCell.Offset(1,0)
Set NextCell4 = CurrentCell.Offset(1,0)



Nextcell, Nextcell2, Nextcell3 en Nextcell4 verwijzen nu allemaal naar dezelfde cell? Is je dat niet opgevallen met debuggen :?

Ik verwacht dat je zoiets bedoelt:

code:
1
2
3
4
Set NextCell = CurrentCell.Offset(1,0)
Set NextCell2 = NextCell.Offset(1,0)
Set NextCell3 = NextCell2.Offset(1,0)
Set NextCell4 = NextCell3.Offset(1,0)


Maar erg mooi / efficient is dat niet.

Hetzelfde geldt overigens ook voor:
code:
1
2
3
4
Set CurrentCell = Worksheets("").Range("")
Set CurrentCell2 = Worksheets("").Range("")
Set CurrentCell3 = Worksheets("").Range("")
Set CurrentCell4 = Worksheets("").Range("")

Wat is het nut van 4 variabelen die allemaal dezelfde verwijzing hebben :?

Maar voordat we 't in VBA gaan oplossen zou ik inderdaad eens even goed kijken naar wat armageddon_2k1 in "VBA Overschrijven" zegt.

Tot slot: hanteer in 't vervolg a.u.b. even onze Quickstart bij 't openen van een topic; dan had je vragen als Bolukan in "VBA Overschrijven" voorkomen en misschien al een (zinnig(er)) antwoord gehad i.p.v. dat je na 3 replies nog op 'tzelfde punt zit. We hebben geen glazen bol en kunnen dus niet zien wat er mis gaat ;) (Hoewel we een educated guess kunnen doen...)

[ Voor 30% gewijzigd door RobIII op 27-05-2016 13:54 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij