【问题标题】:Changing excel cell color using vb.net使用 vb.net 更改 excel 单元格颜色
【发布时间】:2021-11-04 18:19:08
【问题描述】:

大家好,我之前问过这个问题,但我似乎找不到答案,有人可以告诉我我的代码做错了什么,因为即使我尝试了互联网上的所有方法,也没有做出任何改变在我的 excel 文件中,这是我用于更改现有 excel 文件中单元格颜色的代码

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim ws1 As Microsoft.Office.Interop.Excel.Worksheet
        Dim xlApp As New Microsoft.Office.Interop.Excel.Application
        ws1 = xlApp.Workbooks.Open(TextBox1.Text).Worksheets(ComboBox1.SelectedItem)
        Dim rangeToFormat As Excel.Range
        rangeToFormat = ws1.Cells(6, 5)
        rangeToFormat.Interior.Color = ColorTranslator.ToOle(Color.Red)

    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim xlworkbook As Excel.Workbook
        Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
        Dim xlApp As New Microsoft.Office.Interop.Excel.Application
        OpenFileDialog1.ShowDialog()
        TextBox1.Text = OpenFileDialog1.FileName

        xlworkbook = xlApp.Workbooks.Open(TextBox1.Text, 0, True)

        For Each xlWorkSheet In xlApp.Sheets
            ComboBox1.Items.Add(xlWorkSheet.Name)
        Next
    End Sub

我的代码要求用户选择一个 excel 文件,选择要处理的工作表,然后单击一个按钮来更改单元格 (6,5) 和我未在此处添加的其他单元格的颜色使我的代码更容易理解。非常感谢你们。

【问题讨论】:

    标签: excel vb.net colors


    【解决方案1】:

    试试这个:

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim ws1 As Microsoft.Office.Interop.Excel.Worksheet
        Dim xlApp As New Microsoft.Office.Interop.Excel.Application
        ws1 = xlApp.Workbooks.Open(TextBox1.Text).Worksheets(ComboBox1.SelectedItem)
        Dim rangeToFormat As Excel.Range
        rangeToFormat = ws1.Cells(6, 5)
        rangeToFormat.Font.Color = RGB(255, 20, 20)
    
    End Sub
    
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim xlworkbook As Excel.Workbook
        Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
        Dim xlApp As New Microsoft.Office.Interop.Excel.Application
        OpenFileDialog1.ShowDialog()
        TextBox1.Text = OpenFileDialog1.FileName
    
        xlworkbook = xlApp.Workbooks.Open(TextBox1.Text, 0, True)
    
        For Each xlWorkSheet In xlApp.Sheets
            ComboBox1.Items.Add(xlWorkSheet.Name)
        Next
    End Sub
    

    【讨论】:

    • 请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。
    • @DarrenPeterson 感谢 darren so mch 的建议,但我不认为这是问题所在,因为我试过了,但也没有用。我想我需要将更改保存到 textbox1 中的 excel 文件中,你能建议我如何保存它们吗?非常感谢您的宝贵时间
    【解决方案2】:

    对于那些仍在寻找答案的人,我确实找到了,你应该在颜色命令之后添加:

            xlWb.Save()
            xlApp.Quit()
            xlApp = Nothing
    

    【讨论】:

      猜你喜欢
      • 2013-03-09
      • 2013-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      • 2012-01-23
      相关资源
      最近更新 更多