人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

EXCEL VBAの質問です。

シート1に納品書
シート2に例文が入れてあって

例えばボタンを押せば、ユーザーフォームが立ち上がってシート2のセルに保管されているいくつかの例文が表示されて選択してボタンを押せば、その例文が現在選ばれているセル又は任意のセルにその例文を入れることはできますでしょうか?

コードを作ってくれた方にはポイントをたくさん差し上げます。

●質問者: imagedive
●カテゴリ:コンピュータ
✍キーワード:コード セル ボタン ポイント ユーザー
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● たか
●250ポイント ベストアンサー

http://excel2007.web.fc2.com/test.xls

こんなカンジでしょうか?


ダイアログの実行だけVBAを使用しています。

あとはドロップリストを使用し、抽出先にVLOOKUP関数で読み出します。

◎質問者からの返答

ほぼ、希望通りなのですが

入力したテキスト文を少し変更して使いたいので、できたらテキスト文のみを抽出して入力したいのです。

具体的に言うと

TAKASHIさんが作ってくださった納品書のシートのA3部分のテキスト文を少しだけ変更させて使いたいのです。

ほとんど例文通りなのですが、少しだけ変更して使いたいと思っています。

例文のシートの文を変更すればいいだけの話なのですが、それでは例文が膨大になってしまうのでできたらA3のセル上で変更を加えたいのです。

それ以外のところはほぼ希望通りですので、

かなり助かりました。

もしできましたらよろしくお願い致します。


2 ● SALINGER
●250ポイント

1の方のExcelファイルからユーザーフォームを追加して実現する方法


VBAでユーザーフォームを追加してComboboxとButtonを追加して1の方のようなフォームを作ります。

名前はデフォルトのComboBox1とCommandButton1にします。

Sheet1のコードを

Private Sub CommandButton1_Click()
 UserForm1.Show
End Sub

に変えて作ったユーザーフォームを呼び出すようにして

ユーザーフォームのコードを以下

Private Sub ComboBox1_Change()
 Worksheets("納品書").Range("A3").Value = Worksheets("例文").Cells(ComboBox1.ListIndex + 4, 3).Value
 Worksheets("納品書").Range("A5").Value = Worksheets("例文").Cells(ComboBox1.ListIndex + 4, 4).Value
End Sub

Private Sub CommandButton1_Click()
 Unload Me
End Sub

Private Sub UserForm_Initialize()
 Dim i As Long
 
 ComboBox1.Style = fmStyleDropDownList
 CommandButton1.Caption = "OK"
 Me.Caption = "例文抽出"
 
 i = 4
 While Worksheets("例文").Cells(i, 2).Value <> ""
 ComboBox1.AddItem (Worksheets("例文").Cells(i, 2).Value)
 i = i + 1
 Wend
End Sub
◎質問者からの返答

素晴らしいです。できました。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