Excel VBA 或公式将多个 ActiveX 文本框的值复制到相邻单元格
Excel VBA or formula to copy value of multiple ActiveX text box to adjacent cells
我收到了一个工作簿,其中包含我需要使用的值的列中的大量 ActiveX 文本框。有没有办法获取这些值并将它们放在每个框位置右侧的列中?
它们被锁定并“随细胞移动”。它们在选择窗格中显示为“HTMLText nnn”。每个文本框中有一个值。
我已经在 Kutools 上试过了(谢谢他们,the page),看起来应该可以,但什么也没发生(没有复制值,没有删除框):
Sub TextboxesToCell_Kutools()
Dim xRg As Range
Dim xRow As Long
Dim xCol As Long
Dim xTxtBox As TextBox
Set xRg = Application.InputBox("Select a cell):", "Kutools for Excel", _
ActiveWindow.RangeSelection.AddressLocal, , , , , 8)
xRow = xRg.Row
xCol = xRg.Column
For Each xTxtBox In ActiveSheet.TextBoxes
Cells(xRow, xCol).Value = xTxtBox.text
xTxtBox.Delete
xRow = xRow + 1
Next
End Sub
找到了!
Sub H___CopyFormsHTMLBoxToSameCell()
'https://windowssecrets.com/forums/showthread.php/169760-Text-box-value-from-a-web-page-copy-and-paste (modified)
Dim OLEObj As OLEObject 'from the control toolbox toolbar
Dim DestCell As Range
Dim wks As Worksheet
Set wks = ActiveSheet
With wks
For Each OLEObj In .OLEObjects
If TypeOf OLEObj.Object Is msforms.TextBox Then
Set DestCell = OLEObj.TopLeftCell.Offset(0, 0)
DestCell.Value = OLEObj.Object.Value
OLEObj.Delete 'vp added
' ActiveCell.Activate doesnt center cell!
End If
Next OLEObj
End With
MsgBox "Done. Home, find, selection pane check for other shapes; f5, objects, Ctrl-click unselect pictures, delete."
End Sub
我收到了一个工作簿,其中包含我需要使用的值的列中的大量 ActiveX 文本框。有没有办法获取这些值并将它们放在每个框位置右侧的列中?
它们被锁定并“随细胞移动”。它们在选择窗格中显示为“HTMLText nnn”。每个文本框中有一个值。
我已经在 Kutools 上试过了(谢谢他们,the page),看起来应该可以,但什么也没发生(没有复制值,没有删除框):
Sub TextboxesToCell_Kutools()
Dim xRg As Range
Dim xRow As Long
Dim xCol As Long
Dim xTxtBox As TextBox
Set xRg = Application.InputBox("Select a cell):", "Kutools for Excel", _
ActiveWindow.RangeSelection.AddressLocal, , , , , 8)
xRow = xRg.Row
xCol = xRg.Column
For Each xTxtBox In ActiveSheet.TextBoxes
Cells(xRow, xCol).Value = xTxtBox.text
xTxtBox.Delete
xRow = xRow + 1
Next
End Sub
找到了!
Sub H___CopyFormsHTMLBoxToSameCell()
'https://windowssecrets.com/forums/showthread.php/169760-Text-box-value-from-a-web-page-copy-and-paste (modified)
Dim OLEObj As OLEObject 'from the control toolbox toolbar
Dim DestCell As Range
Dim wks As Worksheet
Set wks = ActiveSheet
With wks
For Each OLEObj In .OLEObjects
If TypeOf OLEObj.Object Is msforms.TextBox Then
Set DestCell = OLEObj.TopLeftCell.Offset(0, 0)
DestCell.Value = OLEObj.Object.Value
OLEObj.Delete 'vp added
' ActiveCell.Activate doesnt center cell!
End If
Next OLEObj
End With
MsgBox "Done. Home, find, selection pane check for other shapes; f5, objects, Ctrl-click unselect pictures, delete."
End Sub