• +351 91 33 888 29
    • clico@clico.pt

    Arquivo anual 5 de Novembro, 2023

    factorials

    Excel VBA – Calculate Factorial

    Excel VBA Code - Calculate Factorial

    Well-structured VBA code for calculating the factorial of a number.

    Open Microsoft Excel, create a new blank book, after go to TAB Programmer or click Alt+F11 and access to VBA Project.

    Copy/paste code and try…

    Sub CalculateFactorial()
    Dim num As Integer
    Dim result As Double

    ‘ Input
    num = InputBox(“Enter a number:”)

    ‘ Calculate factorial
    result = Factorial(num)

    ‘ Output
    MsgBox “The factorial of ” & num & ” is ” & result
    End Sub

    Function Factorial(n As Integer) As Double
    If n = 0 Then
    Factorial = 1
    Else
    Factorial = n * Factorial(n – 1)
    End If
    End Function

    VBA_Factorial_1-1024x498 Excel VBA - Calculate Factorial
    VBA_Factorial_2 Excel VBA - Calculate Factorial
    VBA_Factorial_3-1024x391 Excel VBA - Calculate Factorial
    VBA_Factorial_4 Excel VBA - Calculate Factorial

    PowerApps – Best Practices

    PowerApps - Best Practices

    PowerApps is a versatile platform for building custom business apps that can connect to various data sources and services. To ensure that your PowerApps projects are efficient, maintainable, and scalable, it’s important to follow best practices. Here are some PowerApps best practices to consider:

    1. Plan Your App: Before you start building your app, take the time to plan it out. Define the app’s purpose, requirements, and user needs. Create a design and data architecture plan to guide your development.

    2. Use App Templates: PowerApps provides pre-built templates for common app scenarios. Consider using these templates as a starting point to save time and ensure you follow best practices.

    3. Responsive Design: Design your app to be responsive so it works well on various screen sizes and devices. Use layout containers and flexible design elements.

    4. Separation of Concerns: Follow the Model-View-Controller (MVC) or Model-View-ViewModel (MVVM) pattern to separate your app’s data, user interface, and logic. This makes your app more maintainable and easier to test.

    5. Use Custom Connectors: If you need to connect to external services or data sources, consider creating custom connectors. Custom connectors offer better performance and can be reused across multiple apps.

    6. Optimize Data Loading: Avoid loading unnecessary data. Use filters, delegation, and data shaping functions like Sort and Filter to fetch only the data you need. Delegation ensures that data processing happens on the data source side rather than in PowerApps, which can improve performance.

    7. Error Handling: Implement robust error handling to provide a better user experience. Use the Error function to capture and display meaningful error messages to users.

    8. Testing and Debugging: Test your app thoroughly during development. Use the built-in debugging tools to identify and fix issues. Also, involve end-users in testing to gather feedback.

    9. Version Control: Use version control systems like GitHub to track changes to your app’s code. This helps in collaboration and rollback in case of issues.

    10. Documentation: Document your app’s design, data sources, and functionality. This documentation is valuable for future maintenance and for onboarding new team members.

    11. Security: Implement appropriate security measures. Use Azure Active Directory for authentication and authorization. Limit access to sensitive data and functionality based on user roles.

    12. Performance Optimization: Optimize your app for performance by minimizing the number of calls to external data sources and avoiding complex formulas when possible. Use collections to store and manipulate data locally.

    13. User Training: Provide training and support for app users. Make sure they understand how to use the app effectively.

    14. Monitor and Analyze: Use Power Platform’s built-in monitoring and analytics tools to track app usage, identify performance bottlenecks, and gather insights for improvements.

    15. Stay Informed: Stay updated with the latest PowerApps features, updates, and best practices by regularly checking Microsoft’s official documentation and community forums.

    Remember that best practices can evolve over time as the PowerApps platform and your organization’s needs change. Regularly review and update your practices to ensure your apps remain efficient and effective.

     

     
     
    Create popup messagebox in powerapp

    Create a Popup message box in Powerapp Canva

    Create a popup message box

    1. Create a New Screen :
      • In your Power App, go to the “Screens” tab.
      • Click on “New Screen” and choose a blank screen template or any other layout that suits your design.
    2. Design the Popup :
      • On the new screen, design your popup box. You can use container and add labels, buttons, input controls, or any other elements you need for your popup’s content. 
    3. Create a Button or Trigger to Show the Popup :
      • On the screen (or wherever you want to trigger the popup), create a button or control (eg, an icon).
      • In the “OnSelect” property of the button, set it to navigate to the popup screen and make it visible:
          • Set(PopupVisible, true);
    4. Create a Close Button:
      • On the popup screen, create a close button (e.g., an “X” icon or a “Close” button).
      • In the “OnSelect” property of the close button, set it to navigate back to the previous screen and hide the popup:
          • Set(PopupVisible, false);
    5. Use a Variable for Visibility:
      • Create a variable to control the visibility of the popup. In the app’s OnStart or OnVisible property, initialize the variable:
          • Set(PopupVisible, false);
      • Set the “Visible” property of the popup screen to the value of the variable:
          • PopupVisible

                    Test Your Popup:

      • Preview or publish your Power App and test the popup functionality.

    Avaliação de Desempenho em Excel

    Avaliação de desempenho é uma ferramenta de RH que vai além da análise da performance individual e coletiva das pessoas colaboradoras e seus comportamentos.

    Excel

    Tabela periódica Atalhos Excel

    360085765_741849454613471_1290443440714800397_n Tabela periódica Atalhos Excel
    PowerApp Low Code - Collection Large Sharepoint Lists

    Collecting large lists in PowerApps from SharePoint

    Collecting large lists in PowerApps from SharePoint

    // — Process Start —
    // — Clear all collections —
    Clear(colDummy);
    Clear(colIterations);
    Clear(colNumbersTable);
    Clear(cCollection);  // — Collection where store all Sharepoint records

     

    /*****************************************************************************************
    Start generate records series
    List up to 2 million records, if necessary increases the value of the records in the vectors
    *******************************************************************************************************/
    ClearCollect(
        colNumTemp,
        [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10
        ]
    );
    ForAll(
        colNumTemp,
        ForAll(
            colNumTemp,
            ForAll(
                colNumTemp,
                Collect(
                    colDummy,
                    {dummy: 1}
                );
                Collect(
                    colNumbersTable,
                    {Number: CountRows(colDummy)}
                )
            )
        )
    );
    // — Series end
    // — Get the first and last record of the list
    UpdateContext(
        {
            FirstRecord: First(
                Sort(
                    sharepointList, //— Sharepoint list to go find the records
                    ID,
                    Ascending
                )
            )
        }
    );
    UpdateContext(
        {
            LastRecord: First(
                Sort(
                    sharepointList, //— Sharepoint list to go find the records
                    ID,
                    Descending
                )
            )
        }
    );
    // —The capture of records begins
    UpdateContext(
        {
            Iterations: RoundUp(
                (LastRecord.ID – FirstRecord.ID) / 2000,
                0
            )
        }
    );
    // —Create a new collection to register the first ID found
    ClearCollect(
        varCounter,
        {min_Num: FirstRecord.ID}
    );
    /*****************************************************************************************
    A ForAll loop is used where the column number is less than or equal to the number of iterations
    Updates the iteration collection with the current iteration number, minimum and maximum numbers
    update the collection of counters
    ********************************************************************************************************/
    ForAll(
        Filter(
            colNumbersTable,
            Number <= Iterations
        ),
        Collect(
            colIterations,
            {
                Number: Last(
                    FirstN(
                        colNumbersTable,
                        CountRows(colIterations) + 1
                    )
                ).Number,
                min_Num: First(varCounter).min_Num,
                max_Num: First(varCounter).min_Num + 1999
            }
        );
        Patch(
            varCounter,
            First(varCounter),
            {
                min_Num: Last(
                    FirstN(
                        colIterations,
                        CountRows(colIterations) + 1
                    )
                ).max_Num + 1
            }
        )
    );
    // End of capture of records
    /*************************************************************************************
    Finally, with a ForAll loop we will collect all our items
    ** !! Unable to use the ID column to make delegations !! **
    ** The ID here must be a numeric field (numID)**
    ****************************************************************************************************/
    ForAll(
        colIterations,
        Collect(
            sharepointList, //— Sharepoint list to go find the records
            Filter(
                sharepointList, //— Sharepoint list to go find the records
                numID >= min_Num && numID <= max_Num
            )
        )
    );
    // Downloads collections
    // — END —
    Show Buttons
    Hide Buttons