Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


25907 / 76732 ←次へ | 前へ→

【56162】Index と Join の使い方
質問  Abebobo  - 08/6/6(金) 17:07 -

引用なし
パスワード
   お願いします。
記事No.55989 で Join と Index の使い方をおぼえようと思いましたが若干 Index の使い方に自信がありません。

Sub 九九表準備()
Dim i As Long
 i = 1
 For i = 1 To 2
  With Sheets(i)
   .Range("B1:J1").FormulaR1C1 = "=Column()-1"
   .Range("A2:A10") = "=ROW()-1"
  End With
 Next i
 With Sheet2
  .Range("B2:J10").FormulaR1C1 = "=RC1*R1C"
  With .Range("A1").CurrentRegion
   .Copy
   .PasteSpecial Paste:=xlValues
   Application.CutCopyMode = False
  End With
 End With
End Sub

まず上記マクロで、Sheet2に九九表の答えをを作成します。
そして、手作業でSheet1に九九表を作ることが出来たら、テキストボックスでメッセージを2秒間出すマクロを作りました。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i   As Long
Dim v1, v2 As Variant
Dim x1 As String, x2 As String
Const j  As Long = 9
Dim Seien As Object

 v1 = Sheet1.Range("B2").Resize(j, j).Value '手作業の結果
 v2 = Sheet2.Range("B2").Resize(j, j).Value '答え
 For i = 1 To j
  x1 = x1 & Join(Application.Index(v1, i, 0)) & " "  'JoinでString型に収める
  x2 = x2 & Join(Application.Index(v2, i, 0)) & " "
 Next
 If x1 = x2 Then  '答えがあっていれば
  Set Seien = ActiveSheet.Shapes.AddTextbox _
      (msoTextOrientationHorizontal, 216#, 175.5, 216#, 123#)
  With Seien
   .Name = "Ab"
   .TextFrame.Characters.Text = "出来上がり"
  End With
  Me.Range("A1").Select
  Application.Wait Now + TimeValue("0:00:02")
  Seien.Delete
 End If

End Sub

結果には満足していますが、なにかご指摘がありましたら(何でも良いです)ご指導をお願いします。

0 hits

【56162】Index と Join の使い方 Abebobo 08/6/6(金) 17:07 質問
【56164】Re:Index と Join の使い方 kanabun 08/6/6(金) 17:57 発言
【56165】Re:Index と Join の使い方 kanabun 08/6/6(金) 18:05 発言
【56168】Re:Index と Join の使い方 Abebobo 08/6/6(金) 18:42 お礼
【56169】Re:Index と Join の使い方 n 08/6/6(金) 19:11 発言
【56170】Re:Index と Join の使い方 kanabun 08/6/6(金) 22:59 発言
【56177】Re:Index と Join の使い方 Abebobo 08/6/7(土) 13:09 お礼
【56219】Re:Index と Join の使い方 Abebobo 08/6/9(月) 10:16 お礼
【56220】Re:Index と Join の使い方 kanabun 08/6/9(月) 11:06 発言
【56222】Re:Index と Join の使い方 Abebobo 08/6/9(月) 11:58 お礼
【56227】Re:Index と Join の使い方 kanabun 08/6/9(月) 16:23 発言
【56228】Re:Index と Join の使い方 Abebobo 08/6/9(月) 17:08 お礼

25907 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free