Results 1 to 7 of 7

Thread: Display a message if already saved data

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Junior Member
    Join Date
    Dec 2020
    Posts
    10
    Rep Power
    0
    Quote Originally Posted by DocAElstein View Post
    Hello Abdul
    I probably have not understood exactly what you want.
    But you may be able to adapt the following macros to exactly what you want
    Thanks for your quick response, First of all please forgive. I think it is better to explain what i want instead of VBA. Sorry for that.

    My goal is
    1) Save the data from Test Sheet to Result Sheet.

    2) Before saving the data I want to display a message "Do you want to save your Result, If once submitted can't be edited", vbYesNo + vbQuestion + vbDefaultButton2, "Save Result")
    If Yes then save the data and display message as "Your Result is submitted successfully. You have secured Total Marks is " & Sheets("Test").Range("J4").Value
    If No. display a message "Your Data not saved, you can make correction if you want then submit again"

    3) If Reg. No. already saved in column C of the Result sheet is same as Reg. No. D3 of the Test sheet, then I want to alert message as "Register Number " & FindWhat & " is already submitted Test at " & Sheets("Test").Range("J6").Value & ". It can't be edited or modified. You have already secured " & Sheets("Test").Range("J5").Value & " marks."
    Then back to Test Sheet.
    Please check my New attached Sheet. I think my VBA code in this sheet is not properly aligned.
    Attached Files Attached Files
    Last edited by DocAElstein; 01-26-2021 at 12:27 AM.

  2. #2
    Fuhrer, Vierte Reich DocAElstein's Avatar
    Join Date
    Aug 2014
    Posts
    9,521
    Rep Power
    10
    Hello Abdul
    I don’t think I really understand what help it is that you are asking for now?



    Quote Originally Posted by Abdul View Post
    ... I think my VBA code in this sheet is not properly aligned.

    I don’t understand what are you trying to say?

    Your coding is a bit untidy. But that is personal choice. You can choose how you want to write your code
    This is yours
    Code:
     Sub TestPaper()
      
    Dim FoundCell As Range
    Dim FindWhat As String
        FindWhat = Worksheets("Test").Range("D3").Value
        Set FoundCell = Worksheets("Result").Range("C:C").Find(What:=FindWhat, LookAt:=xlWhole)
        
        If Not FoundCell Is Nothing Then
            MsgBox "Register Number " & FindWhat & " is already submitted Test at " & Sheets("Test").Range("J6").Value & ". It can't be edited or modified. You have already secured " & Sheets("Test").Range("J5").Value & " marks."
    Exit Sub
    End If
    
    
    Dim x As Long
    Dim y As Worksheet
    Set y = Sheets("Result")
    
    Dim Answer2 As VbMsgBoxResult
        Answer2 = MsgBox("Do you want to save your Result, If once submitted can't be edited", vbYesNo + vbQuestion + vbDefaultButton2, "Save Result")
        If Answer = vbYes Then
    Else
    
    x = Sheets("Result").Range("B" & Rows.Count).End(xlUp).Row
    With y
    
    Sheets("Test").Range("D2:D4").Copy
    .Range("B" & x + 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Transpose:=True
    .Cells(x + 1, 6).Value = Sheets("Test").Range("J2").Value
    .Cells(x + 1, 5).Value = Sheets("Test").Range("J4").Value
    Sheets("Test").Range("L4:AZ4").Copy
    .Range("G" & x + 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
    Sheets("Test").Range("L5:AZ5").Copy
    .Range("Q" & x + 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
    
    With Sheets("Result").Range("A2:Z100" & x)
        .Borders(xlEdgeLeft).LineStyle = xlNone
        .Borders(xlEdgeRight).LineStyle = xlNone
        .Borders(xlEdgeTop).LineStyle = xlNone
        .Borders(xlEdgeBottom).LineStyle = xlNone
        .Borders(xlInsideVertical).LineStyle = xlNone
        .Borders(xlInsideHorizontal).LineStyle = xlNone
    End With
    
    With Sheets("Result").Range("A3:A" & x + 1)
        .Formula = "=Row() - 2"
        .Value = .Value
        
    With Sheets("Result").Range("A2:Z" & x + 1)
        .BorderAround xlContinuous
        .Borders(xlInsideHorizontal).LineStyle = xlContinuous
        .Borders(xlInsideVertical).LineStyle = xlContinuous
    End With
    End With
    End With
    
    
    MsgBox "Your Result is submitted successfully. You have secured Total Marks is " & Sheets("Test").Range("J4").Value
    
    ActiveWorkbook.Save
    
    'MsgBox "Your Data not saved, you can  make correction if  you want then submit again"
    Exit Sub
    End If
        
    End Sub
    This would be mine ( one small note: you had one obvious error Answer instead of Answer2 )

    Code:
     Option Explicit
    Sub TestPaper()
    Dim FoundCell As Range
    Dim FindWhat As String
     Let FindWhat = Worksheets("Test").Range("D3").Value
     Set FoundCell = Worksheets("Result").Range("C:C").Find(What:=FindWhat, LookAt:=xlWhole)
        If Not FoundCell Is Nothing Then
         MsgBox "Register Number " & FindWhat & " is already submitted Test at " & Sheets("Test").Range("J6").Value & ". It can't be edited or modified. You have already secured " & Sheets("Test").Range("J5").Value & " marks."
         Exit Sub
        Else
        End If
    Dim x As Long
    Dim y As Worksheet
     Set y = Sheets("Result")
    Dim Answer2 As VbMsgBoxResult
     Let Answer2 = MsgBox("Do you want to save your Result, If once submitted can't be edited", vbYesNo + vbQuestion + vbDefaultButton2, "Save Result")
        If Answer2 = vbYes Then
        
        Else
         Let x = Sheets("Result").Range("B" & Rows.Count).End(xlUp).Row
            With y
             Sheets("Test").Range("D2:D4").Copy
             .Range("B" & x + 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Transpose:=True
             .Cells(x + 1, 6).Value = Sheets("Test").Range("J2").Value
             .Cells(x + 1, 5).Value = Sheets("Test").Range("J4").Value
             Sheets("Test").Range("L4:AZ4").Copy
             .Range("G" & x + 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
             Sheets("Test").Range("L5:AZ5").Copy
             .Range("Q" & x + 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
            End With
            With Sheets("Result").Range("A2:Z100" & x)
             .Borders(xlEdgeLeft).LineStyle = xlNone
             .Borders(xlEdgeRight).LineStyle = xlNone
             .Borders(xlEdgeTop).LineStyle = xlNone
             .Borders(xlEdgeBottom).LineStyle = xlNone
             .Borders(xlInsideVertical).LineStyle = xlNone
             .Borders(xlInsideHorizontal).LineStyle = xlNone
            End With
            With Sheets("Result").Range("A3:A" & x + 1)
             .Formula = "=Row() - 2"
             .Value = .Value
            End With
            With Sheets("Result").Range("A2:Z" & x + 1)
             .BorderAround xlContinuous
             .Borders(xlInsideHorizontal).LineStyle = xlContinuous
             .Borders(xlInsideVertical).LineStyle = xlContinuous
            End With
         MsgBox "Your Result is submitted successfully. You have secured Total Marks is " & Sheets("Test").Range("J4").Value
         ActiveWorkbook.Save
         'MsgBox "Your Data not saved, you can  make correction if  you want then submit again"
         Exit Sub
        End If
    End Sub
    Note: I have not full tested or checked your coding because I do not understand what you want.
    The test data you gave does not fully test the coding because with your test data you are in situation …..3) If Reg. No. already saved in column C of the Result sheet is same as Reg. No. D3 of the Test sheet, then I want to alert message as "Register Number " & FindWhat & " is already submitted Test at " & Sheets("Test").Range("J6").Value & ". It can't be edited or modified. You have already secured " & Sheets("Test").Range("J5").Value & " marks."……



    If you want any more help, then I think you will need to explain better what help you want.


    Alan
    Last edited by DocAElstein; 01-26-2021 at 02:32 AM.

  3. #3
    Junior Member
    Join Date
    Dec 2020
    Posts
    10
    Rep Power
    0
    Quote Originally Posted by DocAElstein View Post
    This would be mine ( one small note: you had one obvious error Answer instead of Answer2 )
    Once again thanks for you guidance and your patience. Your suggestion "one small note: you had one obvious error Answer instead of Answer2" this has helped me to solve my problem.
    Thanks once again Alan Sir..........
    If you are interested check my file..
    Attached Files Attached Files
    Last edited by DocAElstein; 01-26-2021 at 05:57 PM.

Similar Threads

  1. Replies: 5
    Last Post: 09-16-2016, 12:57 PM
  2. Replies: 0
    Last Post: 07-07-2013, 01:52 AM
  3. Replies: 2
    Last Post: 07-02-2013, 02:36 PM
  4. Display sheet names in a message box
    By pells in forum Excel Help
    Replies: 4
    Last Post: 02-13-2013, 07:33 PM
  5. Display numbers in Lakhs
    By Prabhu in forum Excel Help
    Replies: 1
    Last Post: 01-29-2012, 02:18 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •