在VB.net中循环选定的单元格

在VB.net中循环选定的单元格,vb.net,excel,vba,Vb.net,Excel,Vba,我刚开始学习Vb.net。在VBA中,我可以像这样在选定单元格中循环,并更改选定单元格中所有单元格的大小写 Dim c As Range For Each c In Selection If c.HasFormula = False Then c.Value = UCase(c.Value) End If Next 如何在VB.Net中实现这一点,请记住,我还不知道将选择什么范围的单元格好,请尝试一下。我使用DataGridView为用户提供一些单元格供选择。当

我刚开始学习Vb.net。在VBA中,我可以像这样在选定单元格中循环,并更改选定单元格中所有单元格的大小写

Dim c As Range
For Each c In Selection
    If c.HasFormula = False Then
        c.Value = UCase(c.Value)
    End If
Next

如何在VB.Net中实现这一点,请记住,我还不知道将选择什么范围的单元格

好,请尝试一下。我使用DataGridView为用户提供一些单元格供选择。当用户单击ShowSelected按钮时,每个循环都会通过每个选定的单元格

Public Class Form1
Dim gridSelection As New DataGridView
Dim lblSelection As New Label
Dim Selection As String

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'Setup DataGridView
    gridSelection.Columns.Add("columnA", "A")
    gridSelection.Columns.Add("columnB", "B")
    gridSelection.Columns.Add("columnC", "C")
    gridSelection.Columns.Add("columnD", "D")
    gridSelection.Rows.Add(6)
    gridSelection.Location = New Point(0, 0)
    gridSelection.AutoSize = True

    'Setup Button to show Selection
    Dim btnShow As New Button
    btnShow.Text = "Show Selected"
    btnShow.Location = New Point(0, 250)
    btnShow.AutoSize = True
    AddHandler btnShow.Click, AddressOf btnShow_Click

    'Setup label to display Selection
    lblSelection.Text = Nothing
    lblSelection.Location = New Point(0, 300)
    lblSelection.AutoSize = True

    'Add controls to form
    Me.Controls.AddRange({gridSelection, btnShow, lblSelection})
End Sub

Sub btnShow_Click()
    'Reset Selection list.
    Selection = Nothing

    'Loop through each selected cell.
    For Each cell As DataGridViewCell In gridSelection.SelectedCells
        Dim column As String = cell.OwningColumn.HeaderText
        Dim row As String = cell.RowIndex.ToString()

        'Add cell to Selection list.
        Selection = IIf(Selection = Nothing, Selection, Selection + ", ") + column + row
    Next

    'Show Selection list.
    lblSelection.Text = Selection
End Sub
End Class

希望这能为您描绘一幅更好的图景。

请看:我知道如何在Vb.net中运行基本循环,但我真正需要的是我发布的VBA代码在Vb.net中的样子。若要将当前选定的所有单元格的大小写更改为右上角c=c,则可在VB.net中为您执行此操作。如果我不理解你的问题,很抱歉。谢谢@supersnake让我尝试提供更多细节。假设用户选择单元格A1、C2和D3,则可以对选择中的每个单元格使用类似的代码来仅对这些选定的单元格执行操作。如果我要做这个vb.net,我会怎么做?在vb.net中,选择的等价物是什么。我希望这有助于使我的问题更清楚