OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

excel2000マクロ操作

  • すぐに回答を!
  • 質問No.156672
  • 閲覧数35
  • ありがとう数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 ではだめですか?
単に数式の
 =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枚目の表はSheet ...続きを読む
マクロで挿入するのですか?

項目内容が変化する場合は、マクロなしでも算式で、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 ...続きを読む
想像して書いてみました。
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("Sheet ...続きを読む
やはり下にまだあったんですね。想像しきれませんでした。
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で解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