excel - 用户窗体和选择单元格值
问题描述
只是在玩用户表单。使用它们很新。创建了一个非常简单的用户表单,可以找到我输入的两个值之间的百分比变化。(见下图)。我只是想更进一步,我想知道如何根据我选择的 Excel 单元格输入值。所以在这个例子中,如果我选择 K6,则值 15 输入当前年份,如果我随后单击 K8,则值 10 输入基准年)。希望这是有道理的,让我知道这是否可能。谢谢。
当前代码....
TextBox3_Change()
TextBox3.Value = Format((Val(TextBox1.Value) - Val(TextBox2.Value)) / Val(TextBox2.Value), "#0.00%")
解决方案
与其单击,不如在UserForm_Initialize()
事件中加载这些文本框中的值?就像是
Private Sub UserForm_Initialize()
TextBox1.Value = Sheets("Sheet1").Range("K6").Value2
End Sub
如果您真的想选择一个单元格(在显示用户表单之后)然后填充文本框,那么是的,这也是可能的。这是一个例子
出于演示目的,我将填充 1 个文本框。假设我们的用户表单看起来像这样。注意,我CommandButton1
在文本框旁边添加了一个。我把标题改成了...
。我们将使用Application.InputBox
withType:=8
以便用户可以选择一个范围。
接下来将此代码粘贴到用户表单代码区域
Option Explicit
Private Sub CommandButton1_Click()
Dim rng As Range
On Error Resume Next
'~~> Prompt user to select range
Set rng = Application.InputBox(Prompt:="Select the range", Type:=8)
On Error GoTo 0
'~~> Check if the user selected a range
If Not rng Is Nothing Then
'~~> Check if the range is single cell or not
If rng.Columns.Count > 1 Or rng.Rows.Count > 1 Then
MsgBox "Select single cell"
Exit Sub
End If
TextBox1.Text = rng.Value2
End If
End Sub
示范
推荐阅读
- c# - 如何将对象从我的 $http.get 传递给我的 c# API?
- html - 孩子隐藏在父母之外,显示:inline-blox 和溢出:自动
- keras - 一维 CNN 输入形状和训练数据形状
- php - 如何修复 pecl 在 debian buster 中安装 XML 错误 PHP 5.6?
- java - 如何使用 Jackson Streaming API 创建对象数组
- javascript - 使用 Django 从数据库加载图像的用户前端选择
- http - HTTP Keep Alive 会减少 TLS 连接吗?
- aws-lambda - 从 Lambda 内部运行 databrew.describe_job_run() 不起作用
- rundeck - 按时间限制重试,而不是尝试
- javascript - 在 react.js 中使用按钮同时发送表单和 href