• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Cel kopiëren aan de hand van bepaalde waarde

Status
Niet open voor verdere reacties.

Meaurk

Gebruiker
Lid geworden
29 jun 2012
Berichten
146
Hallo!

Ik wil graag vanuit cel C10 op blad2 de waarde kopiëren naar de betreffende cel in rij B op blad1 waarin de waardes ingevuld in cel A10 op blad2 overeen moet komen met de waarde van de cel in rij A op blad1. Helaas kom ik er niet uit.

Wie kan mij helpen? :)

Bekijk bijlage voorbeeldje.xlsx


Alvast bedankt!
 
Meaurk,

helaas kom ik niet uit je omschrijving.
Geef eens aan wat er in A10 komt en wat je dan in C10 wilt zien.

Overigens: waarom zijn de cellen A10 en B10 samengevoegd?
 
Haije,

Nu ik het terug lees is het inderdaad een wazige uitleg, sorry daarvoor!
Stel:

Op blad1 staat een complete lijst (in kolom A, B en C) met allerlei gegevens. In kolom B van hetzelfde blad staat de status van de order welke ik kolom A staat. Deze status is dan weer gekoppeld aan voorwaardelijke opmaak met bepaalde kleurcombinaties. (dit is verder niet van toepassing in het voorbeeld bestand)

Op blad2 komt de samengevoegde cel A10 (is A10 en B10) overeen met kolom A van blad1. In cel C10 kun je een keuze maken welke status je de zojuist ingevulde order (in cel A10) wilt geven.


Ik ben dus op zoek naar een macro die de waarde ingevuld in cel A10 op blad2 controleert met de waardes in kolom A op blad1, als de macro dan de overeenkomende waarde heeft gevonden, moet deze de waarde vanuit cel C10 op blad 2 kopiëren naar de betreffende cel in kolom B op blad1.


Als antwoord op je vraag: Op blad2 zijn cellen A10 en B10 samengevoegd omdat in cellen A2 en B2 in het originele bestand twee verschillende waardes staan.

Als er nog vragen zijn, hoor ik het graag!
Alvast bedankt.
 
meaurk,

helpt dit je op weg?
 

Bijlagen

Hoi Haije,

Ik begrijp wat jouw code doet, echter krijg ik het niet voor elkaar om de waarde die in cel C10 (blad 2) komt te staan, te verplaatsen naar de cel naast het zojuist gevonden order nummer op blad 2. Hoe krijg ik dat dan voor elkaar?

De code die ik nu heb kopieert alleen C10, nu moet ik alleen het "plakken in blad1" nog voor elkaar zien te krijgen.
Code:
Sub knop()
x = 1
Order = Range("A10")
meaurk = Range("C10")
With Sheets(1)
Do Until .Range("A1").Offset(x) = ""
If .Range("A1").Offset(x) = Order Then
   Sheets("Sheet2").Range("C10").Copy
    MsgBox "De orderstatus is aangepast."
End If
x = x + 1
Loop
End With
End Sub


Alvast bedankt!
 
Meaurk,

wijzig:
Code:
 Sheets("Sheet2").Range("C10").Copy
eens in:
Code:
.Range("A1").Offset(x, 1) = meaurk.Value
 
Haije,

Excel geeft een foutmelding:
Code:
Run-time error '424':
Object required
Als je op debug klikt, refereert hij naar de zojuist gewijzigde regel.
 
Oeps,

verwijder .Value
 
Toch nog een kleine vraag over bovenstaande code..

Ik heb 'm werkend gekregen in het originele bestand, echter wordt de waarde alleen in blad1 veranderd. In blad 2 en 3 staan dezelfde lijsten. Is dit ook mogelijk met de huidige code?

Code:
Sub ChangeStatus()
vWeetzeker = MsgBox("Are you sure you want to change the status of this order? Please note that this workbook will automatically save itself when an order is changed. THIS ACTION CANNOT BE UNDONE!", vbInformation + vbYesNo, "Confirmation")
  
  If vWeetzeker = vbYes Then

  'Slaat het bestand automatisch op om dubbele regels te voorkomen
        ActiveWorkbook.Save

  'Geeft bepaalde cellen een naam om deze in de VBA te gebruiken
         x = 1
            Order = Range("A10")
                Status = Range("C10")

  'Wijzigt de order status van tabblad 1
    With Sheets(1)

        Do Until .Range("A7").Offset(x) = ""
            If .Range("A7").Offset(x) = Order Then
               .Range("A7").Offset(x, 2) = Status
            End If
        x = x + 1
        Loop
    End With

   'Verwijdert alle gegevens ingevuld in de betreffende cellen.
        Range("A10, C10").Select
        Selection.ClearContents
        
            MsgBox "The order status is changed.", vbInformation, "Order added"
Exit Sub

    Else:   MsgBox "No action is taken.", vbInformation, "No action"
    
End If
End Sub

Alvast bedankt!
 
Meaurk,

probeer dit eens....

Code:
  'Wijzigt de order status van tabblad 1, 2 en 3
for blad = 1 to 3
    With Sheets(blad)

        Do Until .Range("A7").Offset(x) = ""
            If .Range("A7").Offset(x) = Order Then
               .Range("A7").Offset(x, 2) = Status
            End If
        x = x + 1
        Loop
    End With
next blad
 
Bedankt Haije!

Helaas veranderd de waarde nog steeds alleen op blad 1. :(
 
kun je het bestand een plaatsen?
Uiteraard ontdaan van evt "gevoelige" info
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan