エクセルのVBAでプログラムを作成中です。
下二桁が1の項目のある列があれば、その列を別ワークシートの1番目の列に引用、
下二桁が2の項目のある列があれば、その列を別ワークシートの2番目の列に引用。。というように、
別ワークシートへ引用することができればな、と思います。
ポイントは、
下二桁を認識し、その値を列数と認識するにはどうすればよいか?
ex) 101023がA1セルにあり。⇒ 下二桁が23なので、別ワークシートでは23列目。
application.worksheetfunction
value
vlookup
。。色々コードは思いつくのですが、そもそも見当違いなのかもしれません。
ご教示ください。
No.1ベストアンサー
- 回答日時:
こんばんは
シート1のA1に数字を入れて以下のプログラムを実行してみてください。
Sub コピー()
Dim TargetRow As Long
Worksheets(1).Select
TargetRow = Right(Cells(1, "A"), 2)
Cells(1, "A").Copy Worksheets(2).Cells(TargetRow, "A")
End Sub
>下二桁を認識し
Right関数を使います。
右から指定した字数分だけ取り出す関数です。
>その値を列数と認識する
セルの指定の仕方に
Cells(行番号,列番号)
という方法があります。
特定のセルを指定するならば
Range("A23")
のような指定の仕方が出来ますが、
場合によって指定するセルを変えたいときには
Cells
が便利です。
No.3
- 回答日時:
質問が不明確。
補足要求。なぜ2桁と言ってながら
下二桁が1の項目などの例を出すのか。紛らわしい
ーー
A1には日付的な数字が入っているのか。日付(ヒヅケシリアル地)で無いでしょうね。それなら
やり方が変わる。
それで日ごとに、列をわけて、別シートにデータを整理したいのか(推測)
データ量(2つめ)以降は同なのか、あるのか。
そういうことを書いてくれれば判りやすいが、どうですか。
もとのワ-クシートのデータの行・列の有様を質問例として挙げて質問するものだ。
引用と言う言葉もこのような意味では使わない。参照、コピー 持ってくる からデータをセットする
などかな。検索して値を採ってくるのを、引用と言う表現している質問例は在る。
ーー
application.worksheetfunction
value
vlookup
などの使用は本質ではない。まとはずれ。
ーー
そんなことを書くより
(1)データ例
(2)目的 完成形の例
(3)簡単な説明(1)と(2)のつながり。個の県では、文字列末尾2桁が列を決める。
No.2
- 回答日時:
数字は、あくまでも計算で取り出します。
どういうことをしようとしているのか分かりませんから、こちらの想像の範囲でマクロにしました。
'//
Sub Test1()
Dim col As Long
Dim c As Variant
With Worksheets("Sheet1")
Application.ScreenUpdating = False
For Each c In .Range("A1", .Cells(Rows.Count, 1).End(xlUp))
col = c.Value - Int(c.Value / 100) * 100 '2桁を取り出す
If col > 0 Then
With Worksheets("Sheet2").Cells(Rows.Count, col).End(xlUp)
If .Value = "" Then
.Value = col '1行目に書き込む
Else
.Offset(1).Value = col '2行目以降に書き込む
End If
End With
End If
Next
Application.ScreenUpdating = True
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Visual Basic(VBA) vbaマクロについて シート1のA列にある商品コードが シート2のB列にある商品コードに該当する場合 2 2023/05/17 13:41
- Excel(エクセル) vba シート名の一覧を2列に分けるには 5 2023/04/24 08:56
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Visual Basic(VBA) VBAで、シート間の転記するコードをFOR~NEXTで教えてください。 9 2023/04/30 20:04
- Excel(エクセル) Excel関数 情報引用する方法 4 2022/07/31 20:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel VBA】CSV取込時、数字...
-
Word2016でExcelデータを差込し...
-
EXCELの列の幅
-
エクセルで前年同日・前月同日...
-
EXCELで2つのシートから一致し...
-
エクセルで2列以上のものを同時...
-
エクセルで電話番号にハイフン...
-
ExcelのIF関数について
-
Excel 表の必要箇所だけを抜き...
-
エクセル:最新データ12件で...
-
可視セルのみのコピー
-
エクセルの複数ワークシートの...
-
ドロップダウンリスト
-
単価別売上合計の求め方
-
Excelで複数セルを選択したまま...
-
Excelで縦割りを途中から増やす...
-
セル入力文字が、「右のセルに...
-
エクセル、ページをまたがった...
-
パワポの複数ページにまたがる...
-
ワードの表の行が広がってしまう
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Word2016でExcelデータを差込し...
-
【Excel VBA】CSV取込時、数字...
-
EXCELで2つのシートから一致し...
-
Excel 表の必要箇所だけを抜き...
-
EXCELの列の幅
-
エクセルで前年同日・前月同日...
-
エクセルでページ毎の計をつけ...
-
EXCEL2007で2つのシートのどっ...
-
excelの列がいっぱいになり列を...
-
エクセルで電話番号にハイフン...
-
エクセルVBAで複数列データを1...
-
EXCELで不良率を出そうと思って...
-
エクセルの複数ワークシートの...
-
エクセルの余白を0にしても列...
-
エクセルで縦線のいっぱい入っ...
-
Excelで奇数行を削除
-
ExcelのIF関数について
-
Excelのhperlink関数で作ったモ...
-
エクセル:最新データ12件で...
-
ピボットテーブル作成後、重複...
おすすめ情報