[[20200721162920]] 『マクロの意味を教えてください』(まりも) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロの意味を教えてください』(まりも)

助けてください
前任者から引き継いだ仕事にマクロなるものがありました
書式が変更になったので替えたいけどわからないです
前任者は退職してて聞ける人がいません

できたら意味を教えてくれませんか

 Option Explicit
Const sResourcePrefix As String = "RES_"

'Get Culture
Private Function GetATPUICultureTag() As String

    Dim shTemp As Worksheet
    Dim sCulture As String
    Dim sSheetName As String

    sCulture = Application.International(xlUICultureTag)
    sSheetName = sResourcePrefix + sCulture

    On Error Resume Next
    Set shTemp = ThisWorkbook.Worksheets(sSheetName)
    On Error GoTo 0
    If shTemp Is Nothing Then sCulture = GetFallbackTag(sCulture)

    GetATPUICultureTag = sCulture
End Function

'Entry point for RibbonX button click
Sub ShowATPDialog(control As IRibbonControl)

    Application.Run ("fDialog")
End Sub

'Callback for RibbonX button label
Sub GetATPLabel(control As IRibbonControl, ByRef label)

    label = ThisWorkbook.Sheets(sResourcePrefix + GetATPUICultureTag()).Range("RibbonCommand").Value
End Sub

'Callback for screentip
Public Sub GetATPScreenTip(control As IRibbonControl, ByRef label)

    label = ThisWorkbook.Sheets(sResourcePrefix + GetATPUICultureTag()).Range("ScreenTip").Value
End Sub

'Callback for Super Tip
Public Sub GetATPSuperTip(control As IRibbonControl, ByRef label)

    label = ThisWorkbook.Sheets(sResourcePrefix + GetATPUICultureTag()).Range("SuperTip").Value
End Sub

Public Sub GetGroupName(control As IRibbonControl, ByRef label)

    label = ThisWorkbook.Sheets(sResourcePrefix + GetATPUICultureTag()).Range("GroupName").Value
End Sub

'Check for Fallback Languages
Private Function GetFallbackTag(szCulture As String) As String

    'Sorted alphabetically by returned culture tag, then input culture tag
    Select Case (szCulture)
        Case "rm-CH"
            GetFallbackTag = "de-DE"
        Case "ca-ES", "ca-ES-valencia", "eu-ES", "gl-ES"
            GetFallbackTag = "es-ES"
        Case "lb-LU"
            GetFallbackTag = "fr-FR"
        Case "nn-NO"
            GetFallbackTag = "nb-NO"
        Case "be-BY", "ky-KG", "tg-Cyrl-TJ", "tt-RU", "uz-Latn-UZ"
            GetFallbackTag = "ru-RU"
        Case Else
            GetFallbackTag = "en-US"
    End Select
End Function

< 使用 Excel:Excel2019、使用 OS:Windows10 >


どこが判らないのでしょう? 全部、というのはご勘弁を。

ぱっと見、リボンか右クリックメニューか、そこに表示する文字列を、Excelの国に合わせて変更するコードに見えます。 ほぼ同じコードが英語の掲示板にありましたが、そこの質問者は、新しいExcelだと動かなくなった、なんで?、って感じでした。(その回答にあったリンクを踏むと、何やらダウンロードさせようとしていたので、URLは紹介しません)

違いは、プレフィックスの文字列を定数に浮かした程度であり、ご提示のコードでは日本語追加したような跡もないし、丸ごと拝借したのかもですね。

そして、謎なのが、Application.InternationalプロパティではExcelの様々な設定を得る事ができるのですが、xlUICultureTag というのはありませんでした。 名前からすると国情報が得られそうに見えますが、ヘルプにも無かったのですよねぇ。 古いExcelでないと使えないのかも知れません。

国が判ると、それに応じたシートから文字列を拾う事で言語を自動変換してセットするようです。 つまり、行追加するなら、全ての国別シートにも追加しないと、切り替えたときにおかしくなるだろう、と予想されます。(国別言語切替を使っていない場合、かなり無駄なコードを使っている事になります)
(???) 2020/07/21(火) 17:14


 >書式が変更になったので替えたいけどわからないです

 何の書式が、従来は何で、今後は何に替えたいのですか?

 ※「替えたい」と言うより、「追加したい」のですかね?

(半平太) 2020/07/21(火) 18:05


コメントありがとうございます
このファイルは売り上げの分析用です

>※「替えたい」と言うより、「追加したい」のですかね?

すいません 追加です

(変更前)
A列にチェックを入れると行が黄色く塗りつぶされます

(変更後)
分析表の余白のチェックによって
1)取引先名が右よりになる
2)取引先名が右より&太字になる
3)数字部分だけに上罫線を引く
4)数字部分だけに上罫線+下罫線を引く
5)数字部分だけに上罫線+下二重線を引く

自分はマクロやったことないので行を黄色くするの黄色くを変えたらいいのかと
でも黄色くしてるとこがどこか分からなくてお尋ねしました
なんか思ってたのと違う気が全然関係なさそうですね
日本の取引先だけのものなので消したほうがいいのでしょうか?

(まりも) 2020/07/22(水) 10:45


もしかして:条件付き書式
(特盛うなぎ) 2020/07/22(水) 11:00

