No.2ベストアンサー
- 回答日時:
こんばんは!
「特定の列」の条件が判らなければ、列の特定ができませんので、やり方だけ・・・
Sheet1の1行目が項目行になっていて、列方向に色々な項目が入っているとします。
その中の一つの項目をSheet2のA列にコピー&ペーストするコードです。
Alt+F11キー → VBE画面が出ますので画面左下にある「This Workbook」をダブルクリック →
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub test() 'この行から
Dim j As Long
Dim str As String
Dim ws1, ws2 As Worksheet
Set ws1 = Worksheets("sheet1")
Set ws2 = Worksheets("sheet2")
str = InputBox("抽出したい項目名を入力")
If WorksheetFunction.CountIf(ws1.Rows(1), str) Then
j = WorksheetFunction.Match(str, ws1.Rows(1), False)
ws1.Columns(j).Copy Destination:=ws2.Cells(1, 1)
Else
MsgBox ("検索項目がありません。")
Exit Sub
End If
End Sub 'この行まで
※ あくまでたたき台ですので、条件等が具体的に判ればもっと適切な回答が得られると思いますよ。
この程度で失礼します。m(_ _)m
No.3
- 回答日時:
初心者だろうに、データ実例も挙げて、質問しないから、何のことを言って居るか、正確にわからない。
聞くほどのことでもないと効いていることの予想が難しい。>特定の列
B列とかC列とか考えるのか?
その他の指定なのか。例えばデータの最も右の列をとらえたい、なんていうのもあるのだ。
まず単数列か複数列かが肝心。
Range(”A1:B10”).Copy
貼り付けも含めて、の書きかたは
Sub test02()
Range("A1:A10").Copy Range("H1")
End Sub
ーー
Sub test02()
Range("A1:B10").Copy Range("H1")
End Sub
のようにかけるが、質問者のセルの指定はどうしようとしているのか。
>初心者は「特定の」が好きだが、むしろ、A列の1行目から10行目までとか、1つの場合の記述で説明して、質問し、回答に対し、質問者が類推を働かせて、実際の質問者の場合のコードを作り上げるほうがよかろう。
ーー
ここへ質問して有効なのは、VBAの初級を卒業してから。
それまでは、解説書を繰り返し読むか、スクールへ通うこと。
ーー
二ーズがまずあって、勉強もしてないのに、当たろうとしても無理です。
職人仕事でも、初めは、そばで付いて指導する人が必要でしょう。どうしてプログラムだけは、聞いて何とかなるように思うのか。
VBAはすべて他人(マイクロソフト)が作った約束事なのに、ほとんど覚えるほか無いのに。
質問が抽象的で失礼いたしました。
皆様から教えていただいたコード内の命令を一つずつ調べております。
一つずつ動作を確認して時間が掛かってますが。
ほぼ実現できそうです。
本来は基本から勉強するべきでしたがやっつけでこれ1本の急ぎと言う
現実があり不躾な質問申し訳ありませんでした。
質問の回答は、ほぼ得られたました。
あまり、情報が増えると処理しきれないので解決とさせていただきます。
皆様のコードが参考になったのにベストアンサーは1人さましか選べないのが残念です。
お許しください。
No.1
- 回答日時:
たとえば目的の列が「必ず1つある」のか「1つもない場合もある」のか「該当する列は実はいくつもある」のか,そういったそもそもアナタの実際のデータがどうなっているのかを,ご自分で一番によく把握しなくては始まりません。
また「判定」とは一体全体具体的にどういう事なのか,たとえば「データの完全一致」なのか,それとも「セルに色が塗ってある」だとかそういう事を見たいのかといった,「アナタのヤリタイことは一体何ですか」というのもご自分でキチンと理解してからでないと,何も出来ません。
作成例:
sub macro1()
dim h as range
’探す
set h = range("1:1").find(what:="abc", lookin:=xlvalues, lookat:=xlwhole)
’見つからないときは終了する
if h is nothing then
msgbox "NOT FOUND"
exit sub
end if
’コピーする(とりあえず1列)
h.entirecolumn.copy destination:=worksheets("Sheet2").range("A1")
end sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) excelの列幅高さが勝手に変わる(特定のPCだけ) 8 2022/07/14 16:51
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Excel(エクセル) エクセルシートのデータを1列飛ばしで別ブックのシートに貼り付けるマクロが知りたい 2 2023/06/05 22:37
- Excel(エクセル) Excelマクロの作成方法・コーディングをご教授ください。 3 2023/02/26 18:09
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセス 取り込み時に、桁数(...
-
エクセル 1つのシートを日付で...
-
Excel/VBA ステップインと通常...
-
エクセルマクロの組み方
-
エクセルでセル12個間隔で合...
-
【エクセルVBA】任意の画像フォ...
-
エクセルの列をたたむ操作
-
Excelの行数、列数を増やしたい...
-
列方向、行方向の定義
-
VLOOKUPの列番号の最大は?
-
LEFT関数とIF関数の組み合わせ...
-
あああ..ああい..ああう とい...
-
Excelのマクロについて教えてく...
-
エクセル マクロ オートフィ...
-
Excelのマクロについて教えてく...
-
エクセルで複数のシートのクリ...
-
VBAマクロ実行時エラーの修正に...
-
Excelのマクロについて教えてく...
-
DataGridViewでグリッド内に線...
-
Excel UserForm の表示位置
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
VBA 指定した列にある日時デー...
-
CSVファイルの「0落ち」にVBA
-
エクセルで住所を県と市・郡と...
-
Excelの行数、列数を増やしたい...
-
エクセルで複数列の検索をマク...
-
エクセルマクロの組み方
-
Alt+Shift+↑を一括で行うには、...
-
えABのある列って
-
エクセルのソートで、数字より...
-
エクセル マクロ 範囲指定で...
-
VBAで結合セルを転記する法を教...
-
VBAで別ブックの列を検索し、該...
-
エクセルマクロPrivate Subを複...
-
列方向、行方向の定義
-
リストからデータを紐付けしたい
-
Accessのレポートで繰り返し表...
おすすめ情報