Daily Download 4: Continuous Beam Analysis

Today’s download files contain several alternative functions for analysing continuous beams. The most flexible is the ConBeamU spreadsheet, which in addition to the continuous beam function also contains functions for single span beams and cantilevers, and for fixed end moments and restrained end moments.  Each function comes in both “unit aware” versions, and versions for use with any consistent units.

The functions use Macaulay’s Method, and allow beams with varying cross-section, and any number of supports, which may be rigid simple supports, or spring supports with rotational restraint.  Loads may be trapezoidal distributed loads or point transverse loads or moments.  The most recent blog post on this spreadsheet was: Continuous Beam Spreadsheet – with Units, and the spreadsheet may be downloaded from:


An alternative approach uses cubic splines to model the beam deflection when subject to a series of point loads and moments.  The most recent post on this approach was: SplineBeam update and the spreadsheet may be downloaded from:


Finally a series of beam analysis spreadsheets were presented as an introduction to frame analysis, the most recent being: Frame Analysis with Excel – 3, Continuous beam or frame the associated download file is available at:


but note that this has been developed into a frame analysis program, which will be presented here in the next few days.

Typical screenshots are shown below:

ConBeamU function

SplineBeam results

Beam 3 – Continuous beam results

This entry was posted in Beam Bending, Excel, Frame Analysis, Newton, UDFs, VBA and tagged , , , , , . Bookmark the permalink.

14 Responses to Daily Download 4: Continuous Beam Analysis

  1. Pingback: Daily Download 22: Splines and Curves | Newton Excel Bach, not (just) an Excel Blog

  2. hadwa0 says:



  3. Mike Jones says:

    Excel 2010, Windows 7 64bit
    Run-time error ’13’

    The line that shows up when debugging
    NumSIOut = Ubound(SIOut)

    Is it something to do wity


    • Mike Jones says:

      Too quick on the button clicking…

      Is it something to do with Windows 7 64bit or ??


    • dougaj4 says:

      Mike, I have just had the opportunity to run the ConBeamU spreadsheet on 64 bit Excel 2013 and it seems to run Ok. If you could e-mail your spreadsheet I’ll have a look at that. DougAJ4 at the google email service.


      • Mike Jones says:

        The error was occurring with the downloaded ConBeamU.xlsb file. I ended up using maccaulay.xls for my application. I’m sure the conbeamU VBA error is something on my end.


  4. hadwa says:

    I was trying to make a function using conbeam to count bending moment caused by prestress tendons with arguments of tendon geometry and prestress force. Function seems to work fine if it is called by a sub, but in worksheet it returns onyl #ARG!. Why? Could you help me?
    I attach a file http://www.speedyshare.com/bM5eH/wzbudzenie.xls


    • dougaj4 says:

      hadwa – when you pass a range as a variant from the worksheet you have to convert it into a an array variant for the Ubound() to work:
      Segments = Segments.Value2
      OutPoints = OutPoints.Value2
      Supports = Supports.Value2
      TendonGeom = TendonGeom.Value2
      PrestressForce = PrestressForce.Value2

      If you step through the code you will see that Segments is passed from the spreadsheet as a Variant/Object/Range and Segments = Segments.Value2 changes it into a Variant/Variant.
      When you use the sub the line Seg = Range(“$C$5:$D$6”) creates a Variant/Variant straight away.

      If you want to keep using your sub you will need to change the lines above to:

      If TypeName(Segments) = “Range” then Segments = Segments.Value2

      I have uploaded a revised file to:


  5. dougaj4 says:

    Hadwa & Mike, it looks like these are XL 64 bit issues. I am using Windows 7 64 bit, and the functions run without any problem on Excel 2010 and 2013 32 bit versions.

    I will definitely look into this in the near future, but I won’t have time for the next few days. I did try running the Microsoft VBA review add-in (http://technet.microsoft.com/en-us/library/ee833946(office.14).aspx) but I think I will need to get a 64 bit version of Excel before I can resolve these issues properly.


  6. Mike Jones says:

    I appreciate the reply, and I’ll check out the Code Compatibility tool today.


  7. hadwao says:

    During a calculation of an easy beam with ConBeam I figured out that it doesnt count reactions for simply supported beams well, in countiniuos beams everything is ok. Can you check why?


    • hadwao says:

      probably the soultion is deleting some lines of code (which I turned off with comment):

          If Numspans > 1 Then
              ReDim ISupportA(1 To Numspans - 1, 1 To 1)
          '    If Numspans = 1 Then
          '        ConBeam = SSSpan(Segments, OutPoints, DLoads, PLoads, Supports)
          '    Else
          '        If Supports(1, 1) = 0 Then FixedEnd = 0 Else FixedEnd = 1
          '        ConBeam = Cantilever(Segments, FixedEnd, DLoads, PLoads, OutPoints)
          '    End If
          '    Exit Function
          End If


      • dougaj4 says:

        Thanks for the feedback on that.
        The problem was in the SSSpan function, and only occurred when the left hand support and has a moment restraint. I have now fixed it and updated the download file.

        I think your modification of commenting out the call to SSSpan might affect other functionality (although I’m not sure what at the moment).


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s