A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
カンペならイッパイ転がってるよ~、、、
ユーザフォーム入門 - 住所入力フォームを作成する(4) ~ ワークシートへの転記他
(Excel 2000)
http://www.moug.net/tech/exvba/0090037.html
No.2
- 回答日時:
こんにちは!
>エクセルでデータ入力用のフォームは作ることができたのですが
とありますが、どのようなフォームになっているか判りませんので
テキストボックスを3個配置し、
テキストボックス1が「分類」
テキストボックス2が「図書名」
テキストボックス3が「冊数」の数値
をそれぞれ入力し、コマンドボタンでSheetに上から順次表示させるユーザーフォームだとします。
仮に1行目が項目行で2行目以降のA~D列にデータを列記する場合の一例です。
コマンドボタンのコードに
Private Sub CommandButton1_Click()
With Cells(Rows.Count, 1).End(xlUp).Offset(1)
.Value = .Row - 1
.Offset(, 1) = TextBox1
.Offset(, 2) = TextBox2
.Offset(, 3) = TextBox3.Value
End With
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
End Sub
といった具合ではどうでしょうか?
※ コード内の
> .Row - 1
の部分で番号調節を行います。
仮に項目行が4列目で5行目からデータを列記する場合は
> .Row - 4
となります。
参考になりますかね?m(_ _)m
No.1
- 回答日時:
作成されたデータ入力用のフォームが、どのような物なのか分かりませんが、
仮に、添付の図のような環境だとします。
ユーザフォームのコードは、以下のように感じになります。
--------------------------------------------------
''------------------------------
'' フォームの初期化
''------------------------------
Private Sub UserForm_Initialize()
'' 分類のセット
cmbGroup.AddItem "文庫本"
cmbGroup.AddItem "週刊誌"
cmbGroup.AddItem "月刊誌"
'' 冊数のセット
txtNumber.Value = 1
txtNumber.Locked = True
End Sub
''------------------------------
'' 冊数スピンボタン[▲]押下時
''------------------------------
Private Sub spnNumber_SpinUp()
txtNumber.Value = txtNumber.Value + 1
End Sub
''------------------------------
'' 冊数スピンボタン[▼]押下時
''------------------------------
Private Sub spnNumber_SpinDown()
If txtNumber.Value > 1 Then
txtNumber.Value = txtNumber.Value - 1
End If
End Sub
''------------------------------
'' 新規登録ボタン押下時
''------------------------------
Private Sub cmdAdd_Click()
Dim ws As Worksheet
Dim ret As Range
Dim iRow As Long
'' 確認メッセージ
If MsgBox("登録しますか?", vbQuestion + vbYesNo) = vbNo Then
Exit Sub
End If
'' 入力チェック
If cmbGroup.Value = "" Then
MsgBox "分類を選択してください"
Exit Sub
End If
If Trim(txtTitle.Value) = "" Then
MsgBox "タイトルを入力してください"
Exit Sub
End If
'' 対象のワークシートをセット
Set ws = ThisWorkbook.Worksheets("蔵書一覧")
'' 重複チェック
Set ret = ws.UsedRange.Find( _
What:=txtTitle.Value, _
After:=ws.Range("C2"), _
LookAt:=xlWhole, _
SearchOrder:=xlByRows)
If Not ret Is Nothing Then
MsgBox "タイトル『" & txtTitle.Value & "』は既に登録されています。"
Exit Sub
End If
'' 新規行の追加
iRow = ws.UsedRange.End(xlDown).row + 1
ws.Cells(iRow, 1).Value = ws.Cells(iRow - 1, 1).Value + 1
ws.Cells(iRow, 2).Value = cmbGroup.Value
ws.Cells(iRow, 3).Value = txtTitle.Value
ws.Cells(iRow, 4).Value = txtNumber.Value
'' 書式のセット
ws.Range(ws.Cells(iRow - 1, 1), ws.Cells(iRow - 1, 4)).Copy
ws.Range(ws.Cells(iRow, 1), ws.Cells(iRow, 4)).PasteSpecial _
Paste:=xlPasteFormats
Application.CutCopyMode = False
ws.Cells(1, 1).Select
End Sub
--------------------------------------------------
上記コードでは、適当に入力チェックや重複チェックを入れてありますが、
これらは仕様によりますので、必要に応じて行ってください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) evcel VBAについて 2 2022/08/02 21:37
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
YahooのIDがロックされてしまい...
-
Accessに関する質問です。 クエ...
-
マイクロソフト アクセス2021の...
-
Wordでドロップダウンリストを...
-
Accessで、フォームからフォー...
-
アクセス フォームをリクエリ...
-
アクセスで、androidのスマホサ...
-
アクセスで、スマホサイズのフ...
-
Accessフォームを開くときに決...
-
フォームの高さを数値で指定し...
-
Access レポート印刷するときに...
-
ACCESSでコントロールソースの変更
-
皆さん使っているブラウザを教...
-
レコードを保存するコード ア...
-
ACCESS──メインフォームでサブ...
-
クエリで出来た表にチェックボ...
-
passwordが入れられません・・・・
-
サブフォームに対してGoToRecor...
-
JW-CADのAutoモードの解除はで...
-
Access2007 ラベルの削除がで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
YahooのIDがロックされてしまい...
-
Accessで、フォームからフォー...
-
「フォームを作成できませんで...
-
フォームの高さを数値で指定し...
-
デフォルトでチェックボックス...
-
MSワード 年齢を計算表示でき...
-
Accessフォームを開くときに決...
-
アクセス フォームをリクエリ...
-
Accessのフォームで開く時のウ...
-
アクセスで複数列にまたがる同...
-
Excelのデータフォームの設定変更
-
帳票フォームのなかにリストを...
-
ACCESSでオートメーションエラー
-
アクセスのレコードをフォーム...
-
エクスポートされたエクセルの...
-
Access 2010フォームの全画面表示
-
アクセスで同じフォームを違う...
-
Accessに関する質問です。 クエ...
-
Access2003 フォーム入力中に...
-
エクセルで各セルをダブルクリ...
おすすめ情報