
CommandButton1を押すとワークシートに値を転記するUserform1を作りました。
やりたいことは、ワークシートに転記する前に登録済フリガナと、Userform1のTextBox1を比較し、重複していれば J列 の重複チェックに"●”を入れ、ダイアログで重複していることを表示、処理を抜ける。重複していなければ新規登録できるようにしたいです。フリガナの小さい”ァ”や”ッ”等の拗音(捨て仮名)を大きな文字”ア””ツ”にした J列 も必要かと思い作りました。本を参考にコードを書いていますが、どこをどのようにしたらいいのか分からず困っています。コードと一緒に説明文があると大変助かります。コードはこちらです。よろしくお願いいたします。
ワークシート名:請求先
A列:No. B列:フリガナ(会社名を半角カタカナスペースなしで入力) ~ H列:重複チェック
J列:拗音をExcelのSubstituteで大きくしたフリガナ
-----------Userform1のコード--------------
Private Sub CommandButton1_Click()
'入力必須項目が未入力なら終了(登録しない)
If TextBox1.Text = "" Then
MsgBox "半角カタカナスペースなしで入力してください。", vbInformation, "確認"
Exit Sub
End If
'各テキストボックスの値をシートに転記
Dim TargetRow As Integer
TargetRow = Range("A" & Rows.Count).End(xlUp).Offset(1).Row
Range("A" & TargetRow).Value = TargetRow - 1
Range("B" & TargetRow).Value = TextBox1.Text
Range("C" & TargetRow).Value = TextBox2.Text
Range("D" & TargetRow).Value = TextBox3.Text
Range("E" & TargetRow).Value = TextBox4.Text
Range("F" & TargetRow).Value = TextBox5.Text
'リストボックスに追加
ListBox1.AddItem TargetRow - 1
ListBox1.List(ListBox1.ListCount - 1, 1) = TextBox1.Text
ListBox1.List(ListBox1.ListCount - 1, 2) = TextBox2.Text
ListBox1.List(ListBox1.ListCount - 1, 3) = TextBox3.Text
ListBox1.List(ListBox1.ListCount - 1, 4) = TextBox4.Text
ListBox1.List(ListBox1.ListCount - 1, 5) = TextBox5.Text
'コントロールのクリア
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub userform_Initialize()
'初期化処理
Worksheets("請求先").Activate
'リストボックスの設定
With ListBox1
.Font.Size = 12
.ColumnCount = 6
.ColumnWidths = "1cm;6cm;8cm;2cm;11cm;2cm"
.TextAlign = fmTextAlignLeft
'リストボックスに請求先情報を追加
Dim I As Integer
Dim lastrow As Integer
lastrow = Range("A" & Rows.Count).End(xlUp).Row
For I = 2 To lastrow
If Cells(I, 7).Value <> 1 Then
.AddItem Cells(I, 1).Value
.List(.ListCount - 1, 1) = Cells(I, 2).Value
.List(.ListCount - 1, 2) = Cells(I, 3).Value
.List(.ListCount - 1, 3) = Cells(I, 4).Value
.List(.ListCount - 1, 4) = Cells(I, 5).Value
.List(.ListCount - 1, 5) = Cells(I, 6).Value
End If
Next
End With
End Sub

A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
CountIfにて("検索したい列範囲 例:Range("B:B")",TextBox1.Text) が1になれば既に存在しているので書き込まないようIf文で分岐をさせるとか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Visual Basic(VBA) ListBox1をClickしたときのイベント 5 2022/12/11 19:45
- Visual Basic(VBA) Excel VBA ユーザーフォーム1のコンボボックスに別ブックの値を反映させたいです。 6 2023/03/21 16:12
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Excel(エクセル) VBA 同日で2回目(午後)の体温を登録するときのコード 3 2022/08/28 20:29
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
このQ&Aを見た人はこんなQ&Aも見ています
-
好きな人を振り向かせるためにしたこと
大好きな人と会話のきっかけを少しでも作りたい、意識してもらいたい…! 振り向かせるためにどんなことをしたことがありますか?
-
何回やってもうまくいかないことは?
みなさんには、何回やってもうまくいかないことはありますか?
-
みんなの【マイ・ベスト積読2024】を教えてください。
積読、ついついしちゃいませんか?そこでみなさんの 「2024年に買ったベスト積読」を聞きたいです。
-
コーピングについて教えてください
皆さんはストレスを感じたとき、どのような方法や手段、テクニックで対処していますか?
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたい
Excel(エクセル)
-
エクセルVBAで 2種のリストを比べて重複していないデータを最下行に追加するには
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
マクロ実行後に別シートの残像...
-
VBA別シートの最終行の次行へ転...
-
VBA 空白行に転記する
-
EXCELのSheet番号って変更でき...
-
Count Ifのセルの範囲指定に変...
-
テキストボックスから、複数の...
-
Changeイベントで複数セルへの...
-
VBA データ抽出 速度改善
-
アクセスからエクセルへ出力時...
-
VBAでEXCELから固定長...
-
VBA 実行時エラー1004 rangeメ...
-
グラフマクロで系列を変数にす...
-
VBA Userformで一部別シートに...
-
Unionでの他のシートの参照につ...
-
【VBA】特定の条件でセルをコピー
-
楽天RSSからエクセルVBAを使用...
-
VBA-重複データ同士の照合
-
複数シートの複数列に入力され...
-
VBA 最終行を選んだシートにコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
EXCELのSheet番号って変更でき...
-
VBA 空白行に転記する
-
マクロ実行後に別シートの残像...
-
Count Ifのセルの範囲指定に変...
-
楽天RSSからエクセルVBAを使用...
-
VBA別シートの最終行の次行へ転...
-
Changeイベントで複数セルへの...
-
【VBA】特定の条件でセルをコピー
-
100万件越えCSVから条件を満た...
-
VBAで変数の数/変数名を動的に...
-
VBA 実行時エラー1004 rangeメ...
-
VBAでEXCELから固定長...
-
Excel2013で切り取り禁止
-
Excel VBA オートフィルターで...
-
VBA 別ブックからの転記の高速...
-
Unionでの他のシートの参照につ...
-
ExcelのVBマクロを、バックグラ...
-
アクセスからエクセルへ出力時...
-
テキストボックスから、複数の...
おすすめ情報