Visual Basic Classic

164K

Solutions

58K

Contributors

Visual Basic is Microsoft’s event-driven programming language and integrated development environment (IDE) for its Component Object Model (COM) programming model. It is relatively easy to learn and use because of its graphical development features and BASIC heritage. It has been replaced with VB.NET, and is very similar to VBA (Visual Basic for Applications), the programming language for the Microsoft Office product line.

Share tech news, updates, or what's on your mind.

Sign up to Post

I am working on a large VB6 project.  I am using Windows XP  as the development environment.  For various reasons, I moved had to a new Windows XP machine.  I have everything set up the same as the old machine (Win-XP SP3, VB6 SP-6 etc).  My program needs connects to an SQL database.  I have all the same references selected as on the old machine, however for some reason my connection to the Microsoft ActiveX Data Objects Recordset 2.8 Library isn't "connected".  I get a debug error the first time I use ADODB as in:
Set rsTable as ADODB.Recordset

Open in new window

There is no intellisense associated with ADODB.  I have the Microsoft ActiveX Data Objects Recordset 2.8 Library selected in the References.  I have reinstalled the MDAC28SDK.  I have also re-registered the MSADOR15.DLL file.

The program will run on the machine, connect to the SQL etc fine when run from the .EXE, but won't run in the development environment.

Anyone have any ideas about this?
thanks in advance
Richard
0
Cloud Class® Course: MCSA MCSE Windows Server 2012
LVL 12
Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

Hi,
I am using Access 2013 with Windows 8.1 and a Zebra desktop label printer Model 450 and model 505.
My printers are attached to my desktop on USB001 and USB003.
I have a label file that I have downloaded from FedEx. It is in ZPLII (ZPL2 is what FedEx calls it) format and I use the Extension .ZPL
The file is correct. I can go to http://labelary.com/viewer.html and view the label to ensure it is correctly formatted and looks correct.
PROBLEM:  I cannot get the label to print in code. I have tried DOS using NET USE and redirecting my USBs to LPTs. I have tried using the network name after sharing the printer.
I have tried using copy and copy/b (for binary).  I know this must be just a few lines of code, but after hours and hours, I still can't get it to work.
If there was a desktop viewer for ZPL files, I could shell execute and run that program with a command line parameter, but no desktop viewer exist.
I have put just some of my trial code below, but nothing works.  Please help. Thank you.

'Open "USB001" For Output As #1
'Open "LPT1:" For Output As #1
' or open "COM1:"
'Print #1, "C:\Users\ISaunders\Documents\Quality Chemical\RateResponse.zpl"
'Close #1


Dim ItemName, ItemNum, ClassID
ItemName = "Expresso"
ItemNum = 142222
ClassID = "Coffee"
Open "\\IraDellLaptop\ZebraZP" For Output As #1
'Open "LPT3:" For Output As #1
Print #1, ItemName & " " & ItemNum & " " & ClassID
Print #1, "C:\Users\ISaunders\Documents\Access
0
Hi Experts,
I have the following function trying to synchronize my local folder with a FTP folder.
Sub Example()
 
    Dim mySession As New Session
    
    ' Enable custom error handling
    On Error Resume Next
    
    Download mySession
    
    ' Query for errors
    If Err.Number <> 0 Then
        MsgBox "Error: " & Err.Description
 
        ' Clear the error
        
        Err.Clear
    End If
     
    ' Disconnect, clean up
    mySession.Dispose
     
    ' Restore default error handling
    On Error GoTo 0
    
