Access/excel vba中的范围问题

Access/excel vba中的范围问题,excel,vba,Excel,Vba,不确定我做错了什么。下面的语句都不会生成错误,但它们仍然不起作用。早些时候我有一个关于边界的问题,我认为它有效,但没有 下面是代码片段 With ws With .Range(.Cells(startRow, startCol), .Cells(endRow, endCol)) .Borders.LineStyle = 1 .Borders.Weight = 4 End With End With ws.Range("D1").Value = 3.14159

不确定我做错了什么。下面的语句都不会生成错误,但它们仍然不起作用。早些时候我有一个关于边界的问题,我认为它有效,但没有

下面是代码片段

With ws
   With .Range(.Cells(startRow, startCol), .Cells(endRow, endCol))
      .Borders.LineStyle = 1
      .Borders.Weight = 4
   End With
End With

ws.Range("D1").Value = 3.14159

With ws.Range("D1").Borders(9)
    .LineStyle = 1
    .Weight = 2
    .ColorIndex = 3
End With

ws.usedrange.Borders.LineStyle = 1
ws.usedrange.Borders.Weight = 4
ws.usedrange.Borders.Color = RGB(255, 0, 0)

With ws.Range("E1:F2")
    .Value = "x"
    .Font.Bold = True
    .Borders.LineStyle = 1
End With

可能是您的参数…………以下工作:

Sub dural()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    startRow = 3
    startCol = 3
    endRow = 7
    endCol = 7
    With ws
       With .Range(.Cells(startRow, startCol), .Cells(endRow, endCol))
          .Borders.LineStyle = 1
          .Borders.Weight = 4
       End With
    End With
End Sub
我把你的密码从 并添加了保存更改和关闭wb的最后四行。这将解决您的问题:

Sub setBorder()

    Dim xlApp As Object
    Dim wb As Object
    Dim ws As Object
    Dim rng As Object
    Dim startRow As Integer, startCol As Integer
    Dim endRow As Integer, endCol As Integer

    Set xlApp = CreateObject("Excel.Application")
    xlApp.DisplayAlerts = False

    Set wb = xlApp.Workbooks.Open("H:\Documents\Misc-Work\BU\test.xlsx")

    'your code

    wb.Close True
    xlApp.Quit
    Set wb = Nothing
    Set xlApp = Nothing
End Sub

注意,由于您已经运行了以前的代码(没有关闭wb和xlApp),可能需要使用任务管理器关闭文件“H:\Documents\Misc Work\BU\test.xlsx”(即使您似乎尚未打开此文件)

让我试试。我的参数还可以。在调用它之前我检查了它们。在Excel中似乎可以正常工作。从内部访问尝试时出现问题。有什么想法吗?谢谢simoco。我在这里面也有。我没有在问题中补充这一点。唯一缺少的是xlApp.Quit。我加了那个,但还是不起作用。我确实添加了MS excel库。不确定设置是否还有其他内容。请尝试使用任务管理器关闭工作簿,然后再次运行代码。我已经使用access对它进行了测试,它对我来说效果很好