我刚开始学习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中实现这一点,记住我还不知道将选择哪个细胞范围
答案 0 :(得分:0)
好的尝试一下。我正在使用DataGridView
为用户提供一些要选择的单元格。当用户单击“显示所选”按钮时,For Each
循环将遍历每个选定的单元格。
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
希望这能为你画出更好的画面。