Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba Excel:是否可以将多个组合框输出聚合到一个单元格中?_Vba_Excel_Combobox - Fatal编程技术网

Vba Excel:是否可以将多个组合框输出聚合到一个单元格中?

Vba Excel:是否可以将多个组合框输出聚合到一个单元格中?,vba,excel,combobox,Vba,Excel,Combobox,上下文:我的Excel工作表由一个输出到多个工作表的用户表单组成。此userform的一个函数是一个日期选择器,希望输出到单个单元格。然而,由于其设计的性质(从该特定站点的一位先生Doug Glancy处获得),它由三个组合框组成 它显示为: [ComboBox1:Day][Combox2:Month][ComboBox3:Year] 有没有什么特别的方法可以将多个输出的结果合并到一个单元格中?如果没有,还有什么替代方法可以达到类似的效果 编辑:以下是我当前用于从userform传输数据的代码

上下文:我的Excel工作表由一个输出到多个工作表的用户表单组成。此userform的一个函数是一个日期选择器,希望输出到单个单元格。然而,由于其设计的性质(从该特定站点的一位先生Doug Glancy处获得),它由三个组合框组成

它显示为

[ComboBox1:Day][Combox2:Month][ComboBox3:Year]

有没有什么特别的方法可以将多个输出的结果合并到一个单元格中?如果没有,还有什么替代方法可以达到类似的效果

编辑:以下是我当前用于从userform传输数据的代码:

    Sub Transfer()

Dim emptyRow As Long

'Make Sheet2 active
Sheet2.Activate

'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("B:B")) + 1

'Transfer information
Cells(emptyRow, 2).Value = TextBoxSON.Value
Cells(emptyRow, 3).Value = TextBoxJobDescription.Value
Cells(emptyRow, 4).Value = TextBoxCustomer.Value
Cells(emptyRow, 5).Value = TextBoxQuantity.Value
Cells(emptyRow, 6).Value = TextBoxDateRequired.Value

Dim LR As Integer
LR = Range("B" & Rows.Count).End(xlUp).Row
Application.EnableEvents = False
Range("A4:BB" & LR).Sort Key1:=Range("A4"), Order1:=xlAscending, _
    Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Application.EnableEvents = True

End Sub
编辑:非常感谢您的回答:

mydate = DateSerial(cboYear.Value, cboMonth.Value, cboDay.Value)
Cells(emptyRow, 6).Value = mydate
此代码使数据能够完全按照需要输出。希望这对将来的任何人都有帮助

不相关的(但似乎必要的)信息:嘿,我是一个新的SO用户。经过数小时(和数小时)的努力寻找和理解这个问题,我还没有得出任何可能的结论,愤怒的时钟指针猛烈地指向我,我被迫(羞愧地)问这个问题

我既不精通英语,也不懂VBA。然而,我一直在通过HomeandLearn.org等网站慢慢学习英语,以克服我的困难,但在这个特殊问题上似乎没有任何效果。我必须为任何不当使用或误用术语或任何其他未经告知的误解提前道歉在提出这个问题之前,我试图熟悉这个社区和这个网站的规则,并广泛地搜索答案

任何帮助都将不胜感激。谢谢。)

这是什么

MyDate = ComboBox1.Value & ComboBox2.Value & ComboBox2.Value
Cells(emptyRow, 7).Value = MyDate

如果希望单元格仅包含3个框中的文本,请使用:

 mydate = ComboBoxDay.Value & ComboBoxMonth.Value & ComboBoxYear.Value
 Cells(2, 7).Value = mydate
但是,更有用的方法可能是使用实际日期填充单元格:

 mydate = DateSerial(ComboBoxYear.Value, ComboBoxMonth.Value, ComboBoxDay.Value)
 Cells(2, 7).Value = mydate

看起来,你似乎是对的。非常感谢你!但是仍然存在一个问题:日期作为一个完整的长整数输出。例如:31012017,因此在日期格式中显示为######。是否有任何方法将此信息以“/”作为分隔符输出?(此外,我对您的评论进行了更新,但由于我的帐户是新的,因此不会显示为新的)再次感谢您的帮助。奇怪的是,日期输出实际上与日期输入不同,例如:2017年3月6日导致2011年9月7日输出到工作表。你知道为什么会这样吗?下面是适用于用户表单的代码:
mydate=DateSerial(cboDay.Value,cboMonth.Value,cboYear.Value)单元格(emptyRow,6)。Value=mydate
假设您使用的是第二个选项,请检查您是否按正确的顺序提供了
DateSerial
的参数。。i、 年,月,然后天?啊,我根本不知道DateSerial函数(Thing)有一个必需的格式,只是假设它们代表了它们传输到工作表的顺序。现在它完全按照预期工作。我将更新主要帖子以反映你的答案。(附言:非常感谢!)