-PR-
締切済み

excel2000マクロ操作

  • すぐに回答を!
  • 質問No.156672
  • 閲覧数37
  • ありがとう数1
  • 気になる数0
  • 回答数4
  • コメント数0

(1)枚目の表 E列    F列   
  コード S570SEM SEMEDS
時数 7.5  3

(2)枚目の表 UHRSEM SEMEDS S570SEM
           3    7.5

(1)枚目の表の時数のデータを(2)枚目の同じコードの列に時数を挿入する方法を
 教えてください。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全4件)

  • 回答No.1
レベル8

ベストアンサー率 33% (18/53)

単に数式の
 =sheet1!E3
ではだめですか?


  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

マクロで挿入するのですか?

項目内容が変化する場合は、マクロなしでも算式で、SEMEDSがSheet2のB1にあるとして、B2セルに

=IF(ISERROR(HLOOKUP(B1,Sheet1!$E$1:$F$2,2,FALSE)),"",HLOOKUP(B1,Sheet1!$E$1:$F$2,2,FALSE))

をセットすれば出ますが・・・(1枚目の表はSheet1にあるとしています。)
$E$1:$F$2は実際の範囲に変えて下さい。右左にコピーできます。Sheet1の範囲を照合して値を表示しています。挿入ではなく、あらかじめ式を登録しておきます、こういう意味?

マクロで行なうには、2枚目の表の項目名と1枚目の項目名を比較して、一致したら値を書きこむことになります。
質問があいまいでコードは書きづらいですね。
補足コメント
noname#72697

マクロで挿入したいと思います。下記のモジュールを修正すれば出来ると思いますが
よろしくお願いします。

Public Sub Syukei()
  Dim wsDat As Worksheet '1枚目の表あるシート
  Dim wsIns As Worksheet '2枚目の表あるシート
    Set wsDat = Worksheets("Sheet1")
    Set wsIns = Worksheets("Sheet2")
  Dim col1 As Integer, col2 As Integer '列カウンタ

  With wsIns 'コードを調べる
    For col2 = 1 To .Range("A1").End(xlToRight).Column
      For col1 = wsDat.Range("E1").Column To wsDat.Range("F1").Column
        If .Cells(1, col2) = wsDat.Cells(1, col1) Then
          .Cells(2, col2) = wsDat.Cells(2, col1)
        End If
      Next
    Next
  End With
End Sub
投稿日時 - 2001-10-25 10:23:53
  • 回答No.3
レベル13

ベストアンサー率 68% (791/1163)

想像して書いてみました。
Sheet1のデータをSheet2に挿入します。
Sheet2のUHRSEMがA1セルにあるとします。

標準モジュールに貼り付けます。ご参考に。
Public Sub Syukei()
  Dim wsDat As Worksheet '1枚目の表あるシート
  Dim wsIns As Worksheet '2枚目の表あるシート
    Set wsDat = Worksheets("Sheet1")
    Set wsIns = Worksheets("Sheet2")
  Dim col1 As Integer, col2 As Integer '列カウンタ

  With wsIns 'コードを調べる
    For col2 = 1 To .Range("A1").End(xlToRight).Column
      For col1 = wsDat.Range("E1").Column To wsDat.Range("F1").Column
        If .Cells(1, col2) = wsDat.Cells(1, col1) Then
          .Cells(2, col2) = wsDat.Cells(2, col1)
        End If
      Next
    Next
  End With
End Sub
補足コメント
noname#72697

回答ありがとうございました。また質問ですが
Sheet1の2行目のデータは、Sheet2に挿入できたのですが、例えば3行目から50行目に入っているデータ
はどうやって挿入できるのですか。教えてください。
お忙しい所申し訳ありません。
投稿日時 - 2001-10-25 09:59:35
  • 回答No.4
レベル13

ベストアンサー率 68% (791/1163)

やはり下にまだあったんですね。想像しきれませんでした。
4行、追加、変更します。

Public Sub Syukei()
  Dim wsDat As Worksheet
  Dim wsIns As Worksheet
    Set wsDat = Worksheets("Sheet1")
    Set wsIns = Worksheets("Sheet2")
  Dim col1 As Integer, col2 As Integer
  Dim rw As Long '*** 追加 ***

  With wsIns
    For col2 = 1 To .Range("A1").End(xlToRight).Column
      For col1 = wsDat.Range("E1").Column To wsDat.Range("F1").Column
        If .Cells(1, col2) = wsDat.Cells(1, col1) Then
          For rw = 2 To wsDat.Cells(65536, col1).End(xlUp).Row '*** 追加 ***
            .Cells(rw, col2) = wsDat.Cells(rw, col1) '*** 変更 ***
          Next '*** 追加 ***
        End If
      Next
    Next
  End With
End Sub
お礼コメント
noname#72697

出来ました。わかりやすい回答本当にありがとうございました。
今後は質問をわかりやすくしたいとおもいますので、
またわからない所がありましたらよろしくお願いします。
投稿日時 - 2001-10-25 12:57:56
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-

特集


専門家があなたの悩みに回答!

ピックアップ

ページ先頭へ