Excel 自动格式化行/列vba
我正在编写这段代码,在自动设置行和列的格式时遇到了困难。问题出现在下面的自动调整注释中。我想自动格式化第一行(标题),然后格式化整个表。我可以通过范围函数(键入单元格的确切范围)来完成它,但是我希望像代码中间的复制粘贴一样自动完成。我特别想用蓝色格式化第一行,用白色格式化整个表,并用连续的边框 我尝试了许多不同的命令,但每次都会出错。一些线索Excel 自动格式化行/列vba,excel,vba,Excel,Vba,我正在编写这段代码,在自动设置行和列的格式时遇到了困难。问题出现在下面的自动调整注释中。我想自动格式化第一行(标题),然后格式化整个表。我可以通过范围函数(键入单元格的确切范围)来完成它,但是我希望像代码中间的复制粘贴一样自动完成。我特别想用蓝色格式化第一行,用白色格式化整个表,并用连续的边框 我尝试了许多不同的命令,但每次都会出错。一些线索 Option Explicit Public wkbk As Workbook Public mybook As Workbook
Option Explicit
Public wkbk As Workbook
Public mybook As Workbook
Sub Opentrading()
Dim FolderPath As String
Dim Path As String
Dim nyear As String
Dim nmont As String
Dim nday As String
Dim LastRow As Long
Dim LastColumn As Long
Dim StartCell As Range
Dim sht As Worksheet
FolderPath = "filename"
nyear = Sheet6.Range("J3")
nmont = Sheet6.Range("J5")
nday = Sheet6.Range("J7")
Path = FolderPath & "\" & nyear & "-" & nmont & "-" & nday & Southern_Europe" & ".xlsx"
Set mybook = ThisWorkbook
mybook.Worksheets("Data").UsedRange.ClearContents
mybook.Worksheets("Data").Cells.ClearFormats
Set wkbk = Workbooks.Open(Path)
Set sht = wkbk.Sheets("Southern_Europe")
'Find Last Row and Column
Set StartCell = sht.Range("D1")
LastRow = sht.Cells(sht.Rows.Count, StartCell.Column).End(xlUp).Row
LastColumn = sht.Cells(StartCell.Row, sht.Columns.Count).End(xlToLeft).Column
'Copy paste
wkbk.Worksheets("Southern_Europe").Range(StartCell, sht.Cells(LastRow, LastColumn - 5)).Copy mybook.Worksheets("Data").Range("A1")
'Autofit
With mybook.Worksheets("Data")
.UsedRange.Columns.AutoFit
.Range("A1:S1").Interior.Color = RGB(0, 0, 0)
' .Range(StartCell, sht.Cells(LastRow, LastColumn - 5)).BorderAround LineStyle:=xlContinuous
' .Range(StartCell, sht.Cells(LastRow, LastColumn - 5)).Borders(xlInsideHorizontal).LineStyle = xlContinuous
End With
wkbk.Close
End Sub
那么明确的问题是:如何将第一行设置为蓝色,将整个表格设置为白色,并带有连续的边框?第一排桌子?蓝色背景?行
Path=FolderPath…
中的输入错误是偶然的还是在代码中也很明显?(注意它应该是…&nday&Southern_european&“.xlsx”
@BruceWayne只是一个打字错误!@QHarr完全正确!颜色不重要,蓝白或黑,我可以稍后修改。重要的是语法