程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Excel 从文本框中获取单元格值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Excel 从文本框中获取单元格值?

开发过程中遇到Excel 从文本框中获取单元格值的问题如何解决?下面主要结合日常开发的经验,给出你关于Excel 从文本框中获取单元格值的解决方法建议,希望对你解决Excel 从文本框中获取单元格值有所启发或帮助;

我想将我的 excel 单元格与文本框链接起来。我希望文本框内容显示在 excel 单元格中。我要将 1 个以上的单元格链接到文本框。

我的情况最初如下图所示:

Excel 从文本框中获取单元格值

我简单地在 Excel 中尝试,通过编写: ="TextBox 9",但它不起作用。

我已经读到不使用 VBA 代码也可以:

https://www.reddit.com/r/excel/comments/25djwo/referencing_a_texT_Box_in_a_cell_formula_without/

但右键单击后,我这里没有“属性”选项。

另一方面,替代消息来源说,没有选项可以直接在 Excel 中完成。

有一些可用的 VBA 解决方案:

Pass UserForm textbox value to cell

Get the value of a textbox to a cell

但它们在我的情况下不起作用

我在这里找到了最接近的解决方案:

https://www.extendoffice.com/documents/excel/4047-excel-convert-textbox-to-cell.html

但不幸的是,它适用于我不想要的工作簿中所有可用的文本框。

我试图只指定一个我需要的文本框:

 Sub TEXTBoxesToCell()
 'updatebyExtendoffice20160918
  Dim xRg As Range,Trg As Range
  Dim xRow As Long
  Dim xCol As Long
  Dim xTxtBox As TextBox
 
  Set xRg = Application.inputBox("SELEct a cell):","copying textBox data",_
                                ActiveWindow.RangeSELEction.AddressLocal,8)
  xRow = xRg.Row
  xCol = xRg.column

  Set xTxtBox = ThisWorkbook.Worksheets("Internal checkList").Shapes("TextBox 9")
 
  For Each xTxtBox In ActiveSheet.TextBoxes
    Cells(xRow,xCol).Value = xTxtBox.Text
    xTxtBox.delete
    xRow = xRow + 1
 Next
 
 End Sub
@H_674_39@

但不幸的是,我收到一个错误:类型不匹配

对于我定义正确文本框的行

    Set xTxtBox = ThisWorkbook.Worksheets("Internal checkList").Shapes("TextBox 9")
@H_674_39@

如何从文本框中获取数据到我的相关单元格?

解决方法

我认为文本框的类型之间出现了一些混淆。 excel主要分为三种:

  • 表单文本框
  • ActiveX 文本框
  • 文本框形状

您可以在此处找到有关后两个的更多信息:https://support.microsoft.com/en-ie/office/add-a-label-or-text-box-to-a-worksheet-6905d5da-fad4-432e-87ea-001f3ecd6cd6

我怀疑您正在使用后者,但一直在寻找可以工作的代码,这将与第一个一起工作。这也可能解释了为什么您没有获得它的属性。

在 VBA 中,TextBox@H_674_39@ 对象仅适用于 ActiveX 文本框。在您将 xTxtBox 声明为 TextBox 的情况下,您然后尝试将该变量设置为文本框形状,这就是您收到类型不匹配错误的原因。

一种解决方法是将其设置为 shape@H_674_39@:

Dim xTxtBox As Shape
@H_674_39@

然后,您可以仅用一行替换 for each@H_674_39@ 循环中的所有内容(除非您在完成后确实想删除该形状?我对您在那里的意图感到有些困惑):>

Cells(xRow,xCol).Value = xTxtBox.TextFrame2.TextRange.Text
@H_674_39@

注意额外的属性 TextFrame2.TextRange。因为它是一个形状,你必须深入到包含的对象中才能找到这些属性。

或者为简单起见,如果您只想将单元格值设置为文本框中的值,您可以跳过变量的声明,并将其分配给一个形状并在一行中完成:

Cells(xRow,xCol).Value = ThisWorkbook.Worksheets("Internal checklist").Shapes("TextBox 9").TextFrame2.TextRange.Text
@H_674_39@

大佬总结

以上是大佬教程为你收集整理的Excel 从文本框中获取单元格值全部内容,希望文章能够帮你解决Excel 从文本框中获取单元格值所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: