Excel VBA質問箱 IV

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

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


11791 / 76734 ←次へ | 前へ→

【70474】Re:該当するセルにオートシェイプで丸印を付けたい
質問  どぢょりん  - 11/11/19(土) 8:22 -

引用なし
パスワード
   先日はありがとうございました。
順調だったのですが、疑問点が2つ出てきました。

1.業者がA・C社となっているものがあったのです。
これを入力すると、当然その他のセルに○がついてしまいます。
これをできれば、AとCの両方に○を付けたいのです。
どのようにすればいいか、アドバイスをお願いできませんか?


2.シート3(様式)は10行までしかありません。
11行目以降になることも考えられたため、下記のようなマクロに変更しました。
IF〜Else Do Untilを使って、10品目までをまず印刷し、
11品目からはシート2に再度張りなおしてシート3に表しています。
ところが2枚目以降になると、オートシェイプの位置がずれてしまいます。
何が悪いのでしょうか。
分かりましたら教えてください。


 Dim dic As Object
 Dim dic2 As Object
 Dim c As Range
 Dim i As Long
 Dim ss As String
 
 Set dic = CreateObject("Scripting.Dictionary")
 Set dic2 = CreateObject("Scripting.Dictionary")


With Sheets("Sheet2")
   For Each c In .Range("C1", .Cells(.Rows.Count, 3).End(xlUp))
     dic(c.Value) = c.Offset(, 3).Value
   Next
End With
 

 With Sheets("Sheet3")
   For Each c In .Range("F1").Resize(2, 2)
     If Len(c.Value) > 0 Then
       i = i + 1
       dic2(c.Value) = i
     End If
   Next
   .Ovals.Delete
   For Each c In .Range("C1", .Cells(.Rows.Count, 3).End(xlUp))
     If Len(c.Value) > 0 Then
       If dic.Exists(c.Value) Then
         ss = dic(c.Value)
         If dic2.Exists(ss) Then
           i = dic2(ss)
         Else
           i = dic2.Count
         End If
         drawCircle c.Offset(, 3).Resize(2, 2).Item(i)
       End If
     End If
   Next
 End With

 Set dic = Nothing
 Set dic2 = Nothing


 Sheets("Sheet3").PrintOut


If Sheets("Sheet2").Range("C11") = "" Then  
  Sheets("Sheet3").Select
   
 
Else
Do Until Sheets("Sheet2").Range("C11").Value = ""
  
  
  Sheets("Sheet2").Rows("11:65536").Copy
  Sheets("Sheet2").Rows("1:1").PasteSpecial


 Set dic = CreateObject("Scripting.Dictionary")
 Set dic2 = CreateObject("Scripting.Dictionary")


With Sheets("Sheet2")
   For Each c In .Range("C1", .Cells(.Rows.Count, 3).End(xlUp))
     dic(c.Value) = c.Offset(, 3).Value
   Next
End With
 

 With Sheets("Sheet3")
   For Each c In .Range("F1").Resize(2, 2)
     If Len(c.Value) > 0 Then
       i = i + 1
       dic2(c.Value) = i
     End If
   Next
   .Ovals.Delete
   For Each c In .Range("C1", .Cells(.Rows.Count, 3).End(xlUp))
     If Len(c.Value) > 0 Then
       If dic.Exists(c.Value) Then
         ss = dic(c.Value)
         If dic2.Exists(ss) Then
           i = dic2(ss)
         Else
           i = dic2.Count
         End If
         drawCircle c.Offset(, 3).Resize(2, 2).Item(i)
       End If
     End If
   Next
 End With

 Set dic = Nothing
 Set dic2 = Nothing

 Sheets("Sheet3").PrintOut
 
 Loop
 Sheets("Sheet3").Select
 
End If
End Sub


大変分かりにくいかもしれません。
よろしくお願いします。

5 hits

【70097】該当するセルにオートシェイプで丸印を付けたい どぢょりん 11/10/15(土) 0:11 質問
【70098】Re:該当するセルにオートシェイプで丸印を... kanabun 11/10/15(土) 8:46 発言
【70104】Re:該当するセルにオートシェイプで丸印を... kanabun 11/10/15(土) 16:46 発言
【70105】Re:該当するセルにオートシェイプで丸印を... kanabun 11/10/15(土) 17:02 発言
【70109】Re:該当するセルにオートシェイプで丸印を... kanabun 11/10/15(土) 20:13 発言
【70110】Re:該当するセルにオートシェイプで丸印を... どぢょりん 11/10/15(土) 22:39 お礼
【70111】Re:該当するセルにオートシェイプで丸印を... kanabun 11/10/15(土) 22:51 発言
【70114】Re:該当するセルにオートシェイプで丸印を... どぢょりん 11/10/16(日) 7:32 質問
【70115】Re:該当するセルにオートシェイプで丸印を... kanabun 11/10/16(日) 7:40 発言
【70185】Re:該当するセルにオートシェイプで丸印を... どぢょりん 11/10/18(火) 22:20 お礼
【70474】Re:該当するセルにオートシェイプで丸印を... どぢょりん 11/11/19(土) 8:22 質問
【70476】Re:該当するセルにオートシェイプで丸印を... kanabun 11/11/19(土) 13:29 発言
【70483】Re:該当するセルにオートシェイプで丸印を... どぢょりん 11/11/19(土) 23:08 発言
【70484】Re:該当するセルにオートシェイプで丸印を... どぢょりん 11/11/19(土) 23:46 発言
【70485】Re:該当するセルにオートシェイプで丸印を... kanabun 11/11/20(日) 1:53 発言
【70486】Re:該当するセルにオートシェイプで丸印を... kanabun 11/11/20(日) 2:17 発言
【70487】Re:該当するセルにオートシェイプで丸印を... どぢょりん 11/11/20(日) 8:08 発言
【70488】Re:該当するセルにオートシェイプで丸印を... kanabun 11/11/20(日) 9:36 発言
【70491】Re:該当するセルにオートシェイプで丸印を... kanabun 11/11/20(日) 16:22 発言
【70506】Re:該当するセルにオートシェイプで丸印を... どぢょりん 11/11/22(火) 6:15 お礼
【70508】Re:該当するセルにオートシェイプで丸印を... kanabun 11/11/22(火) 11:20 発言
【70514】Re:該当するセルにオートシェイプで丸印を... どぢょりん 11/11/23(水) 8:27 お礼
【70521】Re:該当するセルにオートシェイプで丸印を... kanabun 11/11/23(水) 17:23 発言
【70524】Re:該当するセルにオートシェイプで丸印を... どぢょりん 11/11/24(木) 22:14 お礼

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