2016-07-14 6 views
-2

Ich bin neu in VBA Macro. Es gibt eine Liste von Schritten, die befolgt werden müssen, um ein Projekt einzureichen, und jeder Schritt hat ein Kontrollkästchen in der angrenzenden Zelle. Ich möchte den Wert anzeigen, wenn ein Kontrollkästchen nicht aktiviert ist. Ich habe keinen Code geschrieben. Ich bin neu in diesem Bereich. Brauche Hilfe.Wie können wir den Wert des benachbarten Zellenwerts anzeigen, wenn das Kontrollkästchen deaktiviert ist?

enter image description here Ja, ich möchte die Message-Box verwenden, um den Wert der Zelle nach dem Klicken auf die Schaltfläche zum Senden, wie im Snapshot gezeigt, deaktiviert anzuzeigen.

Ich schrieb dieses Modul, aber es ist lang.

Sub AllChecked() 

    If Range("d3").Value = 18 Then 
     MsgBox "Project ready for upload" 
    End If 
    If Range("c3").Value = False Then 
     MsgBox "Please review the cover sheet" 
    End If 
    If Range("c4").Value = False Then 
     MsgBox "Please review the processor's notes" 
    End If 
    If Range("c5").Value = False Then 
     MsgBox "Please Review the project map" 
    End If 
    If Range("c6").Value = False Then 
     MsgBox "Please Check the orientation" 
    End If 
    If Range("c7").Value = False Then 
     MsgBox "Please Check for missing data" 
    End If 
    If Range("c8").Value = False Then 
     MsgBox "Please Check for illegal movements" 
    End If 
    If Range("c9").Value = False Then 
     MsgBox "Analyze the data in 2 to 3-hour increments as well as 15-minute increments" 
    End If 
    If Range("c10").Value = False Then 
     MsgBox "Please check the date of collection" 
    End If 
    If Range("c11").Value = False Then 
     MsgBox "Please Check for abnormal peaks or valleys in the datasets" 
    End If 
    If Range("c12").Value = False Then 
     MsgBox "Please give spot checks if necessary" 
    End If 
    If Range("c13").Value = False Then 
     MsgBox "Make small adjustments if necessary" 
    End If 
    If Range("c14").Value = False Then 
     MsgBox "Please checking historical data if it exists" 
    End If 
    If Range("c15").Value = False Then 
     MsgBox "Please Check for the diffrent templets as per the project series" 
    End If 
    If Range("c16").Value = False Then 
     MsgBox "Please Make note for extra leg (include/exclude)" 
    End If 
    If Range("c17").Value = False Then 
     MsgBox "Before removing the side walk from peds count check the rotation and coversheet if client required or not" 
    End If 
    If Range("c18").Value = False Then 
     MsgBox "Sketches? (Always for the 3000 jobs,some with requested Project)(review the processer sketches)" 
    End If 
    If Range("c19").Value = False Then 
     MsgBox "Check for data patterns in the datasets for two successive intervals having same total volume and each movement has similarities etc" 
    End If 
    If Range("c20").Value = False Then 
     MsgBox "Check for data patterns in the datasets for two successive intervals having same total volume and each movement has similarities etc" 
    End If 

End Sub 
+1

Zeigt eine Meldung wo/wann? –

+0

Wir können Ihnen viel mehr helfen, wenn Sie den Code posten, den Sie versucht haben, damit dies funktioniert. Ansonsten ist es sehr vage. –

+0

Wo und wann möchten Sie die Nachricht anzeigen? (d. h. Möchten Sie eine msbox verwenden? Welches Ereignis möchten Sie als Auslöser verwenden, um die Nachricht anzuzeigen? etc) –

Antwort

1

Sie können durch Range("C3:C20") Schleife die Werte testen und die Nachricht erstellen. Auf diese Weise haben Sie nur eine Msgbox.

Sub AllChecked() 

    Dim msg As String 
    Dim c As Range 
    If Range("d3").Value = 18 Then 
     MsgBox "Project ready for upload" 

    Else 
     For Each c In Range("C3:C20") 
      If c.Value = FASLE Then msg = msg & c.Offset(0, -1).Value & vbCrLf 
     Next 
     MsgBox msg, vbInformation, "Fill in these fields before continuing" 
    End If 


End Sub 
+0

Vielen Dank Thomas Inzina. – aspan88

Verwandte Themen