VBA初心者です。フォームの中にテキストボックスを作成しています。規定値にあるシートのセルを表示しています。このセルは日付(西暦4桁)で入力しているのですがテキストボックスでは(西暦2桁)で表示されてしまいます。
FORMATというのを使用すればよいようなのですがどうつかえばいいのかわからないのです。
プロパティでテキストボックスのコントロールソースにそのセルを指定しています。
どのように記述すればよいでしょうか。
詳しい方教えていただけますでしょうか。
よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

tomoitiさんこんにちは


単純にセルの表示を反映させたいのであれば、Textプロパティを使用します。
例)TextBox1にセルA1の表示を転記する。
TextBox1.Value = Range("A1").Text
ただし、表示の転記ですから、セルが"####"になったら、テキストボックスも"####"となります。
    • good
    • 0
この回答へのお礼

お礼が遅くなりました。申し訳ありません。
やってみたところ、出来ました。
FORMATを使わなくてもできるなんてしりませんでした。
ちょっとVBが身近になったきがします。

どうもありがとうございました。

お礼日時:2001/04/27 09:18

ん?こういう事ですか??



テキストボックス = Format(規定値にあるシートのセル,"yyyymmdd")

データ型に変換した方がいいかな。。(規定値にあるシートのセル)

参考URL:http://www2s.biglobe.ne.jp/~iryo/
    • good
    • 0
この回答へのお礼

早速のお返事ありがとうございます。
ちょっとがんばってやってみます。
どうにも私がやるとうまくいかないもので・・・。
またよろしくおねがいします。

お礼日時:2001/04/26 15:50

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QAccessのクエリ。日付と顧客で売上合計をだす。

期間を指定して、顧客の売上を合計したいです。

2つのテーブルからクエリを作成しました。

tbl顧客
顧客番号
顧客名

tbl販売
販売番号
日付
顧客番号
金額

Q_売上
日付
顧客番号
顧客名
金額

∑をクリックして、金額の集計は[合計]にしています。
その他は、[グループ化]です。

日付の抽出条件は、
Between [開始] And [終了]
としています。

顧客毎に合計を出したいです。
よろしくお願い致します。

Aベストアンサー

日付の集計をグループ化ではなく、Where 条件にすれば
よろしいかと。

QExcelでセル検索したセルの色をテキストボックスに表示

セル検索した結果をテキストボックスに表示する時、文字は表示できましたが、セルの色もテキストボックスに表示したいのですが、何処を修正したらいいのか分かりません。
教えてください。
宜しくお願いします。

Sub AAA()

strMoji$ = UserForm1.TextBox1.Text

If UserForm1.TextBox1.Text = "" Then
MsgBox "検索条件を入力してください。", 48
Exit Sub
End If
On Error GoTo Fail
Worksheets("Sheet1").Range("a:a").Find(What:=strMoji, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
).Activate

lonNUM& = Selection.Row
UserForm1.TextBox2.Text = Cells(lonNUM, 2).Value
UserForm1.TextBox3.Text = Cells(lonNUM, 3).Value
UserForm1.TextBox4.Text = Cells(lonNUM, 4).Value
UserForm1.TextBox5.Text = Cells(lonNUM, 5).Value
UserForm1.TextBox6.Text = Cells(lonNUM, 6).Value
UserForm1.TextBox7.Text = Cells(lonNUM, 7).Value
UserForm1.TextBox8.Text = Cells(lonNUM, 8).Value
Exit Sub
Fail: MsgBox "該当なし", 48
End Sub

セル検索した結果をテキストボックスに表示する時、文字は表示できましたが、セルの色もテキストボックスに表示したいのですが、何処を修正したらいいのか分かりません。
教えてください。
宜しくお願いします。

Sub AAA()

strMoji$ = UserForm1.TextBox1.Text

