Forum

Need help in excel ...
 
Notifications
Clear all

Need help in excel VBA data insertion

10 Posts
2 Users
0 Reactions
75 Views
 M M
(@great)
Posts: 6
Active Member
Topic starter
 

I have two excel work books
1)work book1 Named as Week1 ->it has two worksheets Alerts & Tasks

2)Work Book2 named as week2 -->it has two worksheets Alerts & Tasks

Example of my Week1 file

1-Jan-2020 Alert-name Description
1-Jan-2020 Alert-name Description
2-Jan-2020 Alert-name Description
2-Jan-2020 Alert-name Description

when i loop through Week1/Week2 work book with Work sheet named Alerts
before every date i need to add the lines as

1-Jan-2020 L1 Monitoring

I was able to loop through each work book and its worksheets.

Currently i was able to loop and consolidate the data to a single sheet ,But not sure how to insert the above line before every date from the Alerts sheet

 

```Sub getDataFromWbs()

Dim wb As Workbook, ws As Worksheet
Set fso = CreateObject("Scripting.FileSystemObject")

'This is where you put YOUR folder name
Set fldr = fso.GetFolder("C:UsersRadhaDownloadsTempTemp")

'Next available Row on Master Workbook
y = ThisWorkbook.Sheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row + 1

'Loop through each file in that folder
For Each wbFile In fldr.Files

'Make sure looping only through files ending in .xlsx (Excel files)
If fso.GetExtensionName(wbFile.Name) = "xlsx" Then

'Open current book
Set wb = Workbooks.Open(wbFile.Path)

'Loop through each sheet (ws)
For Each ws In wb.Sheets
'Last row in that sheet (ws)
wsLR = ws.Cells(Rows.Count, 1).End(xlUp).Row

'Loop through each record (row 2 through last row)
For x = 2 To wsLR
'Put column 1,2,3 and 4 of current sheet (ws) into row y of master sheet, then increase row y to next row
ThisWorkbook.Sheets("sheet1").Cells(y, 1) = ws.Cells(x, 1) 'col 1
ThisWorkbook.Sheets("sheet1").Cells(y, 2) = ws.Cells(x, 2) 'col 1
ThisWorkbook.Sheets("sheet1").Cells(y, 3) = CDate(ws.Cells(x, 3)) 'col 1
ThisWorkbook.Sheets("sheet1").Cells(y, 4) = ws.Cells(x, 4) 'col 1
y = y + 1
Next x

Next ws

'Close current book
wb.Close
End If

Next wbFile

End Sub
```

 
Posted : 03/03/2020 2:40 pm
Philip Treacy
(@philipt)
Posts: 1629
Member Admin
 

Please attach your workbooks

 
Posted : 03/03/2020 7:52 pm
 M M
(@great)
Posts: 6
Active Member
Topic starter
 

Hi Philip

To be frank i am not from programming background .so seeking your help.

Just got the above code searching for couple of hours and tested it which is near to my requirement.

 

Please find my excel work books attached

 
Posted : 04/03/2020 11:59 am
Philip Treacy
(@philipt)
Posts: 1629
Member Admin
 

No worries MM.

You say that you want to add something before every date, but your example shows something added after a date?

I've gone with adding before the date but it is easily changed.

Please see attached workbook.

Regards

Phil

 
Posted : 05/03/2020 9:07 pm
 M M
(@great)
Posts: 6
Active Member
Topic starter
 

Thanks a lot Philip for the help 🙂   

Need some help with the enhancement.

 

Currently my report is coming as below . it works well. 

01-Feb-2020 Alert L2 AlertName1 AlertDescription1
01-Feb-2020 Alert L2 AlertName2 AlertDescription2
02-Feb-2020 Alert L2 AlertName5 AlertDescription5
02-Feb-2020 Alert L2 AlertName6 AlertDescription6
01-Feb-2020 TASKS L2 taskName1 taskDescription1
01-Feb-2020 TASKS L2 taskName2 taskDescription2
02-Feb-2020 TASKS L2 taskName3 taskDescription3

I need to check for each date and add a row as below only for the Alert

01-Feb-20 Monitoring  Nagios  mail   Remedy

 

Please find the attached files with code

 
Posted : 06/03/2020 12:59 pm
Philip Treacy
(@philipt)
Posts: 1629
Member Admin
 

Hi MM,

So after every 'Alert' row you will have a 'Monitoring' row?

See attached.

Regards

Phil

 
Posted : 06/03/2020 8:47 pm
 M M
(@great)
Posts: 6
Active Member
Topic starter
 

Sorry it was not clear from my side.

Not to add a row for every Alert.its  before every new  date of alert

Example The requirement is as below

01-Feb-2020 Monitoring Nagios Remedy Mail
01-Feb-2020 Alert L2 AlertName1 AlertDescription1
01-Feb-2020 Alert L2 AlertName2 AlertDescription2
02-Feb-2020 Monitoring Nagios Remedy Mail
02-Feb-2020 Alert L2 AlertName5 AlertDescription5
02-Feb-2020 Alert L2 AlertName6 AlertDescription6
02-Feb-2020 Alert L2 AlertName6 AlertDescription6

 

Currently it is adding before all the alerts as below

01-Feb-2020 Alert L2 AlertName1 AlertDescription1
01-Feb-2020 Monitoring Nagios Remedy Mail
01-Feb-2020 Alert L2 AlertName2 AlertDescription2
01-Feb-2020 Monitoring Nagios Remedy Mail
02-Feb-2020 Alert L2 AlertName5 AlertDescription5
02-Feb-2020 Monitoring Nagios Remedy Mail
02-Feb-2020 Alert L2 AlertName6 AlertDescription6
 
Posted : 07/03/2020 7:25 am
Philip Treacy
(@philipt)
Posts: 1629
Member Admin
 

OK, try this.

Phil

 
Posted : 09/03/2020 2:13 am
 M M
(@great)
Posts: 6
Active Member
Topic starter
 

Thanks a lot Philip 🙂 You made my work simple.

Thanks a lot for your time and continuous followup

 
Posted : 09/03/2020 9:33 am
Philip Treacy
(@philipt)
Posts: 1629
Member Admin
 

no worries.

 
Posted : 09/03/2020 10:17 pm
Share: