- the worksheet is protected with blank, It seems that others have successfully opened this file, so what am I doing wrong? All free, fun and fantastic. This isn't the fastest solver, but we like watching it think. While opening the Sudoku application, Excel will ask you whether to enable or disable the macros. Skills: VB.NET. Sudoku is a very famous number based puzzle with a 9×9 grid of cells. Get a free copy of Project Management Bundle, Prevent Duplicate Data Entry using Cell Validations, Click here to download the sudoku solver workbook, Simulate Monopoly board game to find best places to buy, Generating Bingo / Housie Tickets with Excel, Image Lookup – How-to show dynamic picture in a cell [Excel Trick], 9 Box grid for talent mapping – HR for Excel – Template & Explanation, 6 Must Know Line Chart variations for Data Analysis, Show difference between cells in status bar – VBA Example, Play spreadsheet soccer with Excel Penalty Game [VBA], Rescue oddly shaped data – Battle between Formulas, VBA and Power Query, Sand Pendulums – Lissajous Patterns in Excel, http://www.opensky.ca/~jdhildeb/software/sudokugen/, http://www.cijoint.fr/cjlink.php?file=cj200910/cij9dWRCr1.xls, Check if any row, column or 3×3 block has ‘n’ cells such that, (n>1), All possible values in those ‘n’ cells are exactly ‘n’ unique values, Remove the occurrences of the ‘n’ unique values from remaining cell’s possible’s list in that row / column / 3×3 grid. Open a new workbook. Please go to http://www.sudexel.com/sudokuxls VBA-Excel: Change Font, Color, Weight of Table Data in the Word document, VBA-Excel: Modified Consolidator – Merge or Combine Multiple Excel Files Into One Where Columns Are Not In Order. Sudoku. One tricky feature to mention: you start with an empty OE-grid, which actually is a vanilla grid then check "BruteForce" and press "All Steps", now the grid is full then in cell X3 (excel row 3, below the OE grid position) place "OE" then press "Paint" and … But the macro stops after 10 iterations. Learn & be awesome. Sudoku is a 9x9 grid. excel-vba documentation: Ways to refer to a single cell. For changing your security setting, do the following: 6) Excel Tutorial Online. I used mainly Excel Functions and just a little VBA to make it work. Thanks to: Indiana University Knowledge Base. Send Mail With Link to a Workbook, From MS Outlook using Excel. And if you are interested in writing your own sudoku solver, here is a basic algorithm: Simple, fun and useful emails, once per week. there are a multitude of grids with the same relations Read my story • FREE Excel tips book. With that in mind, suppose in an Excel spreadsheet, you create a grid as shown in Fig. - Permutations digit numbers Regards, Only works for simple puzzles. that is to say: Excel-VBA : Open a Excel File using Another Excel File using Browse Option. It's all here. Check if any cell has more than one possible value. Steps: Open a new WorkBook; Create a SUDOKU template; Create a Button; Copy Paste the Complete Code; Press the button till the SUDOKU is solved. VBA-Excel: Create or Add Worksheets at the Run time. and thanks for the link to sudoku generator. If Excel does not ask you whether to enable macros and automatically disables it on opening the file, it means your macro security setting is set on "High". Is there an excel sudoku creator, my mother in law can't stop doing them and buying books is expensive? The simplest way to refer to a single cell on the current Excel worksheet is simply to enclose the A1 form of its reference in square brackets: After doing a version of the program to deal with 9x9 (classic) Sudokus, I also adapted the code to solve Samurai Sudoku (5 overlapping 9x9 grids). One email per week with Excel and Power BI goodness. Sudoku Generator And Solver Desktop Liberation by ramblings.mcpher.com. If you like these Sudoku puzzle grids, then feel free to share the PDF version with your friends. Dear Arnold, It includes comfort playing with undo steps and powerful Sudoku generator with different difficulty levels. 1) Just as I did this, I was pretty much interested in creating an excel that could generate SUDOKU puzzles. Click here to download the sudoku solver workbook. There are more than 1,000 pages with all things Excel, Power BI, Dashboards & VBA here. Note: This Code works only for easy and medium level SUDOKU problems. Mega Sudoku Generator Excel Free Downloads - 2000 Shareware periodically updates software information and pricing of Mega Sudoku Generator Excel from the publisher, so some information may be slightly out-of-date. Sudoku Solver; There are about 800 lines of VBA code behind it. University of Upper Alsace project: Sudoku solver in Excel - togademi/uha-sudoku Step 2: In Excel Options window choose “Add-Ins”. Building a Basic, Understandable Sudoku Solver Using Excel Iterative Calculation – Part 1/2; Building a Basic, Understandable Sudoku Solver Using Excel Iterative Calculation – Part 2/2; แบบที่ 2 แก้โดยใช้ VBA. Sudoku in Excel—Microsoft OfficeDocs.com. VBA-Excel: SUDOKU Solver. Assuming knowing the rules to form a given Sudoku and fully completed, There is a nice little book "Programming Sudoku" by Wei-Meng Lee that discusses how to write a Sudoku solver in VB.Net. So much better than timer controlled DSLR on dining table I must say. In this article we will review how to create Sudoku puzzles with Excel Macros. I just. @Struzak: Thank you. Vba Sudoku by nielshorn.net. Dan’s spreadsheet was great in that, unlike many of the Sudoku solving spreadsheets out there, it didn’t use any VBA or other scripting to do the work of solving the puzzles, and relied instead on the iterative calculation feature of … Note: This Code works only for easy and medium level SUDOKU problems . At the very least, skimming it should give you some ideas. VBA-Excel: Convert Numbers (Rupees) into Words OR Text - Updated Till 1000000 Crore With Decimal Numbers, VBA-Excel: Open an Existing Word Document, VBA-Excel: Add/Insert a Image/Picture in Word Document. Excel Game : Sudoku in Excel - Work and Play. The VBA code uses decremental generation with algorithms to ensure removed numbers render proper puzzles with unique solutions. Excel-VBA : Send a Excel Workbook as Attachment in Mail From MS Outlook Using Excel. Budget Template Knowledge Is Power Microsoft Excel Worksheets Games 3d Printing Frugal Living Computer Tips Sculptural Fashion. Each of the 9 rows, columns and 3×3 blocks should be filled in such a way that they have all the numbers from 1 to 9. Calendars, invoices, trackers and much more. I wanted to provide both a source and demo - as there aren't too many fully featured solvers I could find in Visual Basic to learn from. it is possible to generate and print indefinitely differents grids for pleasure always renewed ... That's what I have done : VBA-Excel: Appending Text to Existing Word Document – at Beginning, VBA-Excel: Appending Text to an Existing Word Document – at the End, Excel-VBA : Range - Lock/Unlock Specific Cells, VBA-Excel: Create and Save the Word document, VBA-Excel: Get the names of all WorkSheets in a Excel (WorkBook), VBA-Excel: Read XML by Looping through Nodes. Go ahead and spend few minutes to be AWESOME. Visit: Excel Tutorial Online. Instructions: Click the link below to download the code. A must-have for all Su Doku lovers. Notify me of when new comments are posted via e-mail. Excel-VBA : Send a Mail using Predefined Template From MS Outlook Using Excel, Excel-VBA : Send a Simple Mail From MS Outlook Using Excel. Tonight, I was thinking about, how to make a sudoku solver, using excel and visual basic. Sudoku is a very famous number based puzzle with a 9×9 grid of cells. Techniques such as Intersection Removal, Hidden Quads, and Naked Pairs. From simple to complex, there is a formula for every occasion. Send Mail With Multiple Different Attachments From MS Outlook using Excel. @Arnold: You can try the Sudoku Generator at http://www.opensky.ca/~jdhildeb/software/sudokugen/. This site has Candy Number Crush Saga, Monopoly, Frog Leap, 3D Maze, Sudoku, Knockout, Logo Quiz, Pacman, and more. During a hot summer I used to spend my time solving Sudoku puzzles at the beach - which is quite fun if you are in a must-not-work mode. Excel-VBA : Send Mail with Embedded Image in message body From MS Outlook using Excel. My aim is to make you awesome in Excel & Power BI. Click on "Enable Macros". Nice macro, though, Hi maybe my question was not understood. Tutorial mode … Step 4: Now check the box “Solver Add-in” and click on, Ok. Now you must see “Solver” under the data tab. It has macros, so enable them when you download the file. Follow the below steps. Using Visual Basic for Application (VBA), I was able to teach Excel how to solve Sudoku puzzles using logic and advanced techniques. @David: try now, I have uploaded the Excel 2007 version originally. In his spare time he wrote a small VBA macro to solve Sudoku. the candidates). Thank you so much for visiting. The kids school had a cultural festival a month ago and we got this beautiful picture at a photo booth. Example. Added Sudoku Type Odd-Even. The included download file includes an Excel workbook that has a VBA module (macro) that has all the functions necessary to create, clear and solve a Sudoku puzzle. In this getting started guide, learn what is Power BI, how to get it and how to create your first report from scratch. After Creating the SUDOKU template you page should look like this: NOTE: Make sure you create the template in correct cells else you will have to change the code, To know how to add a button Click here (Assign-a-macro-to-a-button), Press Alt+F11 and Copy paste the code below, Dim mainWorkBook As Workbook Dim arrMatrix(1 To 9, 1 To 3, 1 To 3) Dim arrOptions(9) Dim arrAlreadyUpdated() Dim blnHaveSomethingToFill, Sub Sumit() Set mainWorkBook = ActiveWorkbook Call FnGetValues, blnHaveSomethingToFill = False For i = 1 To 9 StrA = "" ‘intAUCounter = 0 ‘ReDim Preserve arrAlreadyUpdated(0) For j = 1 To 3 For k = 1 To 3 ‘MsgBox i & " " & j & " " & arrMatrix(i, j) If arrMatrix(i, j, k) = "" Then, Call FnFillOptionsArray Call FnCalculate(i, j, k) intCounterO = 0 ‘StrA = "" For p = 0 To 8 StrA = StrA & " " & arrOptions(p) If arrOptions(p) = 0 Then intCounterO = intCounterO + 1 End If Next If i = 4 Then ‘MsgBox i & j & k & " " & StrA End If, ‘intAUCounter = intAUCounter + 1 ‘ReDim Preserve arrAlreadyUpdated(intAUCounter) ‘arrAlreadyUpdated(intAUCounter – 1) = i & " " & j & " " & k ‘MsgBox arrAlreadyUpdated(intAUCounter – 1) & " Entered", If intCounterO = 8 Then ‘intAUCounter = 0 For p = 0 To 8 If arrOptions(p) <> 0 Then arrMatrix(i, j, k) = arrOptions(p) ‘MsgBox "have" blnHaveSomethingToFill = True End If Next End If End If Next Next If blnHaveSomethingToFill = False Then For a = 1 To 9 StrA = Replace(StrA, " ", "") strTemp = StrA If Len(strTemp) – Len(Replace(strTemp, CStr(a), "")) = 1 Then ‘ MsgBox StrA intLocation = InStr(1, StrA, CStr(a), 1) ‘ MsgBox intLocation intCell = 0 If Int(intLocation / 9) <> (intLocation / 9) Then intCell = Int(intLocation / 9) + 1 Else intCell = Int(intLocation / 9) End If ‘ MsgBox intCell & " Location" ‘arrTemp = Split(arrAlreadyUpdated(intCell – 1), " ") ‘intI = CInt(arrTemp(0)) ‘intJ = CInt(arrTemp(1)) ‘intK = CInt(arrTemp(2)) ‘ MsgBox intI & intJ & intK intC = 0 blnFound = False For j = 1 To 3 For k = 1 To 3 ‘MsgBox i & " " & j & " " & arrMatrix(i, j) If arrMatrix(i, j, k) = "" Then ”MsgBox "411" & arrMatrix(4, 1, 1) intC = intC + 1 ‘MsgBox "intC" & intC ‘MsgBox i & j & k If intC = intCell Then arrMatrix(i, j, k) = a ‘Call FnFillValues ‘ MsgBox i & j & k & "Matched" & " " & a blnFound = True Exit For End If End If Next If blnFound Then Exit For End If Next Exit For StrA = "" strTemp = "" End If Next, arrOptions(0) = 1 arrOptions(1) = 2 arrOptions(2) = 3 arrOptions(3) = 4 arrOptions(4) = 5 arrOptions(5) = 6 arrOptions(6) = 7 arrOptions(7) = 8 arrOptions(8) = 9, For j = 1 To 3 For k = 1 To 3 If arrMatrix(a, j, k) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(a, j, k) Then arrOptions(m) = 0 End If Next End If Next Next, If a = 1 Then For j = 1 To 3 For k = 1 To 3 If arrMatrix(j, k, c) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, k, c) Then arrOptions(m) = 0 End If Next End If Next Next For j = 1 To 7 Step 3 For k = 1 To 3 If arrMatrix(j, b, k) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, b, k) Then arrOptions(m) = 0 End If Next End If Next Next End If, If a = 2 Then For j = 1 To 3 For k = 1 To 3 If arrMatrix(j, k, c) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, k, c) Then arrOptions(m) = 0 End If Next End If Next Next For j = 2 To 8 Step 3 For k = 1 To 3 If arrMatrix(j, b, k) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, b, k) Then arrOptions(m) = 0 End If Next End If Next Next End If, If a = 3 Then For j = 1 To 3 For k = 1 To 3 If arrMatrix(j, k, c) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, k, c) Then arrOptions(m) = 0 End If Next End If Next Next For j = 3 To 9 Step 3 For k = 1 To 3 If arrMatrix(j, b, k) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, b, k) Then arrOptions(m) = 0 End If Next End If Next Next End If, If a = 4 Then For j = 4 To 6 For k = 1 To 3 If arrMatrix(j, k, c) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, k, c) Then arrOptions(m) = 0 End If Next End If Next Next For j = 1 To 7 Step 3 For k = 1 To 3 If arrMatrix(j, b, k) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, b, k) Then arrOptions(m) = 0 End If Next End If Next Next End If, If a = 5 Then For j = 4 To 6 For k = 1 To 3 If arrMatrix(j, k, c) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, k, c) Then arrOptions(m) = 0 End If Next End If Next Next For j = 2 To 8 Step 3 For k = 1 To 3 If arrMatrix(j, b, k) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, b, k) Then arrOptions(m) = 0 End If Next End If Next Next End If, If a = 6 Then For j = 4 To 6 For k = 1 To 3 If arrMatrix(j, k, c) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, k, c) Then arrOptions(m) = 0 End If Next End If Next Next For j = 3 To 9 Step 3 For k = 1 To 3 If arrMatrix(j, b, k) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, b, k) Then arrOptions(m) = 0 End If Next End If Next Next End If, If a = 7 Then For j = 7 To 9 For k = 1 To 3 If arrMatrix(j, k, c) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, k, c) Then arrOptions(m) = 0 End If Next End If Next Next For j = 1 To 7 Step 3 For k = 1 To 3 If arrMatrix(j, b, k) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, b, k) Then arrOptions(m) = 0 End If Next End If Next Next End If, If a = 8 Then For j = 7 To 9 For k = 1 To 3 If arrMatrix(j, k, c) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, k, c) Then arrOptions(m) = 0 End If Next End If Next Next For j = 2 To 8 Step 3 For k = 1 To 3 If arrMatrix(j, b, k) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, b, k) Then arrOptions(m) = 0 End If Next End If Next Next End If, If a = 9 Then For j = 7 To 9 For k = 1 To 3 If arrMatrix(j, k, c) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, k, c) Then arrOptions(m) = 0 End If Next End If Next Next For j = 3 To 9 Step 3 For k = 1 To 3 If arrMatrix(j, b, k) <> "" Then For m = 0 To 8 If arrOptions(m) = arrMatrix(j, b, k) Then arrOptions(m) = 0 End If Next End If Next Next End If, Function FnGetValues() ‘intChar = 69 ‘j = 1 ‘Set mainWorkBook = ActiveWorkbook ‘For k = 1 To 9 ‘ For m = 69 To 77 ‘ For k = 1 To 3 ‘ For i = 1 To 3 ‘ arrMatrix(k, i, j) = mainWorkBook.Sheets("Sheet1").Range(Chr(m) & i + 4).Value ‘ Next ‘ j = j + 1 ‘ Next ‘Next ‘Next, arrMatrix(1, 1, 1) = mainWorkBook.Sheets("Sheet1").Range("E5").Value arrMatrix(1, 2, 1) = mainWorkBook.Sheets("Sheet1").Range("E6").Value arrMatrix(1, 3, 1) = mainWorkBook.Sheets("Sheet1").Range("E7").Value arrMatrix(2, 1, 1) = mainWorkBook.Sheets("Sheet1").Range("E8").Value arrMatrix(2, 2, 1) = mainWorkBook.Sheets("Sheet1").Range("E9").Value arrMatrix(2, 3, 1) = mainWorkBook.Sheets("Sheet1").Range("E10").Value arrMatrix(3, 1, 1) = mainWorkBook.Sheets("Sheet1").Range("E11").Value arrMatrix(3, 2, 1) = mainWorkBook.Sheets("Sheet1").Range("E12").Value arrMatrix(3, 3, 1) = mainWorkBook.Sheets("Sheet1").Range("E13").Value, arrMatrix(1, 1, 2) = mainWorkBook.Sheets("Sheet1").Range("F5").Value arrMatrix(1, 2, 2) = mainWorkBook.Sheets("Sheet1").Range("F6").Value arrMatrix(1, 3, 2) = mainWorkBook.Sheets("Sheet1").Range("F7").Value arrMatrix(2, 1, 2) = mainWorkBook.Sheets("Sheet1").Range("F8").Value arrMatrix(2, 2, 2) = mainWorkBook.Sheets("Sheet1").Range("F9").Value arrMatrix(2, 3, 2) = mainWorkBook.Sheets("Sheet1").Range("F10").Value arrMatrix(3, 1, 2) = mainWorkBook.Sheets("Sheet1").Range("F11").Value arrMatrix(3, 2, 2) = mainWorkBook.Sheets("Sheet1").Range("F12").Value arrMatrix(3, 3, 2) = mainWorkBook.Sheets("Sheet1").Range("F13").Value, arrMatrix(1, 1, 3) = mainWorkBook.Sheets("Sheet1").Range("G5").Value arrMatrix(1, 2, 3) = mainWorkBook.Sheets("Sheet1").Range("G6").Value arrMatrix(1, 3, 3) = mainWorkBook.Sheets("Sheet1").Range("G7").Value arrMatrix(2, 1, 3) = mainWorkBook.Sheets("Sheet1").Range("G8").Value arrMatrix(2, 2, 3) = mainWorkBook.Sheets("Sheet1").Range("G9").Value arrMatrix(2, 3, 3) = mainWorkBook.Sheets("Sheet1").Range("G10").Value arrMatrix(3, 1, 3) = mainWorkBook.Sheets("Sheet1").Range("G11").Value arrMatrix(3, 2, 3) = mainWorkBook.Sheets("Sheet1").Range("G12").Value arrMatrix(3, 3, 3) = mainWorkBook.Sheets("Sheet1").Range("G13").Value, arrMatrix(4, 1, 1) = mainWorkBook.Sheets("Sheet1").Range("H5").Value arrMatrix(4, 2, 1) = mainWorkBook.Sheets("Sheet1").Range("H6").Value arrMatrix(4, 3, 1) = mainWorkBook.Sheets("Sheet1").Range("H7").Value arrMatrix(5, 1, 1) = mainWorkBook.Sheets("Sheet1").Range("H8").Value arrMatrix(5, 2, 1) = mainWorkBook.Sheets("Sheet1").Range("H9").Value arrMatrix(5, 3, 1) = mainWorkBook.Sheets("Sheet1").Range("H10").Value arrMatrix(6, 1, 1) = mainWorkBook.Sheets("Sheet1").Range("H11").Value arrMatrix(6, 2, 1) = mainWorkBook.Sheets("Sheet1").Range("H12").Value arrMatrix(6, 3, 1) = mainWorkBook.Sheets("Sheet1").Range("H13").Value, arrMatrix(4, 1, 2) = mainWorkBook.Sheets("Sheet1").Range("I5").Value arrMatrix(4, 2, 2) = mainWorkBook.Sheets("Sheet1").Range("I6").Value arrMatrix(4, 3, 2) = mainWorkBook.Sheets("Sheet1").Range("I7").Value arrMatrix(5, 1, 2) = mainWorkBook.Sheets("Sheet1").Range("I8").Value arrMatrix(5, 2, 2) = mainWorkBook.Sheets("Sheet1").Range("I9").Value arrMatrix(5, 3, 2) = mainWorkBook.Sheets("Sheet1").Range("I10").Value arrMatrix(6, 1, 2) = mainWorkBook.Sheets("Sheet1").Range("I11").Value arrMatrix(6, 2, 2) = mainWorkBook.Sheets("Sheet1").Range("I12").Value arrMatrix(6, 3, 2) = mainWorkBook.Sheets("Sheet1").Range("I13").Value, arrMatrix(4, 1, 3) = mainWorkBook.Sheets("Sheet1").Range("J5").Value arrMatrix(4, 2, 3) = mainWorkBook.Sheets("Sheet1").Range("J6").Value arrMatrix(4, 3, 3) = mainWorkBook.Sheets("Sheet1").Range("J7").Value arrMatrix(5, 1, 3) = mainWorkBook.Sheets("Sheet1").Range("J8").Value arrMatrix(5, 2, 3) = mainWorkBook.Sheets("Sheet1").Range("J9").Value arrMatrix(5, 3, 3) = mainWorkBook.Sheets("Sheet1").Range("J10").Value arrMatrix(6, 1, 3) = mainWorkBook.Sheets("Sheet1").Range("J11").Value arrMatrix(6, 2, 3) = mainWorkBook.Sheets("Sheet1").Range("J12").Value arrMatrix(6, 3, 3) = mainWorkBook.Sheets("Sheet1").Range("J13").Value, arrMatrix(7, 1, 1) = mainWorkBook.Sheets("Sheet1").Range("K5").Value arrMatrix(7, 2, 1) = mainWorkBook.Sheets("Sheet1").Range("K6").Value arrMatrix(7, 3, 1) = mainWorkBook.Sheets("Sheet1").Range("K7").Value arrMatrix(8, 1, 1) = mainWorkBook.Sheets("Sheet1").Range("K8").Value arrMatrix(8, 2, 1) = mainWorkBook.Sheets("Sheet1").Range("K9").Value arrMatrix(8, 3, 1) = mainWorkBook.Sheets("Sheet1").Range("K10").Value arrMatrix(9, 1, 1) = mainWorkBook.Sheets("Sheet1").Range("K11").Value arrMatrix(9, 2, 1) = mainWorkBook.Sheets("Sheet1").Range("K12").Value arrMatrix(9, 3, 1) = mainWorkBook.Sheets("Sheet1").Range("K13").Value, arrMatrix(7, 1, 2) = mainWorkBook.Sheets("Sheet1").Range("L5").Value arrMatrix(7, 2, 2) = mainWorkBook.Sheets("Sheet1").Range("L6").Value arrMatrix(7, 3, 2) = mainWorkBook.Sheets("Sheet1").Range("L7").Value arrMatrix(8, 1, 2) = mainWorkBook.Sheets("Sheet1").Range("L8").Value arrMatrix(8, 2, 2) = mainWorkBook.Sheets("Sheet1").Range("L9").Value arrMatrix(8, 3, 2) = mainWorkBook.Sheets("Sheet1").Range("L10").Value arrMatrix(9, 1, 2) = mainWorkBook.Sheets("Sheet1").Range("L11").Value arrMatrix(9, 2, 2) = mainWorkBook.Sheets("Sheet1").Range("L12").Value arrMatrix(9, 3, 2) = mainWorkBook.Sheets("Sheet1").Range("L13").Value, arrMatrix(7, 1, 3) = mainWorkBook.Sheets("Sheet1").Range("M5").Value arrMatrix(7, 2, 3) = mainWorkBook.Sheets("Sheet1").Range("M6").Value arrMatrix(7, 3, 3) = mainWorkBook.Sheets("Sheet1").Range("M7").Value arrMatrix(8, 1, 3) = mainWorkBook.Sheets("Sheet1").Range("M8").Value arrMatrix(8, 2, 3) = mainWorkBook.Sheets("Sheet1").Range("M9").Value arrMatrix(8, 3, 3) = mainWorkBook.Sheets("Sheet1").Range("M10").Value arrMatrix(9, 1, 3) = mainWorkBook.Sheets("Sheet1").Range("M11").Value arrMatrix(9, 2, 3) = mainWorkBook.Sheets("Sheet1").Range("M12").Value arrMatrix(9, 3, 3) = mainWorkBook.Sheets("Sheet1").Range("M13").Value, Function FnFillValues() ‘intChar = 69 ‘j = 1 ‘Set mainWorkBook = ActiveWorkbook ‘For k = 1 To 9 ‘ For m = 69 To 77 ‘ For k = 1 To 3 ‘ For i = 1 To 3 ‘ arrMatrix(k, i, j) = mainWorkBook.Sheets("Sheet1").Range(Chr(m) & i + 4).Value ‘ Next ‘ j = j + 1 ‘ Next ‘Next ‘Next, mainWorkBook.Sheets("Sheet1").Range("E5").Value = arrMatrix(1, 1, 1) mainWorkBook.Sheets("Sheet1").Range("E6").Value = arrMatrix(1, 2, 1) mainWorkBook.Sheets("Sheet1").Range("E7").Value = arrMatrix(1, 3, 1) mainWorkBook.Sheets("Sheet1").Range("E8").Value = arrMatrix(2, 1, 1) mainWorkBook.Sheets("Sheet1").Range("E9").Value = arrMatrix(2, 2, 1) mainWorkBook.Sheets("Sheet1").Range("E10").Value = arrMatrix(2, 3, 1) mainWorkBook.Sheets("Sheet1").Range("E11").Value = arrMatrix(3, 1, 1) mainWorkBook.Sheets("Sheet1").Range("E12").Value = arrMatrix(3, 2, 1) mainWorkBook.Sheets("Sheet1").Range("E13").Value = arrMatrix(3, 3, 1), mainWorkBook.Sheets("Sheet1").Range("F5").Value = arrMatrix(1, 1, 2) mainWorkBook.Sheets("Sheet1").Range("F6").Value = arrMatrix(1, 2, 2) mainWorkBook.Sheets("Sheet1").Range("F7").Value = arrMatrix(1, 3, 2) mainWorkBook.Sheets("Sheet1").Range("F8").Value = arrMatrix(2, 1, 2) mainWorkBook.Sheets("Sheet1").Range("F9").Value = arrMatrix(2, 2, 2) mainWorkBook.Sheets("Sheet1").Range("F10").Value = arrMatrix(2, 3, 2) mainWorkBook.Sheets("Sheet1").Range("F11").Value = arrMatrix(3, 1, 2) mainWorkBook.Sheets("Sheet1").Range("F12").Value = arrMatrix(3, 2, 2) mainWorkBook.Sheets("Sheet1").Range("F13").Value = arrMatrix(3, 3, 2), mainWorkBook.Sheets("Sheet1").Range("G5").Value = arrMatrix(1, 1, 3) mainWorkBook.Sheets("Sheet1").Range("G6").Value = arrMatrix(1, 2, 3) mainWorkBook.Sheets("Sheet1").Range("G7").Value = arrMatrix(1, 3, 3) mainWorkBook.Sheets("Sheet1").Range("G8").Value = arrMatrix(2, 1, 3) mainWorkBook.Sheets("Sheet1").Range("G9").Value = arrMatrix(2, 2, 3) mainWorkBook.Sheets("Sheet1").Range("G10").Value = arrMatrix(2, 3, 3) mainWorkBook.Sheets("Sheet1").Range("G11").Value = arrMatrix(3, 1, 3) mainWorkBook.Sheets("Sheet1").Range("G12").Value = arrMatrix(3, 2, 3) mainWorkBook.Sheets("Sheet1").Range("G13").Value = arrMatrix(3, 3, 3), mainWorkBook.Sheets("Sheet1").Range("H5").Value = arrMatrix(4, 1, 1) mainWorkBook.Sheets("Sheet1").Range("H6").Value = arrMatrix(4, 2, 1) mainWorkBook.Sheets("Sheet1").Range("H7").Value = arrMatrix(4, 3, 1) mainWorkBook.Sheets("Sheet1").Range("H8").Value = arrMatrix(5, 1, 1) mainWorkBook.Sheets("Sheet1").Range("H9").Value = arrMatrix(5, 2, 1) mainWorkBook.Sheets("Sheet1").Range("H10").Value = arrMatrix(5, 3, 1) mainWorkBook.Sheets("Sheet1").Range("H11").Value = arrMatrix(6, 1, 1) mainWorkBook.Sheets("Sheet1").Range("H12").Value = arrMatrix(6, 2, 1) mainWorkBook.Sheets("Sheet1").Range("H13").Value = arrMatrix(6, 3, 1), mainWorkBook.Sheets("Sheet1").Range("I5").Value = arrMatrix(4, 1, 2) mainWorkBook.Sheets("Sheet1").Range("I6").Value = arrMatrix(4, 2, 2) mainWorkBook.Sheets("Sheet1").Range("I7").Value = arrMatrix(4, 3, 2) mainWorkBook.Sheets("Sheet1").Range("I8").Value = arrMatrix(5, 1, 2) mainWorkBook.Sheets("Sheet1").Range("I9").Value = arrMatrix(5, 2, 2) mainWorkBook.Sheets("Sheet1").Range("I10").Value = arrMatrix(5, 3, 2) mainWorkBook.Sheets("Sheet1").Range("I11").Value = arrMatrix(6, 1, 2) mainWorkBook.Sheets("Sheet1").Range("I12").Value = arrMatrix(6, 2, 2) mainWorkBook.Sheets("Sheet1").Range("I13").Value = arrMatrix(6, 3, 2), mainWorkBook.Sheets("Sheet1").Range("J5").Value = arrMatrix(4, 1, 3) mainWorkBook.Sheets("Sheet1").Range("J6").Value = arrMatrix(4, 2, 3) mainWorkBook.Sheets("Sheet1").Range("J7").Value = arrMatrix(4, 3, 3) mainWorkBook.Sheets("Sheet1").Range("J8").Value = arrMatrix(5, 1, 3) mainWorkBook.Sheets("Sheet1").Range("J9").Value = arrMatrix(5, 2, 3) mainWorkBook.Sheets("Sheet1").Range("J10").Value = arrMatrix(5, 3, 3) mainWorkBook.Sheets("Sheet1").Range("J11").Value = arrMatrix(6, 1, 3) mainWorkBook.Sheets("Sheet1").Range("J12").Value = arrMatrix(6, 2, 3) mainWorkBook.Sheets("Sheet1").Range("J13").Value = arrMatrix(6, 3, 3), mainWorkBook.Sheets("Sheet1").Range("K5").Value = arrMatrix(7, 1, 1) mainWorkBook.Sheets("Sheet1").Range("K6").Value = arrMatrix(7, 2, 1) mainWorkBook.Sheets("Sheet1").Range("K7").Value = arrMatrix(7, 3, 1) mainWorkBook.Sheets("Sheet1").Range("K8").Value = arrMatrix(8, 1, 1) mainWorkBook.Sheets("Sheet1").Range("K9").Value = arrMatrix(8, 2, 1) mainWorkBook.Sheets("Sheet1").Range("K10").Value = arrMatrix(8, 3, 1) mainWorkBook.Sheets("Sheet1").Range("K11").Value = arrMatrix(9, 1, 1) mainWorkBook.Sheets("Sheet1").Range("K12").Value = arrMatrix(9, 2, 1) mainWorkBook.Sheets("Sheet1").Range("K13").Value = arrMatrix(9, 3, 1), mainWorkBook.Sheets("Sheet1").Range("L5").Value = arrMatrix(7, 1, 2) mainWorkBook.Sheets("Sheet1").Range("L6").Value = arrMatrix(7, 2, 2) mainWorkBook.Sheets("Sheet1").Range("L7").Value = arrMatrix(7, 3, 2) mainWorkBook.Sheets("Sheet1").Range("L8").Value = arrMatrix(8, 1, 2) mainWorkBook.Sheets("Sheet1").Range("L9").Value = arrMatrix(8, 2, 2) mainWorkBook.Sheets("Sheet1").Range("L10").Value = arrMatrix(8, 3, 2) mainWorkBook.Sheets("Sheet1").Range("L11").Value = arrMatrix(9, 1, 2) mainWorkBook.Sheets("Sheet1").Range("L12").Value = arrMatrix(9, 2, 2) mainWorkBook.Sheets("Sheet1").Range("L13").Value = arrMatrix(9, 3, 2), mainWorkBook.Sheets("Sheet1").Range("M5").Value = arrMatrix(7, 1, 3) mainWorkBook.Sheets("Sheet1").Range("M6").Value = arrMatrix(7, 2, 3) mainWorkBook.Sheets("Sheet1").Range("M7").Value = arrMatrix(7, 3, 3) mainWorkBook.Sheets("Sheet1").Range("M8").Value = arrMatrix(8, 1, 3) mainWorkBook.Sheets("Sheet1").Range("M9").Value = arrMatrix(8, 2, 3) mainWorkBook.Sheets("Sheet1").Range("M10").Value = arrMatrix(8, 3, 3) mainWorkBook.Sheets("Sheet1").Range("M11").Value = arrMatrix(9, 1, 3) mainWorkBook.Sheets("Sheet1").Range("M12").Value = arrMatrix(9, 2, 3) mainWorkBook.Sheets("Sheet1").Range("M13").Value = arrMatrix(9, 3, 3). excel sudoku solver code Sudoku solver - Excel VBA Macro. ลอง search Google ว่า Excel Sudoku Solver VBA ดูครับ Still on fence about Power BI? Under the FILE tab choose “Options”. On behalf of my family, our staff, volunteers & well-wishers, Let me wish you a very happy Christmas & prosperous new year 2021. The logic based solvers and the UI probably took the most work - the actual brute force solv… To date, we have not been able to find a single puzzle not been able to be solve. This means it will help you with the puzzle while not taking all the fun away. The solution generates completely random puzzles with three levels of difficulty. The file is unlocked, so if you are curious, go around and poke the code. I do this by sharing videos, tips, examples and downloads on this website. In this MS Excel tutorial from ExcelIsFun, the 242nd installment in their series of digital spreadsheet magic tricks, you'll learn how to create a sudoku puzzle using array formulas, the INDEX function with criteria and data validation. So naturally I jumped with joy when I saw Sanjay’s excel macro for solving sudoku. Power Query, Data model, DAX, Filters, Slicers, Conditional formats and beautiful charts. I wrote an Excel/VBA Sudoku Puzzle Teacher /Puzzle Solver program in Excel/VBA with about 3000 lines of VBA code :  Sudoku Teacher Sudoku Helper. Check out the list now. (It has folders _rels; docProps; & xl). thanks, Dear Arnol - here is the link for what you want. Excel-VBA : Send Unique Images Embedded to Mail Body, With Every Mail From MS Outlook using Excel. Now I have replaced the file with an Excel 2003 compatible version. http://www.harismind.com/sudoku.html. You can use it to learn Sudoku or use it to learn Excel / VBA programming. I have noticed it too. A simple algorithm for creating Sudoku puzzles using Visual Basic Today I stumbled on an program I had written years ago. Choice of algorithms, so you can step through a puzzle. This one does not use Excel, but can be usefull as well. You should confirm all information before relying on it. applying these principles to a bank of model grid Your goal is to fill in the remaining numbers. gentle to tough (categorized … Step 3: At the bottom chooses “Excel Add-Ins” and click on “Go”. press one key and the answer comes up. He is kind enough to let me share this with all of you. http://www.cijoint.fr/cjlink.php?file=cj200910/cij9dWRCr1.xls, - I don't create any of the original model grids, nor the soluce proc