If UserForm1.TextBox1.Text = "" Then
MsgBox "検索条件を入力してください。", 48
Exit Sub
End If
On Error GoTo Fail
Worksheets("Sheet1").Range("a:a").Find(What:=strMoji, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xl...続きを読む

Aベストアンサー

.Interior.ColorIndex
でカラーバレットのインデックス番号
.Interior.Color
でカラーコード
が得られますが、
red などの色名は得られません。
テキストボックスの背景色をセルの塗りつぶし色と同じにするなら
TextBox2.BackColor = Cells(lonNUM, 2).Interior.Color
でイイと思います。

Qエクセルで日付が入力されたセルの隣のセルの金額を合計するにはどうするのでしょうか。

A1、C1、E1セルにはユーザー定義(d”日”)で数字を入れると日付になります。
各、隣セルB1、D1、F1には金額が入力されています。
G1には合計が入るようになっています。
例えば、A1とE1に日付が入力された時、B1とF1の合計がG1に。
その後、C1に日付が入力されたらG1がB1、D1、F1の合計になるようにしたいです。
よろしくお願いします。

Aベストアンサー

こんばんは!
横からお邪魔します。

G1セルに
=SUM((A1>0)*B1,(C1>0)*D1,(E1>0)*F1)
ではどうでしょうか?m(_ _)m

Q【エクセル】テキストボックスのサイズを他のテキストボックスにもコピーできますか?

こんにちは、みなさん!!

AとういうテキストボックスのサイズをBとういう
テキストボックスのサイズにコピーできますか?

例えば、テキストボックスAの幅が3高さが1だとします。
テキストボックスBのサイズをAと同じにするには、書式
設定から、高さ幅3高さ1と入力して同じサイズのテキスト
ボックスにします。

これを、もう少し簡単にできる方法はありませんか?

ご存知の方いらっしゃいましたらよろしくお願いします。

Aベストアンサー

すでにあるテキストボックスなら、
Shiftを押しながら選択すると、
A、Bのテキストボックスを同時に選択することができます。
複数同時に選択したところで、書式設定すればいいと思います。

Q抽出結果で、合計と最新日付を得るには?

----A-----B-----C---
1 07/01 商品A 1,000
2 07/02 商品A 2,000
3 07/02 商品B 3,000
4 07/03 商品A 4,000
---------------------
のように、日付・品名・金額の列があり、
「商品A」の合計金額と、その合計した明細の最新日付を
出したいのですが、どうすればいいのでしょうか?

Aベストアンサー

合計は、
=SUMIF(B1:B4,"商品A",C1:C4)

最新日付は、
=MAX(IF(B1:B4="商品A",A1:A4))
と入力してから、CtrlキーとShiftキーを押しながらEnter

Qテキストボックスの入力に桁区切りをつけたい

エクセル2002使用です。
初歩的な質問ですいませんがよろしくお願いします。

ユーザーフォームをつくり、テキストボックスを置きました。
テキストボックスには、ユーザーが入力するのですが、50000と入力したら、50,000と表示するようにしたいのですが、どうしたらよいのでしょうか?

また、テキストボックスの入力制御が詳しく載っているHPをお知りであれば教えていただきたいのですが・・・

よろしくお願いします。「

Aベストアンサー

後は、試行錯誤しながらやってね。

Private Sub TextBox1_Change()

mystr = Format(TextBox1.Text, "###,###,###")

TextBox1.Text = mystr

End Sub

Q日付をキーにその日付から前と後をそれぞれ金額を合計する方法が知りたいで

日付をキーにその日付から前と後をそれぞれ金額を合計する方法が知りたいです。
SUMIFかSUMPRODUCTあたりの関数を使えばいいかなと思うのですが、いい方法が思いつきません。
よろしくお願いいたします。

Aベストアンサー

ちょっと、完璧にイメージできてないですが画像の上部にある日付の右にその日付未満(以下)と以上(それより新しい日付)の合計でいいんでしょうか?

日付をシリアル値と思えばSUMIFで条件式に不等式を入れれば可能です。

A1に軸となる日付が入ると仮定して

軸となる日付以前の日付
=SUMIF(日付データのある範囲,"<="&a1,金額のある範囲)

軸となる日付以降の日付
=SUMIF(日付データのある範囲,">"&a1,金額のある範囲)

どちらに軸となる日付を入れるかは不等号の=をどちらに入れるかです。

SUMPRODUCTでも出来ると思うけど、重くなりそうなので省略します。
きっと、別の方が答えてくれるでしょう。

Qテキストボックスの数値を3桁ごとに区切りたい。

テキストボックスの数値を3桁ごとに区切りたい。

エクセルのユーザーフォームにテキストボックスを1~7まで並べています。
テキストボックス1~6の合計を7に入れるようにしています。

テキストボックスに記入するVBAは以下のように投入しています。
合計は上手く表示されるのですが、3桁ごとに「,」の区切りを入れたいと思っています。
どのように記述したらよいのか、教えていただけないでしょうか。

--------------------------------------
Private Sub TextBox1_AfterUpdate()
Dim i
Dim res
For i = 1 To 6
res = res + Val(Me.Controls("TextBox" & i).Value)
Next i
TextBox7 = res
End Sub
Private Sub TextBox2_AfterUpdate()
Dim i
Dim res
For i = 1 To 6
res = res + Val(Me.Controls("TextBox" & i).Value)
Next i
TextBox7 = res
End Sub
Private Sub TextBox3_AfterUpdate()
Dim i
Dim res
For i = 1 To 6
res = res + Val(Me.Controls("TextBox" & i).Value)
Next i
TextBox7 = res
End Sub
Private Sub TextBox4_AfterUpdate()
Dim i
Dim res
For i = 1 To 6
res = res + Val(Me.Controls("TextBox" & i).Value)
Next i
TextBox7 = res
End Sub
Private Sub TextBox5_AfterUpdate()
Dim i
Dim res
For i = 1 To 6
res = res + Val(Me.Controls("TextBox" & i).Value)
Next i
TextBox7 = res
End Sub
Private Sub TextBox6_AfterUpdate()
Dim i
Dim res
For i = 1 To 6
res = res + Val(Me.Controls("TextBox" & i).Value)
Next i
TextBox7 = res
End Sub
--------------------------------------

#次の文字を書くテキストボックスの情報に加えてみましたが、
合計が狂ってうまくいきませんでした。

TextBox1.Text = Format(TextBox1.Value, "#,##0")
TextBox7.Text = Format(TextBox7.Value, "#,##0")

テキストボックスの数値を3桁ごとに区切りたい。

エクセルのユーザーフォームにテキストボックスを1~7まで並べています。
テキストボックス1~6の合計を7に入れるようにしています。

テキストボックスに記入するVBAは以下のように投入しています。
合計は上手く表示されるのですが、3桁ごとに「,」の区切りを入れたいと思っています。
どのように記述したらよいのか、教えていただけないでしょうか。

--------------------------------------
Private Sub TextBox1_AfterUpdate()
Dim i
Dim res
...続きを読む

Aベストアンサー

同じようなコードは纏めてやると修正が容易になりますので
も少し慣れてきたらそのようなコードも覚えましょう。
'----------------------------------
Private Sub TextBox1_AfterUpdate()
  Call Gokei(1)
End Sub
Private Sub TextBox2_AfterUpdate()
  Call Gokei(2)
End Sub
Private Sub TextBox3_AfterUpdate()
  Call Gokei(3)
End Sub
Private Sub TextBox4_AfterUpdate()
  Call Gokei(4)
End Sub
Private Sub TextBox5_AfterUpdate()
  Call Gokei(5)
End Sub
Private Sub TextBox6_AfterUpdate()
  Call Gokei(6)
End Sub

'------ 纏めのコード ----------------
Private Sub Gokei(N)
 Dim i As Integer
 Dim res As Double
 For i = 1 To 6
   If IsNumeric(Controls("TextBox" & i)) Then
      res = res + CDbl(Controls("TextBox" & i))
   End If
 Next i
 TextBox7 = Format(res, "#,##0")

'入力したTextBox
 Controls("TextBox" & N) = Format(Controls("TextBox" & N), "#,##0")
End Sub
'-----------------------------------------------------

以上です。

同じようなコードは纏めてやると修正が容易になりますので
も少し慣れてきたらそのようなコードも覚えましょう。
'----------------------------------
Private Sub TextBox1_AfterUpdate()
  Call Gokei(1)
End Sub
Private Sub TextBox2_AfterUpdate()
  Call Gokei(2)
End Sub
Private Sub TextBox3_AfterUpdate()
  Call Gokei(3)
End Sub
Private Sub TextBox4_AfterUpdate()
  Call Gokei(4)
End Sub
Private Sub TextBox5_AfterUpdate()
  Call Gokei(5)
End Sub
Private Sub TextBox6_AfterUpda...続きを読む

Qエクセル 最新日付以外のデータを合計する

下表があるとしまして、
氏名日付買上金額
鈴木5月5日10
鈴木5月6日60
鈴木5月7日100
鈴木5月9日400
田中5月4日100
田中5月7日200
山田5月1日600
山田5月2日200
山田5月3日300
1970
氏名毎に、最新日付以外の合計を計算したいのです。
この場合、鈴木さんが170 田中さんが100 山田さんが800の合計1070がそれぞれの氏名の最新以外データの合計となりますが、これらを自動的に計算できないでしょうか?
よろしくおねがいします。

Aベストアンサー

こんにちは。

以下の方法でできます。
大きく分けて2ステップです。
データはあらかじめ日付順でソートされているものとします。


1)作業列を作る

