ComboBox list Updataing VBA Excel

I am new on VBA and trying to make a data entry form with two Combo Boxes, The values for list of these boxes I am getting from Sheet (“ItemList”),

Private Sub UserForm_Initialize() ThisWorkbook.Sheets("ItemList").Select ComboBox1.RowSource = "Category" End Sub

By this code I am getting the List for ComboBox1 and for Combobox2 i am getting the values by below code:

Private Sub ComboBox1_Click()
    Dim x As Integer

    x = ComboBox1.ListIndex

    Select Case x

    Case Is = o

    ComboBox2.RowSource = "Appliance"

    Case Is = 1

    ComboBox2.RowSource = "Cab"

    Case Is = 2

    ComboBox2.RowSource = "Exterior_Doors"

    Case Is = 3

    ComboBox2.RowSource = "Finish_Electrical"

    Case Is = 4

    ComboBox2.RowSource = "Finish_Plumbing"

    Case Is = 5

    ComboBox2.RowSource = "Hardware"

    Case Is = 6

    ComboBox2.RowSource = "HVAC"

    Case Is = 7

    ComboBox2.RowSource = "Interior_Doors"

    Case Is = 8

    ComboBox2.RowSource = "Painting"

    Case Is = 9

    ComboBox2.RowSource = "Rough_Plumbing"

    Case Is = 10

    ComboBox2.RowSource = "Tile"

    Case Is = 11

    ComboBox2.RowSource = "Water_Heater"   
    End Select 

    End Sub`

The Code is working fine but problem is that when I am hiding this sheet it’s giving me error.

I have one more problem is that i am trying to copy data from three different sheets in three tables to our inventory mgr Below code working fine but when someone inserts any column between these three tables everything is mess up please let me how to avoid this issue.

 Sub copyCsvData() 
    Set rnp = ThisWorkbook.Sheets("TrafficData").Range("$A$8:$A$5000")
    ThisWorkbook.Sheets("Inventory Mgr").Activate    
    ThisWorkbook.Sheets("Inventory Mgr").Range("$H$3:$H$5000").Select    
    Application.CutCopyMode = False
    Sheets("Inventory Mgr").Activate
    Sheets("Inventory Mgr").Range("$B$3:$E$1000").Select
    ThisWorkbook.Sheets("Inventory Mgr").Activate   
    ThisWorkbook.Sheets("Inventory Mgr").Range("$R$3:$R$3000").Select
    Set rnt = ThisWorkbook.Sheets("TrafficData").Range("$B$8:$B$3000")
    ThisWorkbook.Sheets("Inventory Mgr").Activate    
    ThisWorkbook.Sheets("Inventory Mgr").Range("$T$3:$T$3000").Select    
    Application.CutCopyMode = False    
    ThisWorkbook.Sheets("Inventory Mgr").Range("$B$3:$B$1000").Copy
    ThisWorkbook.Sheets("Inventory Mgr").Range("$W$4:$W$1000").PasteSpecial
     Application.CutCopyMode = False    
 End Sub