2017-05-03 5 views
0

vb.netを使用してExcelレポートを生成しています。報告書にはいくつかの国境がない。上端のE32 F32、G32 H32がなくなり、H32の右端が欠落しています。下は私のコードです。 B32の右上にも欠けている。 enter image description herevb.netを使用したExcelレポートの一部の列に上端がありません

 With oSheet.Range("E" & count) 
      .Merge() 
      .HorizontalAlignment = XlHAlign.xlHAlignCenter 
      .VerticalAlignment = XlHAlign.xlHAlignCenter 
      .Borders.Weight = XlBorderWeight.xlThin 
      .Value = "For the month" 
      .Font.Bold = True 
      .ColumnWidth = 20 

     End With 
     oSheet.Range("E36:F36").Merge() 
     With oSheet.Range("E" & count + 1) 
      .HorizontalAlignment = XlHAlign.xlHAlignCenter 
      .VerticalAlignment = XlHAlign.xlHAlignCenter 
      .Borders.Weight = XlBorderWeight.xlThin 
      .Font.Bold = True 
      .ColumnWidth = 20 

     End With 

     With oSheet.Range("G" & count) 
      .Merge() 
      .HorizontalAlignment = XlHAlign.xlHAlignCenter 
      .VerticalAlignment = XlHAlign.xlHAlignCenter 
      .Borders.Weight = XlBorderWeight.xlThin 
      .Value = "Since Inspection" 
      .Font.Bold = True 
      .ColumnWidth = 20 

     End With 
     oSheet.Range("G36:H36").Merge() 
     count += 1 
     With oSheet.Range("E" & count) 
      .Merge() 
      .HorizontalAlignment = XlHAlign.xlHAlignCenter 
      .VerticalAlignment = XlHAlign.xlHAlignCenter 
      .Borders.Weight = XlBorderWeight.xlThin 
      .Value = "No. of Loans" 
      .Font.Bold = True 
      .ColumnWidth = 20 
      .WrapText = True 
     End With 
     With oSheet.Range("F" & count) 
      .Merge() 
      .HorizontalAlignment = XlHAlign.xlHAlignCenter 
      .VerticalAlignment = XlHAlign.xlHAlignCenter 
      .Borders.Weight = XlBorderWeight.xlThin 
      .Value = "Amount" 
      .Font.Bold = True 
      .ColumnWidth = 20 
      .WrapText = True 
     End With 
     With oSheet.Range("G" & count) 
      .Merge() 
      .HorizontalAlignment = XlHAlign.xlHAlignCenter 
      .VerticalAlignment = XlHAlign.xlHAlignCenter 
      .Borders.Weight = XlBorderWeight.xlThin 
      .Value = "No. of Loans" 
      .Font.Bold = True 
      .ColumnWidth = 20 
      .WrapText = True 
     End With 
     With oSheet.Range("H" & count) 
      .Merge() 
      .HorizontalAlignment = XlHAlign.xlHAlignCenter 
      .VerticalAlignment = XlHAlign.xlHAlignCenter 
      .Borders.Weight = XlBorderWeight.xlThin 
      .Value = "Amount" 
      .Font.Bold = True 
      .ColumnWidth = 20 
      .WrapText = True 
     End With 
     count += 1 
     oExcel.Visible = True 

答えて

0

あなたはそれを行うにはMicrosoft.Office.Interop.Excelを使用していますか?

もしそうなら、私は通常、次のようなコードを使ってボーダーセルを作成します。

Dim sPathFileExcel As String = "C:\test.xlsx" 
Dim oAppExcel As New Microsoft.Office.Interop.Excel.Application 
Dim WB As Microsoft.Office.Interop.Excel.Workbook 
WB = oAppExcel.Workbooks.Open(sPathFileExcel) 
Dim WS As Microsoft.Office.Interop.Excel.Worksheet = WB.Sheets(1) 

Dim styBorder As Microsoft.Office.Interop.Excel.Style = WS.Application.ActiveWorkbook.Styles.Add("styBorder") 

      With styBorder 

       .Borders.LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous 
       .Borders.Item(Microsoft.Office.Interop.Excel.XlBordersIndex.xlDiagonalUp).LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlLineStyleNone 
       .Borders.Item(Microsoft.Office.Interop.Excel.XlBordersIndex.xlDiagonalDown).LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlLineStyleNone 
       .Borders.Item(Microsoft.Office.Interop.Excel.XlBordersIndex.xlInsideHorizontal).LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlLineStyleNone 
       .Borders.Item(Microsoft.Office.Interop.Excel.XlBordersIndex.xlInsideVertical).LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlLineStyleNone 

      End With 

Dim rngActual As Microsoft.Office.Interop.Excel.Range = WS.Cells(2, 3) 

rngActual.Style = "styBorder" 
関連する問題