最新データの場合のみ買上金額にかかわらず0を返し、
それ以外の場合は買上金額そのままを返す式を、
別な列に入力します。

たとえば例で言えばA~C列に氏名、日付、買上金額ですので、
D列を作業列としましょう。
D1セルに「買上金額2」などと見出しをつけてください。

D2セルに次の式を入力します。
 =IF(A2=A3,C2,0)
そしてこの式をすべての行にコピーします。
すると、最新データの行のみ、0となり、
それ以外の行は、買上金額が表示されます。


2)集計機能で名寄せして集計する

下準備ができたらいよいよ集計です。
リスト内にカーソルを置いた状態で、

 データ-集計

で、集計の設定画面が開きます。
ここで、
 「グループの基準」 を 「氏名」
 「集計の方法」 を 「合計」
を指定します。

そして、
 「集計するフィールド」では、
 「買上金額2」のフィールドにのみ、
チェックがつくようにします。

そして、OKを押せば自動的に集計されます。

こんにちは。

以下の方法でできます。
大きく分けて2ステップです。
データはあらかじめ日付順でソートされているものとします。


1)作業列を作る

最新データの場合のみ買上金額にかかわらず0を返し、
それ以外の場合は買上金額そのままを返す式を、
別な列に入力します。

たとえば例で言えばA~C列に氏名、日付、買上金額ですので、
D列を作業列としましょう。
D1セルに「買上金額2」などと見出しをつけてください。

D2セルに次の式を入力します。
 =IF(A2=A3,C2,0)
そしてこの式を...続きを読む

Qエクセル 西暦のセルと月日のセルを合わせる

西暦(yyyy)のセルと月日(mm/dd)のセルが分かれて存在しています。
これらを合わせて(yyyy/mm/dd)と表示したいのですが、
何か簡単に行う方法はありますか?
現在手入力していますが、データの量が膨大で困っています。
よろしくお願いします。

Aベストアンサー

西暦のセルをA1、日付のセルをB1とします。
表示したいセルC1に
=date(A1,month(B1),day(B1))
これでどうでしょう。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報