End Sub
Public Sub Download(ByRef mySession As Session)
'Public Sub Download()
    ' Setup session options
    Dim mySessionOptions As New SessionOptions
    With mySessionOptions
        .Protocol = Protocol_Sftp
        .hostname = "sftp.MySite.com"
        .username = "MyUser"
        .password = "MyPWD"
        .SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
        
        
    End With
    
    ' Connect
    mySession.Open mySessionOptions
    
    ' Upload files
    Dim myTransferOptions As New TransferOptions
    myTransferOptions.TransferMode = TransferMode_Binary
    'myTransferOptions.ResumeSupport = TransferResumeSupportState.TransferResumeSupportState_Off
    myTransferOptions.ResumeSupport.State = TransferResumeSupportState_Off
     
    Dim transferResult As SynchronizationResult
    'Set transferResult = _
        mySession.GetFiles("/Outbox/*PatChanges*", "H:\FTP\", False, myTransferOptions)

Open in new window

0
Sub Link()

Dim Turbidity As Long
Dim RawTurbidity As Range


'Sets variables Turbidity being the ActiveCell and RawTurbidity refering to the last captured cell in raw sheets'
Turbidity = ActiveCell.Row
Set RawTurbidity = Sheets("Raw Data").Range("C4").End(xlDown)


'The formula assiging the last captured cell in Raw sheets to the active cell'
Sheet1.Cells(Turbidity, 4).Value = RawTurbidity.Value
End Sub

Open in new window


This is my code and it does pretty much what I want it to do. I have an instrument that spits data into column C in Raw Data sheet. What this macro does is copy that data into column D in Sheet1. I have another small Macro running on Raw Data that calls this macro whenever a change is made in column C in RawData and that's what activates this macro. Anyway what I'm trying to do is after the calculations have been copied to have the activecell automatically go to the next row just like pressing enter when your in a cell. Typically ActiveCell.Offset(1,0).Select would be the line for that. For some reason when I add that to the end of the macro it copies the data into the next four rows.

In case you were wondering the analyst don't do the analysis on sheet1 in order hence why I had to have Raw Turbidity copied into the activecell instead of just doing the available blank line.
0
Encoding issue: I have the source code in VB6 (strOBCCmd = ~ÿVª~)
The same string in C#(strOBCCmd =~\u0001?V\0?~)
As a result I am getting a different string both are produced from a byte array (8) {126, 1, 255, 86, 0, 170, 126, 0}
My question is how do I get the same string result like VB6 in C#?
0
Hi,

This is an extension to previous post: VB6 - Duplicate MSHFlexgrid1 rows if

The code provided by MartinLiss was working perfectly.

Now, if facing a problem where 3 columns can have multiple values separated by a comma ",".

For each of those rows, it should be duplicated so that i can have a sample of each scenarios possible.

duplicates-based-on-3-columns.jpg
How can i do that?

Thank you foe your help.
VB6---Duplicate-rows.zip
0
Hi,

I am currently using the following code to display a form with rounded windows. Issue is how to make it run in 64-bit.

Thanks
Option Explicit

' Region API functins Requires Windows NT 3.1 or later; Requires Windows 95 or later

Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As POINTAPI, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Type POINTAPI
    X As Long
    Y As Long
End Type

Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

Dim FrmWndh  As Long
Sub SetWindowShape(ByVal hWnd As Long)

    Dim lpRect As RECT
    Dim lFrmWidth As Long, lFrmHeight As Long
    Dim hRgn As Long
    GetWindowRect hWnd, lpRect
    lFrmWidth = lpRect.Right -

Open in new window

0
Hi Experts,

I have the function below that downloads files from a FTP server.

Option Explicit
 
Sub Example()
 
    Dim mySession As New Session
    
    ' Enable custom error handling
    On Error Resume Next
    
    Upload mySession
    
    ' Query for errors
    If Err.Number <> 0 Then
        MsgBox "Error: " & Err.Description
 
        ' Clear the error
        Err.Clear
    End If
     
    ' Disconnect, clean up
    mySession.Dispose
     
    ' Restore default error handling
    On Error GoTo 0
    
End Sub

Private Sub Download(ByRef mySession As Session)
 
    ' Setup session options
    Dim mySessionOptions As New SessionOptions
    With mySessionOptions
        .Protocol = Protocol_Sftp
        .HostName = "example.com"
        .UserName = "user"
        .Password = "mypassword"
        .SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
    End With
    
    ' Connect
    mySession.Open mySessionOptions
    
    ' Upload files
    Dim myTransferOptions As New TransferOptions
    myTransferOptions.TransferMode = TransferMode_Binary
     
    Dim transferResult As TransferOperationResult
    Set transferResult = _
        mySession.GetFiles("/home/user/*", "H:\FTP\", False, myTransferOptions)
     
    ' Throw on any error
    transferResult.Check
     
    ' Display results
    Dim transfer As TransferEventArgs
    For Each transfer In transferResult.Transfers
        MsgBox "Download of " & transfer.Filename & " 

Open in new window

0
Hi,
I have this MSFlexgrid1 that can have up to 50000 rows of data.

In column 4 called "Test5" in attached project, i can have values separated by a comma ",".

What i would like to do is to duplicate the rows and just keep one value per row.



Ex:

It i have 3 values separated by a comma, it would duplicate 2 extra rows with all the same values in all columns but for the column 4, it will put a unique value per row.

How can i do that?.

Thank you for your help
0
I have been programming in VB6 for years.  I have a desire to begin programming in VB.NET.  With .NET would I be able to make my application usuable from a webpage?  The current program I have is written in VB6 and can only be used from a windows desktop.  Here is one of my forms below for registering individuals in VB6.  What is the fastest way to begin learning how to convert this code into VB.NET?  If I get the .NET software does it have the ability to convert and if it does, how well does it perform?

Thanks for answering my preliminary questions as I know I have a road ahead.

Set conn = New ADODB.Connection
Set rec = New ADODB.Recordset
conn.Open "Provider=sqloledb;Data Source=" & ConnectionIP & ",1433;Network Library=DBMSSOCN;Initial Catalog= " & CAPDB & "; User ID=xx;Password=xxxx"

   ' If Not AsNumbers(Me.Text19.Text) Then
   '     MsgBox "Please enter a valid address", vbOKOnly
   '     Exit Sub
   ' End If


If DTPicker1 = ServerTime Then
    MsgBox "You Need to enter a BirthDate", vbOKOnly
    Exit Sub
End If

If Val(Text6) <= 0 Then
    MsgBox "Your Birthdate is Incorrect.  Please adjust.", vbOKOnly
    Exit Sub
End If

If Text2 = "" Then
    MsgBox "You Need to enter a Last Name", vbOKOnly
    Exit Sub
End If

If Text3 = "" Then
    MsgBox "You Need to enter an First Name", vbOKOnly
    Exit Sub
End If

If Combo12 = "CCASP" Or Combo12 = "Scouting Network" Then
    If Combo6 = "" Then
    MsgBox "You Need to enter a Sub Group", vbOKOnly
    Exit Sub
  

Open in new window

0
The Ultimate Tool Kit for Technolgy Solution Provi
The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

In Excel I am attempting to write a formula that will identify partial matches between rows in a column that is sorted alphabetically.

Is there a user defined function that does this?

Currently the script in the module finds exact matches and shades the second of the the duplicate cells in red.

I need the script to find partial matches and shade all cells with the partial match (not just one of the partial matches). The first 5 left most characters would probably suffice in a match.


******
FirstItem = ActiveCell.Value
   SecondItem = ActiveCell.Offset(1, 0).Value
   Offsetcount = 1
   Do While ActiveCell <> ""
      If FirstItem = SecondItem Then
        ActiveCell.Offset(Offsetcount, 0).Interior.Color = RGB(255, 0, 0)
        Offsetcount = Offsetcount + 1
        SecondItem = ActiveCell.Offset(Offsetcount, 0).Value
      Else
        ActiveCell.Offset(Offsetcount, 0).Select
        FirstItem = ActiveCell.Value
        SecondItem = ActiveCell.Offset(1, 0).Value
        Offsetcount = 1
      End If
   Loop
   ScreenUpdating = True
******
0
I have a function that makes my .doc lose functionality, but it works for me in .dotm...
The function is "ActivateReferenceLibrary"; it runs on both the "Document_New" and "Document_Open" stage.
I know it is this function that is causing the issue because when I comment out the call function for it everything works.

Any ideas as to why this is happening? What am I doing wrong?

Thanks!

======================================================================================

Sub ActivateReferenceLibrary() 'Activate Specific Object Libraries via GUID #

  Dim chkRef As Variant
  Dim BoolExists As Boolean
 
    On Error Resume Next
   
    For Each chkRef In VBProject.References
        If chkRef.GUID = "{00062FFF-0000-0000-C000-000000000046}" Then
            BoolExists = True
            GoTo Cleanup
        Else
        End If
    Next
   
Cleanup:

    If BoolExists = True Then
        Exit Sub
    Else
        VBProject.References.AddFromGuid GUID:="{00062FFF-0000-0000-C000-000000000046}", Major:=0, Minor:=0 'This is Outlook GUID
    End If
End Sub

======================================================================================
0
We just upgraded to Exchange 2016 from Exchange 2010 and all of our CDO mail-enabled Classic ASP sites are no longer sending mail properly.  As far as I can tell the emails just end up in the BadMail folder on the webserver.  Any direction is most appreciated!  This is a time sensitive issue for us.

Example:

    Set iMsg = CreateObject("CDO.Message") 'calls CDO message COM object
    Set iConf = CreateObject("CDO.Configuration") 'calls CDO configuration COM object
    Set Flds = iConf.Fields
    Flds( "http://schemas.microsoft.com/cdo/configuration/sendusing") = 1 'tells cdo we're using the local smtp service
    Flds("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "e:\inetpub\mailroot\pickup" 'verify that this path is correct
    Flds.Update 'updates CDO's configuration database
    Set iMsg.Configuration = iConf 'sets the configuration for the message
	
    iMsg.To = "yyyyy@thecenter.org"
    iMsg.CC = "zzzzz@thecenter.org"

    sEmailBody = "Please find the attached file for checks dated " & sCheckDate & vbcrlf & vbcrlf & sContent
    iMsg.AddAttachment "e:\Inetpub\wwwroot\CBCHECK\data\ARS311584621i.txt"
    
    iMsg.From = "webmaster@thecenter.org" 'must be "someone@domain.com"
    iMsg.Subject = "FE - CBCHECK - " & sCheckDate 
    iMsg.HTMLBody = sEmailBody

    iMsg.Send 'commands CDO to send the message

Open in new window


Thanks,
Andrew
0
I have a client getting error 2287 using EmailDatabaseObject macro. They are using office 2016. Does this
have to do with a setting in Outlook. What is the workaround for this issue?
0
LVL 25

Expert Comment

by:Iamthecreator OM
Please post your issue as a 'Question' and not a POST.
0
LVL 19

Expert Comment

by:Andrew Leniart
rhSQL15,

You will have more luck getting Expert help with this issue if you use the big blue "Ask a Question" button at the top of your browser when logged into Experts Exchange.

I hope that's helpful.

Regards, Andrew
EE Topic Advisor
0
I have the below VB Script a friend here helped create. There was one thing I'm trying to add to it to change it.
It forwards e-mail to selected recipients but what I'd want is that if there are no recipients that fit the criteria, to don't forward/send and instead move the item to a different folder called "Unprocessed".

Public Sub ForwardwithCC()
Dim strRecip As String
Dim objMsg, oMail As MailItem
Dim NS As NameSpace
Set NS = Application.GetNamespace("MAPI")
 
' For a reply or reply all, replace forward  with Reply or ReplyAll
Set objMsg = ActiveExplorer.Selection.Item(1).Forward
 
If TypeName(ActiveExplorer.Selection.Item(1)) = "MailItem" Then
Set oMail = ActiveExplorer.Selection.Item(1)
 
On Error Resume Next
 
For Each Recipient In oMail.Recipients
If InStr(Recipient.Address, "@ourdomain.com") > 0 Or InStr(Recipient.Address, "ExchangeLabs") > 0 Then strRecip = Recipient.Address & ";" & strRecip

Next Recipient
 
objMsg.To = strRecip

  objMsg.Display
  
  ' objMsg.Send
  
oMail.Move NS.Folders("Personal Folders").Folders("_Processed")

  
Else
End If
 
Set objMsg = Nothing
End Sub

Open in new window

0
I am trying to write a code that allows me to open file explorer and import a .csv file, but I only need the data from cells A57 and B57 down until there is no more data. I would need that data imported to the active macro into cells A31 and B31. I have attached my current code that allows me to open file explorer, but I cannot copy and paste the data.

Thanks for the help!
0
Help modify VB script to move the email I selected before forwarding to another folder after it's been forwarded?

I am trying to get this script that forwards an e-mail I selected before forwarding to move to a sub-folder of my inbox once it's been forwarded.

The following will forward the e-mail successfully accordingly, but doesn't move to a subfolder:

Public Sub ForwardwithCC()
Dim strRecip As String
Dim objMsg, oMail As MailItem
Dim NS As NameSpace
Set NS = Application.GetNamespace("MAPI")
 
' For a reply or reply all, replace forward  with Reply or ReplyAll
Set objMsg = ActiveExplorer.Selection.Item(1).Forward
 
If TypeName(ActiveExplorer.Selection.Item(1)) = "MailItem" Then
Set oMail = ActiveExplorer.Selection.Item(1)
 
On Error Resume Next
 
' For Each Recipient In oMail.Recipients
' strRecip = Recipient.Address & ";" & strRecip
' Next Recipient

For Each Recipient In oMail.Recipients
If InStr(Recipient.Address, "@ourdomain.com") > 0 Or InStr(Recipient.Address, "ExchangeLabs") > 0 Then strRecip = Recipient.Address & ";" & strRecip

Next Recipient
 
objMsg.To = strRecip

  objMsg.Display
  
  ' objMsg.Send
  
oMail.Move NS.Folders("Personal Folders").Folders("_Processed")

  
Else
End If
 
Set objMsg = Nothing
End Sub

Open in new window

0
Hello Sir,

looking for formula for switch result or value, Attached file FYI

result should be here is as if chose A then only shows M6:M14 & if is chose B then shows M16:M25 & if either one in not matched then Error
0
I have a vb6 application that creates a .csv file with several pieces of information.  One of the values that are populated in the file is an ID number and location number that are 8 and 5 digits, with leading zeros.  This is the problem that I have, when the file is created it is created correctly with the leading zeros, however, when it is opened in Excel the zeros are stripped off by Excel.  How can I ensure that when the file is opened in Excel that the values are there with the zeros.  

For example:

00000065 --> Shows in Excel as: 65 without the zeros.

In the code, I am currently using this: Format(.IDNum, "@@@@@@@@") and Format(.LocNum, "@@@@@").

Both of these open in Excel without the leading zeros.  I have also tried putting a colon in front of the "@" values, and this for some reason solves the problem in part as it opens in Excel as ":00000065", which is what I want, only without the colon.  Please advise.

aj85
0
Cloud Class® Course: CompTIA Healthcare IT Tech
LVL 12
Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

I unfortunately have to use vbscript for a local Outlook solution that basically is forwarding e-mails one at a time to the original recipients in the e-mail, excluding the original sender.
However I'm looking to have this exclude any recipients as well that are not @ourdomain.com. Does anyone know how to do that with this pieced together script, or have a better approach?
Additionally, I am wanting to move the e-mail after it's been sent, to a separate folder called "Processed" in the sub-folder...

Public Sub ForwardwithCC()
Dim strRecip As String
Dim objMsg, oMail As MailItem
 
 
' For a reply or reply all, replace forward  with Reply or ReplyAll
Set objMsg = ActiveExplorer.Selection.Item(1).Forward
 
If TypeName(ActiveExplorer.Selection.Item(1)) = "MailItem" Then
Set oMail = ActiveExplorer.Selection.Item(1)
 
On Error Resume Next
 
For Each Recipient In oMail.Recipients
strRecip = Recipient.Address & ";" & strRecip
Next Recipient
 
objMsg.To = strRecip
  objMsg.Display
  objMsg.Send
  
Else
End If
 
Set objMsg = Nothing
End Sub

Open in new window

0
I'm using the spread grid control
http://helpcentral.componentone.com/NetHelp/Spread8/WebSiteHelp/webframe.html

I have a sql server stored procedure that returns a recordset.
I am binding the recordset to the spread grid.

One of the columns from the stored procedure is a double data type that contain both negative and position decimals numbers like this -12.42 or 4.67

Right now the column is set on the grid like this.

The data displays just fine on this grid

        fpgrid1.Col = 2
        fpgrid1.Text = CDbl(CurrentRS!EmployeeHoursWorked)

There is just one problem though. When I click on the column header to sort Ascending the sorting is not working correctly because of the negative numbers.
If I click on the column header again it sorts the column Descending but again its not sorting correctly because of the negative numbers.

I know its the negative numbers because if I only put positive numbers in the table the stored procedure uses then the sort on this column works fine.

Can I do a type conversion on this grid column so the negative numbers get sorted correctly?
https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/functions/type-conversion-functions

or

Anyone know why the negative numbers aren't getting sorted correctly?
0
I have created an ASP.NET project (VB) with the default setup.
Now I want to link this to the SQL server installed in my laptop.
How do I do that?
Here is the connection string as of now.
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-WebApp2-20180726120151.mdf;Initial Catalog=aspnet-WebApp2-20180726120151;Integrated Security=True"

Open in new window

Appreciate your help.
0
I had this question after viewing ShellExecute Issue within VB6 on Windows 8.

Sadly we still have to use VB6, we have an application thats over 7 years old and just cant be ported to the new versions of VB, everytime we try we have to go from VB6, to VB8, then to Vb10, then to Vb12 - just a nightmare and the app has some 20 odd bespoke ocx's in it, some 70 forms, and an enormous amount of coding.

The problem we are having, and i know its getting worse, we need to open a file using the associated program.

OpenWithDefault = (ShellExecute(0&, "", FileName, vbNullString, vbNullString, SW_SHOWNORMAL) > 32)

This will work on some windows pcs, not others, some are 64 bit others arn't, some are windows 8 some are windows 10.

Whilst i understand its the UAC - how do i get round it ?

On a windows 10 64 - works no problem, on a windows 8 64 - no probs, on another windows8 64 - wont work but it will open pdfs, word docs, just not TEXT files ?

On windows 7 both 32 & 64 - everything opens

Anyone got any solutions and please dont say just upgrade, i cant upgrade 7 years worth of progamming over night - no chance !

All the new apps, we use the newer versions when we can, but its not an option to upgrade this application.

Any help would truely be appricated.

thanks

Dave
0
How to align center username and password  in login page ASP.net with VB.
I am new to asp.net/web app.

Appreciate your help.
0
Dear All,

I have huge dataset, over 12,000 rows, This comes from another database. I need to write a code or a formula so that for the Actual Cost Column and Estimated Cost column on every project so I can automatically see what was the actual cost of each project (if any) and planned cost of each project (if any).

The problem is each project has its sub-items. Everytime we have an asteric thats indicates this is start of the costs for the new project.

I have attached an example, the Ideal Solution tab has the solution and the way i want this to look. I will really appreciate if anyone can help me with this.

Thanks.
ESTIMATED-VS-ACTUAL.xlsx
0

Visual Basic Classic

164K

Solutions

58K

Contributors

Visual Basic is Microsoft’s event-driven programming language and integrated development environment (IDE) for its Component Object Model (COM) programming model. It is relatively easy to learn and use because of its graphical development features and BASIC heritage. It has been replaced with VB.NET, and is very similar to VBA (Visual Basic for Applications), the programming language for the Microsoft Office product line.