Elke cel -2...

Status
Niet open voor verdere reacties.

Morsyd

Gebruiker
Lid geworden
25 dec 2007
Berichten
165
Hallo,
ik heb een korte code nodig om elke cel in kolom C -2 te doen...
Ooit was ik goed in vba maar al tijdje niet meer gebruikt,
mijn code die ik nu schreef werkt niet meteen en ik vroeg me af of jullie me kunnen helpen.
merci!
Code:
Sub AanpassingNummer()
Dim x As Integer
Dim Rij As Integer
Sheets("Datalog").Activate
Rij = 3
x = Range("C" & Rij).Value
If Range("C" & Rij).Value = "" Then
  x = x - 2
  Range("C" & Rij).Value = x
  Rij = Rij + 1
Else
End If
End Sub
 
Wanneer er nu in cel C3 een waarde staat zal deze macro niets doen.
Waar wil je precies iets doen?
 
Wel, in cel C3 staat een waarde
en in cel C4 ook, cel C5 ook, ...
en al die waardes moeten -2 worden gedaan
stel in C3: 23, dan moet dit 21 worden
stel in C4: 24: dan moet dit 22 worden
en het mag niet gebeuren aan de hand van een =C3-2 formule
wel door een macro, als je op een knop drukt dan moeten alle waarden in kolom C -2 worden gedaan.
Mijn geschreven script overliep elke cel tot hij een lege cel in kolom C tegenkwam en dan stopte de macro... althans, dat wou ik, maar hij werkte dus niet...
snap je?
 
probeer dit eens

Sub AanpassingNummer()
Dim x As Integer
Sheets("Datalog").Activate

For Each c In Range("C:C").Cells

'~~beginnen vanaf rij 3~~
If c.Row > 2 Then

'~~als de waarde ongelijk is aan niets, en de gevonden waarde is nummeriek dan....~~
If c.Value <> "" And IsNumeric(c.Value) = True Then
x = c.Value
x = x - 2
c.Value = x
Else
'~~Als de cel leeg is dan uit de for each stappen (stoppen dus)~~
If c.Value = "" Then Exit For
End If

End If


Next c
End Sub
 
Code:
Sub wijzig()
  for each cl in columns(3).specialcells(xlcelltypeconstants)
    if isnumeric(cl.value) then cl.value=cl.value-2
  Next
End sub
 
Hartelijk dank!
En nu misschien nog een extra vraagje, is het mogelijk om de knop waar deze macro aanhangt te doen verwijderen/verbergen nadat 1x op deze knop is gedrukt?
Het is een knop die gewoon in het excel-sheet staat, dus niet in een userform ofzo.
 
zet in dezelfde sub als laatste regel

CommandButton1.Visible = False

hmmm... de knop staat niet in een usersform, dus heeft de knop toch ook geen naam?
het is gewoon een knop waaraan de macro is geplakt
dus lukt dit volgens mij niet
bij testen krijg ik inderdaad een foutmelding...
 
waar heb je em aangeplakt?

Heb je gewoon een button in een werkbalk geplaatst?
Dat gaat niet werken voor iedereen, dan is die button alleen voor jou beschikbaar.

Of heb je via de werkbalk visual basic een knop geplaatst? Een commandbutton, dan kun je in de eigenschappen de naam opvragen.
 
hoe dan? als ik "eigenschappen" probeer krijg ik de eigenschappen van het sheet waarin ik werk.
als ik rechtermuisknop doe op men commandbutton dan vind ik daar ook geen eigenschappen
(ik gebruik vista)
 
eerst moet duidelijk zijn waar je je macro gebruikt, in een knop op de knoppenbalk?

of gebruik je een commandbutton in het werkblad zelf?
 
in de ontwerpweergave gaan staan, met je rechtmuisknop op de button klikken,
Eigenschappen, daar zie je Name, met daarachter de naam van het besturingselement
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan