過去ログ

                                Page     822
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼列 検索  nori 03/2/28(金) 2:37
   ┗Re:列 検索  Jaka 03/2/28(金) 16:55
      ┗Re:列 検索  nori 03/3/2(日) 11:08
         ┗Re:列 検索  Jaka 03/3/3(月) 17:14
            ┗Re:列 検索  nori 03/3/4(火) 15:14

 ───────────────────────────────────────
 ■題名 : 列 検索
 ■名前 : nori <miyagawa2103@ybb.ne.jp>
 ■日付 : 03/2/28(金) 2:37
 -------------------------------------------------------------------------
   質問します。同じフォルダーの下にBOOK1とBOOK2があります。

BOOK1には
セルA1からD10の表があります。

セルA1 東京
セルA2 大阪
セルA3 広島
 ・
 ・
セルA10 札幌が入っていますが

B1からD10まではデータや計算式が入力されています。

その表に
別BOOK2のデータH1からH10を、セルH1と同じ名称セル
(たとえば広島であればセルA3)の下に
値のコピー貼り付けしたいのですが??? 
どなたか知恵を貸してください。
 ───────────────────────────────────────  ■題名 : Re:列 検索  ■名前 : Jaka  ■日付 : 03/2/28(金) 16:55  -------------------------------------------------------------------------
   >どなたか知恵を貸してください。

こんにちは。

このコードでBook1シート1 H1に書いてある文字がBook2シート1 A1:A10の何行目に書いてあるか解ります。

Mj = Workbooks("BOOK1.xls").Sheets("Sheet1").Range("H1").Value
Gy = Application.Match(Mj, Workbooks("BOOK2.xls").Worksheets("Sheet1").Range("A1:A10").Value, 0)
If IsError(Gy) = False Then
  MsgBox Mj & "は、Book2の" & Gy & "行にあります。"
End If


貼り付けに付いては、良くわかんないけどこんな感じで良いんじゃないかと思います。

Workbooks("BOOK2.xls").Worksheets("Sheet1").Range("A" & Gy + 1).Resize(10).Value = _
Workbooks("BOOK1.xls").Sheets("Sheet1").Range("H1:H10").Value

がんばってください。
 ───────────────────────────────────────  ■題名 : Re:列 検索  ■名前 : nori <miyagawa2103@ybb.ne.jp>  ■日付 : 03/3/2(日) 11:08  -------------------------------------------------------------------------
   Jakaさん、”おはようございます。”
早速ありがとうございました。
しかし、がんばってやってみましたが、私の力不足なのと
質問の内容が少し不足な点があると思いましたので
すこし質問形式を変えてみたいと思います。
よろしくおねがいいたします。

次のようなことをしたいのですが・・・・

<作業内容>
BOOK1で作ったデータを
BOOK2にコピー貼り付け(値貼り付け)するマクロです。

<貼り付けるところの選定>

BOOK1 のセルA1に記入してある番号(例えば123とすれば)を
BOOK2 の行1のいちばん右の空白セル
     (例えばA1からD1にデータがはいっていれば次のE1)
    にその番号(123)を入力したい。

<貼り付けるデータ>
BOOK1 のB3からB10のデータを
BOOK2 の上記の番号(123)の下に(値で)貼り付け。
     (上記例で言えばE3からE10に)

このようなことです。

また、理解不足な点は初心者なので
Sub …()
 ・・・・・・
END Sub
がないと動かないことすらわからないので
できれば構文をコピー貼り付けすれば
できるようにおねがいします。

▼Jaka さん:
>>どなたか知恵を貸してください。
>
>こんにちは。
>
>このコードでBook1シート1 H1に書いてある文字がBook2シート1 A1:A10の何行目に書いてあるか解ります。
>
>Mj = Workbooks("BOOK1.xls").Sheets("Sheet1").Range("H1").Value
>Gy = Application.Match(Mj, Workbooks("BOOK2.xls").Worksheets("Sheet1").Range("A1:A10").Value, 0)
>If IsError(Gy) = False Then
>  MsgBox Mj & "は、Book2の" & Gy & "行にあります。"
>End If
>
>
>貼り付けに付いては、良くわかんないけどこんな感じで良いんじゃないかと思います。
>
>Workbooks("BOOK2.xls").Worksheets("Sheet1").Range("A" & Gy + 1).Resize(10).Value = _
>Workbooks("BOOK1.xls").Sheets("Sheet1").Range("H1:H10").Value
>
>がんばってください。
 ───────────────────────────────────────  ■題名 : Re:列 検索  ■名前 : Jaka  ■日付 : 03/3/3(月) 17:14  -------------------------------------------------------------------------
   良く解りませんが、取りあえず作ってみました。

Sub jiji()
  Dim B1ER As Long, B2EC As Long, B2macth As Variant
  B1ER = Workbooks("Book1.xls").Worksheets("Sheet1").Range("A65536").End(xlUp).Row
  For Each Cel In Workbooks("Book1.xls").Worksheets("Sheet1").Range("A1:A" & B1ER)
    B2EC = Workbooks("Book2.xls").Worksheets("Sheet1").Range("IV1").End(xlToLeft).Column
    B2macth = Application.Match(Cel.Value, Workbooks("BOOK2.xls").Worksheets("Sheet1").Range("A1").Resize(, B2EC).Value, 0)
    If IsError(B2macth) = True Then
      Workbooks("Book2.xls").Worksheets("Sheet1").Cells(1, B2EC + 1).Value = Cel.Value
      Workbooks("Book2.xls").Worksheets("Sheet1").Cells(3, B2EC + 1).Resize(8).Value = _
      Workbooks("Book1.xls").Worksheets("Sheet1").Range("B3:B10").Value
    Else
      Workbooks("Book2.xls").Worksheets("Sheet1").Cells(3, B2macth).Resize(8).Value = _
      Workbooks("Book1.xls").Worksheets("Sheet1").Range("B3:B10").Value
    End If
  Next
End Sub
 ───────────────────────────────────────  ■題名 : Re:列 検索  ■名前 : nori  ■日付 : 03/3/4(火) 15:14  -------------------------------------------------------------------------
   jakaさんありがとうございました。
思っていたとおりのものです。
データの重複記載も防ぐものも
入れていただきありがとうございました。
また、よろしくお願いします。・・・・
▼Jaka さん:
>良く解りませんが、取りあえず作ってみました。
>
>Sub jiji()
>  Dim B1ER As Long, B2EC As Long, B2macth As Variant
>  B1ER = Workbooks("Book1.xls").Worksheets("Sheet1").Range("A65536").End(xlUp).Row
>  For Each Cel In Workbooks("Book1.xls").Worksheets("Sheet1").Range("A1:A" & B1ER)
>    B2EC = Workbooks("Book2.xls").Worksheets("Sheet1").Range("IV1").End(xlToLeft).Column
>    B2macth = Application.Match(Cel.Value, Workbooks("BOOK2.xls").Worksheets("Sheet1").Range("A1").Resize(, B2EC).Value, 0)
>    If IsError(B2macth) = True Then
>      Workbooks("Book2.xls").Worksheets("Sheet1").Cells(1, B2EC + 1).Value = Cel.Value
>      Workbooks("Book2.xls").Worksheets("Sheet1").Cells(3, B2EC + 1).Resize(8).Value = _
>      Workbooks("Book1.xls").Worksheets("Sheet1").Range("B3:B10").Value
>    Else
>      Workbooks("Book2.xls").Worksheets("Sheet1").Cells(3, B2macth).Resize(8).Value = _
>      Workbooks("Book1.xls").Worksheets("Sheet1").Range("B3:B10").Value
>    End If
>  Next
>End Sub
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 822