おはようございます。
Excelの Sheet1 に次の様な表があり、
(Sheet1)
A B C D E F G
1 (1) 部品名 「TextBox1」 (5) 標準価格 「TextBox5」
2 (2) 型式 「TextBox2」 (6) 標準価格 「TextBox6」
3 (3) 仕様 「TextBox3」
4 (4) メーカー 「TextBox4」
「TextBox1~6」にそれぞれ情報を入力して「CommandButton1」を押すと、 Sheet2 にデータが書込まれる様にしたいのですが可能でしょうか?
(Sheet2)
A B C D E F
1 部品名 型式 仕様 メーカー 標準価格 仕入価格
2 ↓ ↓ ↓ ↓ ↓ ↓
ど素人なもので上手く説明できませんが、どなたか教えていただけないでしょうか?
宜しくお願いします。
Excel2000を使用しています。
No.3
- 回答日時:
#2の回答者です。
ちょっとしたアドバイスです。#2は、掲示板の回答としては定番ですが、実は、今回の#2のようなコードは、あまりテキストには載っていないのです。
テキストで書かれている基本的な方法は、ひとつずつ、値を取る方法です。
-------------------------------------------
i = Sheet2.Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheet2.Cells(i,1).Value =TextBox1.Value
Sheet2.Cells(i,2).Value =TextBox2.Value
(……)となると思います。
-------------------------------------------
本当は、書き方のスタイルにこだわったり、ワザを使ったりしなくてもよいのです。ただ、間違いのない書き方をすればよいだけなのです。
覚えるためには、多くの諸先輩たちがいうように、一定の期間に一定の数をこなしていくことしかありません。長い実践的なコードよりも、ごく基礎的なものを数多く自分で入力して、「実行(RUN)」していくことです。500個がひとつのボーダーラインです。一通り書けるレベルようになるまでに、早い人で、3~6ヶ月、普通の人は、2~3年掛かります。中には、一向に上達しない人もいますが、いずれにしても、ほとんどの人は、初級終了にたどり着かずに終わってしまいます。#2のコードは、ちょうど初級を終わったレベルのコードです。
私としては、VBAは、頭で覚えるものではなく、VBEdiotr の反応で覚えるようなものだと思っています。エラーが返ったら、エラーを潰す。なぜエラーが出たか、自分で考えて、エラーがでないようにして行くことが究極的にVBAを覚えることだと思います。ほとんどの人は、そのようにして覚えたと思います。
No.2ベストアンサー
- 回答日時:
こんにちは。
シートモジュールに書きます。
'----------------------------------------
Private Sub CommandButton1_Click()
Dim arData(5) As Variant
Dim i As Long
For i = 1 To 6
arData(i - 1) = Me.OLEObjects("TextBox" & i).Object.Value
Next i
With Worksheets("Sheet2")
i = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If i < Rows.Count Then
.Cells(i, 1).Resize(, 6).Value = arData
End If
End With
Beep
End Sub
'-------------------------------------------
おはようございます。
Wendy02さんのおっしゃる通りに入力したらできました!!
ど素人の自分にはとてもいい勉強になりました。
ありがとうございました。
No.1
- 回答日時:
これ、VBA使わないと出来ないと思いますけどね。
VBAを使えば簡単なんですけど、VBAを勉強する根性ありますか?
とりあえず、テキストボックス(リストボックスですよね? テキスト
ボックスを使うなら、セルの入力で済みますもん)の内容を、例えば
Sheet1のAA1~AF1にリンクさせておくなら、VBAは、こんなコードを
コマンドボタンに張り付けると動くと思いますけど。
Sub TEST()
Sheets("Sheet1").Select
Range("AA1:AF1").Copy
Sheets("Sheet2").Select
Range("A65536").End(xlUp).Offset(1).Select
ActiveSheet.Paste
Sheets("Sheet1").Select
End Sub
今VBAの勉強していますよ。
といっても理解力のない私にはかなり険しい道のりなのですが…。
FEX2053さんのご回答通りのコードを張付けたらできました!!
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/20 14:46
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- その他(買い物・ショッピング) 商品に印字してあるバーコードについて 3 2022/08/26 10:42
- JavaScript 【jquery】EasyUIのSubGridにMySQLのテーブルデータを表示&編集にしたい 5 2022/05/02 13:10
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 16:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
エクセル関数を教えてください
-
String""から型'Double'への変...
-
ApplicationとWorksheetFunctio...
-
エクセルVBAでApplication.Sum...
-
VBでSQL文のUPDATE構文を使った...
-
マクロの「SaveAs」でエラーが...
-
Filter関数を用いた結果、何も...
-
実行時エラー 438 の解決策をお...
-
VBA データ(特定値)のある最...
-
数式は残し値をクリアするマク...
-
エクセルVBAで#N/Aのようなエ...
-
マクロで"#N/A"のエラー行を削...
-
ACCESS VBAのSplit()関数の使用...
-
ACCESS2007 VBA 「INSERT INTO...
-
文字列内で括弧を使うには
-
【VBA】ワークブックを開く時に...
-
C言語のエラーについて。
-
オブジェクト型の変数にフォー...
-
Excel vbaについての質問
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
VBAでfunctionを利用しようとし...
-
お助けください!VBAのファイル...
-
文字列内で括弧を使うには
-
実行時エラー 438 の解決策をお...
-
マクロで"#N/A"のエラー行を削...
-
On ErrorでエラーNoが0
-
エクセルVBA 「On Error GoTo...
-
VBA データ(特定値)のある最...
-
実行時エラー'-2147467259(8000...
-
【VBA】ワークブックを開く時に...
-
VBでSQL文のUPDATE構文を使った...
-
ACCESSで値を代入できないとは?
-
マクロの「SaveAs」でエラーが...
-
Excel vbaについての質問
-
インポート時のエラー「データ...
-
Filter関数を用いた結果、何も...
-
「実行時エラー '3167' レコー...
-
バッチファイルで、あるスクリ...
おすすめ情報