> リストBOXの値を選択→テキストBOXに表示される→内容変更→実行→シートに転記(上書) 転記先の行が TargetRow = txt日付.Text ってことがおかしいので、 多分、この掲示板に書いてないコードの部分で TargetRow は求められていますよね? だとしたら、この処理の流れで、お書きのシートのデータの並びなら、 TargetRow = txt日付.Text は Cells(TargetRow, 1).Value = txt日付.Text の書き間違いってことではないですか?
申し訳ありません、 エクセルに下記のようにデータがあります。 説明の仕方が悪くて、すみません。 A列 B列 C列 D列 E列 F列 G列 認知日 日曜日 名前 金額 業者名 状況 内容 4/29 金曜日 ******* 3,848万円 ****** 申請中 一般 4/29 金曜日 ******* 3,848万円 ****** 未登録 一般 4/29 土曜日 ******* 2,260万円 ****** 新規 一般 4/29 土曜日 ******* 2,980万円 ****** 新規 一般 4/29 日曜日 ******* 2,980万円 ****** 新規 一般 4/29 土曜日 ******* 2,790万円 ****** 新規 一般 よろしくお願いいたします。
Integer型が扱える数字の範囲は、-32,768 〜 +32,767 です。 2018/4/29 を数値にすると 43,219 なので Dim TargetRow As Integer ではオーバーフローしてしまいます。 Dim TargetRow As Long TargetRow = CLng(txt日付.Text) とすることを考えましたが、この TargetRow はセルの行数みたいなので ちょっと違うかも・・・ 2018/4/29 という文字列をどのようにしたいのでしょうか? TargetRowはどのような値にしたいのですか?
TargetRow は Dim TargetRow As Integer と宣言しているので整数型 txt日付.text はtxt日付というオブジェクトに表示されている文字列が返されます。 よって、整数型と文字列と異なるというエラーになるものと思われます。 txt日付.Textは日付の文字列の気がしますので、CDate(txt日付.Text) と型変換すれば・・・と思いましたが、 Cells(TargetRow, 2).Value とセルの行に使う数値のようですので 日付データではないようですね。 整数型への変換なら、CIntを使えばよさそうに思います。 TargetRow = CInt(txt日付.Text) といった感じ。 txt日付.textが何者で、どんな値が返されるのかわかりませんので、的を外している可能性があります。 たぶん型変換すればよいと思われるので、↓をご覧ください。 データ型変換関数 http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/function/vba_typeconv.html
よねさん、 お忙しいところ申し訳ありません。どのように変更すればよいのかわかりません、 どうぞ宜しくお願い致します。 リストBOXの値を選択→テキストBOXに表示される→内容変更→実行→シートに転記(上書) Private Sub btn変更_Click() Worksheets("データ").Activate With ListBox1 Dim TargetIndex As Integer TargetIndex = .ListIndex .List(TargetIndex, 0) = Format(txt日付.Text, "yyyy/m/d") .List(TargetIndex, 1) = Format(TextBox1.Text, "aaaa") .List(TargetIndex, 2) = txt物件名.Text .List(TargetIndex, 3) = Format(txt価格.Text, "#,##万円") .List(TargetIndex, 4) = Com業者名.Text .List(TargetIndex, 5) = Com状況.Text .List(TargetIndex, 6) = Com取引態様.Text .List(TargetIndex, 7) = "-" Dim TargetRow As Integer TargetRow = txt日付.Text Cells(TargetRow, 2).Value = Format(TextBox1.Text, "aaaa") Cells(TargetRow, 3).Value = txt物件名.Text Cells(TargetRow, 4).Value = Format(txt価格.Text, "#,##万円") Cells(TargetRow, 5).Value = Com業者名.Text Cells(TargetRow, 6).Value = Com状況.Text Cells(TargetRow, 7).Value = Com取引態様.Text Cells(TargetRow, 8).Value = "-" End With End Sub TargetRow = txt日付.Textここで黄色が付き型が違いますとエラーが出ます。 登録は、うまくいきます。 宜しくお願い致します。