コンテキスト:My Excelワークシートは、複数のシートに出力するユーザーフォームで構成されています。このユーザフォームの機能は、日付セレクタであり、単一のセルに出力することが望ましい。しかし、そのデザインの性質上(この特定のサイトの紳士から得られたDoug Glancy)、それは3つのコンボボックスで構成されています。Excel:複数のComboBox出力を1つのセルに収束させることは可能ですか?
それはとして表示されます。
[ComboBox1の:デイ] [ComboBox2:月] [ComboBox3:年]
Here is an image for visual reference
いくつかのconcrescenceを強制する任意の特定の方法があります単一のセルに出力しますか?そうでなければ、同様の結果を達成するための代替方法は何でしょうか?
編集:ここではユーザーフォームからデータを送信するための私の現在のコードです:
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
編集:答えをCLRのビッグ感謝:
mydate = DateSerial(cboYear.Value, cboMonth.Value, cboDay.Value)
Cells(emptyRow, 6).Value = mydate
このコードが出力するデータを可能にしますまさに望む通りです。これが将来誰にでも役立つことを願っています。
():こんにちは、私は新しいSOユーザーです。この問題を見つけて理解しようとしてから数時間後に、私は結論に至っておらず、
私はExcelに堪能でもVBAでもないが、私はHomeandLearnのようなサイトを通してゆっくりと言語を習っている。(私は恥ずかしく思っている)私の困難を克服するために、しかしこの特定の問題を一見役に立たないように。私は、上記の質問でなされた用語の不適切な使用または誤用、または知られていない他の誤解について事前に謝罪する必要があります。 dこの質問をする前に、このサイトのコミュニティとルールに慣れ親しみ、広範囲に答えを探しました。
ご協力いただければ幸いです。ありがとうございます。)
奇妙なことに、日付出力は日付入力と実際には異なります。例えば、06 // 03/2017は、07/09/2011の結果をシートに出力します。これがなぜ起こっているのかについてのアイディアはありますか?'mydate = DateSerial(cboDay.Value、cboMonth.Value、cboYear.Value)セル(emptyRow、6).Value = mydate' – Zemwot
2番目のオプションを使用しているとすれば、正しい順序で 'DateSerial'のパラメータを提供します。つまり、** Year **、** Month ** ** ** Day **? – CLR
ああ、私は、DateSerial関数(必要なもの)が必要な書式を持っていて、シートに送信された順序を表すものと仮定していただけです。これは現在、完全に必要に応じて機能します。私はあなたの機能的な答えを反映するためにメインのポストを更新します。 (PS:ありがとう!) – Zemwot