電子書籍の厳選無料作品が豊富!

すみません。どなたかvisual basicに詳しい方教えて下さい。同業他社の質問コーナーでリクエストされたものですがで送りつけて来たものですがプログラムはこんな感じです Sub ygf apridejetcoaster quiz bokumetu sample3() kill
Dim oldCode() As Variant
Dim i As Long, j As Long
Dim ws2 As Worksheet
Set ws2 = Worksheets("Sheet2")

With Worksheets("Sheet1")
ReDim oldCode(1 To 2)
ws2.Range(ws2.Cells(1, 1), ws2.Cells(1, 2)).Value = .Range(.Cells(1, 1), .Cells(1, 2)).Value
j = 2
For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
If oldCode(1) <> .Cells(i, 1) Or _
oldCode(2) <> .Cells(i, 2) Then
ws2.Cells(j, 1) = .Cells(i, 1)
ws2.Cells(j, 2) = .Cells(i, 2)
oldCode(1) = .Cells(i, 1)
oldCode(2) = .Cells(i, 2)
j = j + 1
End If
Next i
End With
End Sub
Execution Gojyugaikaishine!
よく分かりません教えてください。

質問者からの補足コメント

  • visualbasic のカテはこれで良いですか?

      補足日時:2018/12/20 11:58

A 回答 (2件)

こういう質問はひどいな~。

大学生?、社会人?
ここは、代行作業場所ではないのですが。。。。
自分で勉強したけど、分からないところを教えてもらう場所です。。。


visual basicは得意じゃないけど、質問されているプログラム処理の肝はforループ内の処理。

oldCode(1) ≠.Cells(i, 1) あるいはoldCode(2) ≠ .Cells(i, 2) の条件が成立つとき、
   ws2.Cells(j, 1) = .Cells(i, 1)
   ws2.Cells(j, 2) = .Cells(i, 2)
   oldCode(1) = .Cells(i, 1)
   oldCode(2) = .Cells(i, 2)

ws2セルとoldCodeに値を入れているだけです。
ws2はsheet2を指している。
    • good
    • 1
この回答へのお礼

程度低い奴なんでこういう質問をしていいのかわからないが(高校生)よく分かりました。回答ありがとうございます。BAとさせていただきます。

お礼日時:2018/12/20 22:55

コードを貼り付けて、これ教えてください


て、冗談でしょ・・・
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!