• 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.

Voorwaarde uitvoeren VBA-code

Status
Niet open voor verdere reacties.

Revolutionary

Gebruiker
Lid geworden
1 apr 2009
Berichten
183
Goedemorgen,

Een tijdje geleden heb ik met behulp van de helpers op dit forum een VBA-code opgesteld die een regel van het ene tabblad naar het andere tabblad kopieert zodra er een button wordt ingedrukt. Nu zou ik deze code willen aanvullen, zodat hij alleen wordt uitgevoerd zodra in de betreffende regel de cel in kolom S en de cel in kolom T zijn ingevuld. Zijn deze niet ingevuld dan zou er een messagebox moeten komen.

VBA-code ziet er nu als volgt uit:
Code:
Sub Macro1_Nikkei_Finished()
Dim response As VbMsgBoxResult
If Selection.Column() <> 3 Then
MsgBox "Select a cell in column C and press the button again."
Exit Sub
End If
response = MsgBox("Are you sure you want to move this order to sheet ""Finished""?" & Chr(13) & "This action can not be undone!" & Chr(13) & "Be sure that the cursor is placed on the right place in Column C!", vbYesNo)

If response = vbYes Then
   ActiveSheet.Unprotect
   With ActiveCell
        .Resize(, 28).Copy
        Worksheets("Finished").Range("A65536").End(xlUp).Offset(1).Resize(, 28).PasteSpecial xlValues
        Application.CutCopyMode = False
        .EntireRow.ClearContents
End With
MsgBox "The order has been copied to sheet ""Finished"".", vbOKOnly
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
If response = vbNo Then
    End
End If
End Sub

In de huidige VBA-code zit al een voorwaarde verwerkt zoals jullie kunnen zien, de macro wordt namelijk alleen uitgevoerd zodra een cel in kolom C is geselecteerd. Het maakt mij niet zoveel uit of deze voorwaarde wordt gecombineerd met de andere 2 voorwaarden die ik hiervoor beschreef of dat ze als een aparte voorwaarden worden opgenomen in de VBA-code.

Alvast bedankt voor jullie hulp!

Tim
 
Dit zou het moeten zijn...

Code:
Sub Macro1_Nikkei_Finished()

Dim response As VbMsgBoxResult
If Selection.Column() <> 3 Then
MsgBox "Select a cell in column C and press the button again."
Exit Sub
End If
response = MsgBox("Are you sure you want to move this order to sheet ""Finished""?" & Chr(13) & "This action can not be undone!" & Chr(13) & "Be sure that the cursor is placed on the right place in Column C!", vbYesNo)

If response = vbYes Then
    If Not ActiveCell.Offset(0, 16) = "" And Not ActiveCell.Offset(0, 17) = "" Then
        ActiveSheet.Unprotect
           With ActiveCell
                .Resize(, 28).Copy
                Worksheets("Finished").Range("A65536").End(xlUp).Offset(1).Resize(, 28).PasteSpecial xlValues
                Application.CutCopyMode = False
                .EntireRow.ClearContents
            End With
        MsgBox "The order has been copied to sheet ""Finished"".", vbOKOnly
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Else
        MsgBox "Je waarschuwing hier!"    
    End If
End If
If response = vbNo Then
    End
End If
End Sub
 
Antwoord

haha,
ik was ook al bezig met het script :)
Maar het is al Opgelost zie ik ..

:thumb:
 
Bedankt voor je hulp exhelp:thumb:

Mijn vraag is beantwoord dus ik zet deze topic op opgelost:)
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan