家計簿77/Excel家計簿なのに「医療費の明細書」はWordで仕上げてシマッタ

 今日は10日に焼いた炭を取り出す予定であったが、

昨日とはうって変わって、天気予報どおりではあったが「雨読の日」となった。
 で、15日から始まる確定申告、

いささか焦って集計に着手した...


 今年に備え‥‥

と、準備したつもりであった。どうやら「積り」で終わったようだ...


 ん〜ん、結局 Wordで仕上げてシマッタ!


明日は、Excelで仕上げられるよう‥‥ 努力しよう...

 右図下段は、病院・薬局別 領収書番号 の一覧表。
税務署(税務課)から「領収書が探せない!」と文句を言われないための対応。


選択した通し番号を結合しクリップボードに送る(コピーする)Excel VBA

  1. Public Sub 選択した通し番号セルを結合しクリップボードに送る()
  2. '[参照設定]で[Microsoft Forms 2.0 Object Library」にチェックを入れないと文法エラーになる。
  3. Dim mbTitle As String
  4. Dim objData As DataObject
  5. Dim ctr As Long
  6. Dim s As String, ss As String
  7. Dim c As Variant
  8. mbTitle = "/" & ThisWorkbook.Name
  9. If Selection.Count = 0 Then
  10. MsgBox "セルが選択されていません。", vbCritical, mbTitle
  11. Exit Sub
  12. End If
  13.  
  14. ss = "": ctr = 0
  15. For Each c In Selection
  16. s = Trim(c.Value)
  17. If s <> "" Then
  18. If Len(s) <> 7 Then
  19. MsgBox "通し番号の構成に不具合があります。" & vbCrLf & vbCrLf _
  20. & " ■通し番号=" & s & vbCrLf & vbCrLf _
  21. , vbCritical, mbTitle
  22. Exit Sub
  23. End If
  24. s = Left(s, 4) & "-" & Mid(s, 5)
  25. If ss = "" Then ss = s Else ss = ss & "; " & s
  26. ctr = ctr + 1
  27. End If
  28. Next
  29.  
  30. Set objData = New DataObject
  31. objData.SetText ss
  32. '  varCb = objData.GetText
  33. objData.PutInClipboard
  34. Set objData = Nothing
  35.  
  36. MsgBox ctr & " 個の「通し番号」を結合し、クリップボードに送りました。", vbOKCancel, mbTitle
  37.  
  38. End Sub