勝手な想像ですが、上記マクロはリボンにあるボタンと「RES_」で始まる名前のシートに関係するもので
あなたがしようとしていることには無関係かもしれません。
(特盛うなぎ) 2020/07/22(水) 11:05

マクロ中に、色変更に関係するものはありませんよ。 私も、条件付き書式で着色しているように思います。
(書いたものを消す必要はないです。今後、他国籍対応で文字列変更したい、という人がでてくるかもですし)

そして、日本の取引先しかないのにこのマクロを使っているならば、まったく無意味ですね。 いちいちシートから文字列を得たりせずに、全部日本語でレイアウトしてしまうだけの事です。 ブック丸ごと、新規作成してしまえば、判らない箇所なんて無くなって、すっきりしますよ。
(前任者は10ヵ国以上に対応するマルチリンガルなスーパープログラマか!、と思ったのに、コードの意味も判らずにコピペしただけの、素人プログラマだったのかもですね)
(???) 2020/07/22(水) 11:14


 >日本の取引先だけのものなので消したほうがいいのでしょうか?

 そこは、書式とは何の関係もないコードです。

 多分、FUNCRES.XLAMのRibbonX_Codeを見たんでしょうが、
 一般ユーザーが手を入れるような場所じゃないです。

 危ないので、何も手を付けないで放っておいてください。

 書式に関しては、
 (1)プログラムでやる場合もあるし、
 (2)条件付き書式でやる場合もあります。

 もし、(2)でやっているなら、VBAは全く関係ありません。

 取り敢えず、条件付き書式でやってないか調べてください。

 ※確認方法を説明するのは面倒なので、
  ここらを見てください。
   ↓
https://www.crie.co.jp/chokotech/detail/269/
 ルールの中身を確認する / 編集する

(半平太) 2020/07/22(水) 11:19


コメントありがとうございます
条件付き書式でやってたみたいです
マクロ関係ありませんでした

1)取引先名が右よりになる
2)取引先名が右より&太字になる
3)数字部分だけに上罫線を引く
4)数字部分だけに上罫線+下罫線を引く
5)数字部分だけに上罫線+下二重線を引く

も条件付き書式でできるものなのでしょうか
マクロの意味を調べるのにこちらの過去ログを検索してましたら
同じような質問があった気がしたのですが
わからなくなっちゃいました
分かる方いらっしゃいましたら教えてくれませんか

(まりも) 2020/07/22(水) 11:34


黄色にするのは条件付き書式です。罫線も、条件付き書式で変化させる事はできますが、ちょっとコツがあるのと、線種に限りがあるので、罫線は予め行や列の範囲で引いておくのでは駄目なのでしょうか?

数字部分、と言うのが固定列なのか、それともセルの内容次第で可変なのかによって、どんなやり方が良いのか変わってきますので、シートの実例を書き出せませんか?
(例えば、取引先名に太字とそうでないものがありますが、どういうデータをどう判定して区別するのかが判るような実例)

条件が判らないと、条件付き書式は書けないです。 会社名のみと会社名・支店名の場合があるとか、条件が単純でない場合は、マクロで罫線を引いてしまうという案になるかも。
(???) 2020/07/22(水) 11:50


コメントありがとうございます

>罫線も、条件付き書式で変化させる事はできますが、ちょっとコツがあるのと、線種に限りがあるので、罫
>線は予め行や列の範囲で引いておくのでは駄目なのでしょうか?

その時々で(1)〜(5)を使う取引先が変更になります
先輩のように何か行えば一瞬で変更できると嬉しいです

>数字部分、と言うのが固定列なのか、それともセルの内容次第で可変なのかによって、どんなやり方が良い>のか変わってきますので、シートの実例を書き出せませんか?

実際の取引先数字は載せられないので替えてます
列は固定です、将来的には増やすこともあるかもしれません

      |[B]   |[C]   |[D]   |[E]|[F] |[G]|[H]   |[I]|[J] |[K]
 [2]|コード|取引先|前年度|   |    |   |当年度|   |    |   
 [3]|      |      |6月   |9月|12月|3月|6月   |9月|12月|3月
 [4]|   111|あああ|    10| 20|  70|120|   170|   |    |   
 [5]|   222|いいい|    20| 30|  80|130|   180|   |    |   
 [6]|   333|ううう|    30| 40|  90|140|   190|   |    |   
 [7]|   444|えええ|    40| 50| 100|150|   200|   |    |   
 [8]|   555|おおお|    50| 60| 110|160|   210|   |    |   

>(例えば、取引先名に太字とそうでないものがありますが、どういうデータをどう判定して区別するのかが
>判るような実例)

別の分析の結果で(1)にするか(2)、(3)、(4)にするかしてます
買掛金とか売掛金とかいろんなもので分析している表になります
質問されて気づいたんですが取引先を探して余白にチェック入れるより、余白に分析の結果(取引先)を入力するほうが素人考えですがいいかもしれません

    |[T]   |[U]        |[V]   |[W]          |[X]              
 [2]|条件  |           |      |             |                 
 [3]|右揃え|右揃え+太字|上罫線|上罫線+下罫線|上罫線+下二重罫線
 [4]|あああ|いいい     |いいい|えええ       |おおお           
 [5]|      |           |      |             |                 

取引先あああは右揃え
取引先いいいは右揃え+太字、上罫線
取引先えええは上罫線+下罫線
取引先おおおは上罫線+下二重罫線

(まりも) 2020/07/22(水) 13:11


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.