ここから本文です

コイン50枚 下のマクロで何が行われているか知りたいです。

アバター

ID非公開さん

2016/8/1113:14:51

コイン50枚

下のマクロで何が行われているか知りたいです。

Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim rng1 As Range
Dim rng2 As Range
Dim cls As Long, cld As Long 'cls=ソース側, cld =目的側 destine
Dim i As Variant, j As Long
Set sh1 = Worksheets("CSV")
Set sh2 = Worksheets("sheet1")

With sh1
Set rng1 = .Range("C1", .Cells(Rows.Count, 3).End(xlUp))
cls = .Cells(1, Columns.Count).End(xlToLeft).Column
cls = cls - 2
End With

With sh2
Set rng2 = .Range("A1", .Cells(Rows.Count, 7).End(xlUp))
cld = .Cells(7, Columns.Count).End(xlToLeft).Column
If cld < 2 Then cld = 2End With

For j = 2 To rng1.Rows.Count
If rng1.Cells(j, cls).Value <> "" Then
i = Application.Match(rng1.Cells(j, 1).Value, rng2, False)
If IsNumeric(i) Then
rng2.Cells(i, cld).Value = rng1.Cells(j, cls).Value
Else

補足失礼しました。
全文は↓これです。
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim rng1 As Range
Dim rng2 As Range
Dim cls As Long, cld As Long 'cls=ソース側, cld =目的側 destine
Dim i As Variant, j As Long
Set sh1 = Worksheets("CSV")
Set sh2 = Worksheets("sheet1")

With sh1
Set rng1 = .Range("C1", .Cells(Rows.Count, 3).End(xlUp))
cls = .Cells(1, Columns.Count).End(xlToLeft).Column
cls = cls - 2
End With

With sh2
Set rng2 = .Range("A1", .Cells(Rows.Count, 7).End(xlUp))
cld = .Cells(7, Columns.Count).End(xlToLeft).Column
If cld < 2 Then cld = 2End With

For j = 2 To rng1.Rows.Count
If rng1.Cells(j, cls).Value <> "" Then
i = Application.Match(rng1.Cells(j, 1).Value, rng2, False)
If IsNumeric(i) Then
rng2.Cells(i, cld).Value = rng1.Cells(j, cls).Value

Else

rng1.Cells(j, cls).Offset(, 1).Value = "x"
'見つからなかった場合に x をつける

End If
End If
Next

End Sub

閲覧数:
49
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

osa********さん

2016/8/1120:32:20

途中で切れているからわからん。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる