Quantcast
Channel: OKWAVE 最新質問(Visual Basic/257)【本日】
Viewing all articles
Browse latest Browse all 6510

VBA ソートに関する初心者の質問

$
0
0
VBAをほとんど知らない人間がネットで調べながら組んでみたものの 行き詰ってしまった検索に関する質問です 現状: ・aシートは、「ID(4~6桁)毎の名前がついたフォルダ(7000個程度)が格納されているデータベース」への「各ID毎のリンク先を表示させる為のシート」として使用 ・bシートが検索対象の一覧表になっており(2万行程)、全IDのデータが格納されているリンク先が記載されている 問題: ・bシートのID番号を検索する為の列は、ID番号の他にアルファベットがついている  例:ID→B1001・10101・123123等で、数字が4桁の場合は先頭に固定文字が一つ付く(B) ・検索対象であるbシートの対象列にはID番号以外にも文字がついている 例:B1234_ABC-TOUKYOUTONAKANOKU   12345_DEF-TOUKYOUTOTOSHIMAKU   912345_FED-TOUKYOUTONAKANOKU やりたい事: aシートのB列に4~6桁のID番号を、日によって異なる数を入力してコマンドボタンを押すと別ファイルであるbのシート(オートフィルタがついた一覧表)からリンク先を検出してaシートの 入力されたIDと同じ行の指定列へ貼り付けたいのです。 Sub DATA_IMPORT_macro() Dim ID As Integer, IDなし As Integer, COUNT1 As Integer Dim LAST_LINE As String, ID_NAME As String, ID_RNAME As String, FILE_NAME As String, FOLDER_NAME As String, LINK_NAMEA As String, LINK_NAMEB As String, LINK_NAMEC As String, LINK_FW As String, LINK_FL As String, TEST As String, LINK_LK As String LINK_FW = Range("F4") LINK_FL = Range("F5") LINK_LK = Range("F6") If Not Range("ID入力セル") = "" Then ID = Range("ID入力セル").Value End If Workbooks.Open Filename:="ファイル名.xls", ReadOnly:=True If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilterMode = False     Else: ActiveSheet.Select End If    '編集用にbシートをコピー Worksheets("シート名").Copy After:=Worksheets("最後のシート名") (1) Set IDなし = Range("ID行:ID行").Find(what:=ID, lookat:=xlPart, SearchOrder:=xlByRows).Select If Not NO_ID Is Nothing Then If FoundCell.Select End If (2) Cells(Rows.count, 6).End(xlUp).Copy last_row = ActiveCell.Row   Selection.Workbooks("aシートのあるブック名").Worksheets("aシート名").Range("I13").past 'I13=リンク先の貼り付け用セル (1)と(2)でつまづいています・・・ (1):入力されたIDを一覧表で検索する為に、Replaceで「B」を消して完全一致でFindすればいいのかな・・・とおもって色んなサイトで構文をコピペして編集したんですがうまくいきません (2)一覧表は日付で更新されていて、最新のデータが一番下に表示される為一番下を検出してそのリンク先をコピペさせたかったのですが・・・うまくいきません どうかご教授おねがいします><

Viewing all articles
Browse latest Browse all 6510

Trending Articles