いつもお世話になります
今、Listviewボックスを使ってシートを選択するプログラムで
シート名に環境依存文字が含まれていると?マークになり
選択するとエラーになってしまいます
いろいろ調べて
AscWやChrWを使ってみましたがうまく行きません
webからプログラムをコピーして下記のようなプログランで
検証してみましたがダメでした
何か良い方法がありましたら教えてください
Dim aaa As String
Private Sub UserForm_Initialize()
aaa = ActiveSheet.Name
For Each ws In Worksheets
Call isSJIS(ws.Name) '...ws.nameは"B2中柱㉒"です
With ListView1.ListItems.Add
.Text = ws.Name
End With
Cells(11, 1) = ws.Name
Cells(12, 1) = aaa
Next ws
Cells(13, 1) = ListView1.ListItems(1).Text
End Sub
Sub isSJIS(ByVal argStr As String)
Dim sQuestion As String
Dim ccc As String
aaa = argStr
sQuestion = Chr(63) '?:文字リテラルでは誤解があるといけないので
Dim i As Long
For i = 1 To Len(argStr)
ccc = Mid(argStr, i, 1)
If ccc <> sQuestion And _
Asc(ccc) = Asc(sQuestion) Then
aaa = Replace(aaa, ccc, ChrW(AscW(ccc)))
End If
Next
End Sub
No.1ベストアンサー
- 回答日時:
こんばんは。
直接の回答ではないかも知れないが、表示上は?になってしまいますが、
ListViewのIndexを取って、それをシートのインデックスで指定では
ダメでしょうか?
Private Sub ListView1_Click()
Sheets(ListView1.SelectedItem.Index).Select
End Sub
いつもお世話様です
早速のご回答に感謝します
ご指摘の通りListViewでは?のなってしまいますが
エラーを出さずにシートを選択できました
これで行きたいと思います
ありがとうございました
これからもよろしくお願い申し上げます
No.3
- 回答日時:
こんばんは
環境依存文字って文字コードで取得する必要があったような記憶が、、
?は表示上のもの、、
でFunctionを作成すると
Function isSJIS(ByVal argStr As String) As String
Dim buf()
Dim strA As String
Dim i As Long
ReDim buf(Len(argStr) - 1)
For i = 1 To Len(argStr)
buf(i - 1) = Hex(AscW(Mid(argStr, i, 1)))
Next
For i = 0 To UBound(buf)
strA = strA & ChrW("&H" & buf(i))
Next
isSJIS = strA
End Function
変数名はいい加減です
これを該当の
Cells(12, 1) = isSJIS(aaa)
で上手くいかないかな?
いつもお世話様です
早速のご回答に感謝します
私のやり方が悪いのかもしれません
ちょっとうまく行かなかったです
申し訳ございません
是非、またご教授願えれば幸いです
ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) シート削除のマクロで「deleteメソッドは失敗しました」となります。助けてください! Sub 不要 6 2022/09/08 16:41
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Excel(エクセル) vba 転記するときの最終行について 2 2022/09/03 09:31
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
ListViewで文字化けしてしまいます。
Visual Basic(VBA)
-
VBAでListViewのフォントを変更する方法
Visual Basic(VBA)
-
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
-
4
VBAのリストボックスでの文字化け
その他(プログラミング・Web制作)
-
5
vba listviewにおけるtextのAlingmentを中央にしたい
Excel(エクセル)
-
6
VBAにて読み込みが出来ない環境依存文字 ㉖ の文字コードを教えて下さい。
Excel(エクセル)
-
7
vba Listviewでのチェックボックスのイベントを教えてください
Excel(エクセル)
-
8
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
9
Excel VBA ListViewサブアイテムの文字色
その他(プログラミング・Web制作)
-
10
リストビューの項目の内容を変更する方法は?
Visual Basic(VBA)
-
11
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
12
ExcelVBAでListViewが使用できない
Visual Basic(VBA)
-
13
ListViewのチェックボックスについて
Excel(エクセル)
-
14
ListViewで複数選択された項目を一度に削除する方法
Visual Basic(VBA)
-
15
実行画面が崩れてしまう
Visual Basic(VBA)
-
16
リストビューをスクロールさせるには
Visual Basic(VBA)
-
17
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
18
ListViewの行選択について
Visual Basic(VBA)
-
19
ListViewの選択、選択解除を行いたい
Visual Basic(VBA)
-
20
VBAの配列サイズとメモリに関して
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelのマクロで該当処理できな...
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
XL:BeforeDoubleClickが動かない
-
同じ作業を複数のシートに実行...
-
エクセルのシート名変更で重複...
-
ブック名、シート名を他のモジ...
-
【ExcelVBA】全シートのセルの...
-
エクセルのマクロでアクティブ...
-
VBA 最終行まで数式をコピーする
-
セルの値によって、シート見出...
-
シートが保護されている状態で...
-
セルのコピーで「オブジェクト...
-
ExcelのVBAのマクロで他のシー...
-
VBAで特定のファイルを順番にオ...
-
ExcelのVBAコードについて教え...
-
Excel VBA で自然対数の関数Ln...
-
vba 環境依存文字がListViewボ...
-
【Excel VBA】Worksheets().Act...
-
IFステートの中にWithステート...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
excelのマクロで該当処理できな...
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
同じ作業を複数のシートに実行...
-
ブック名、シート名を他のモジ...
-
特定の文字を含むシートだけマ...
-
実行時エラー'1004': WorkSheet...
-
VBA 存在しないシートを選...
-
エクセルのシート名変更で重複...
-
XL:BeforeDoubleClickが動かない
-
シートが保護されている状態で...
-
Excel VBA 複数行を数の分だけ...
-
実行時エラー1004「Select メソ...
-
【Excel VBA】Worksheets().Act...
-
Excelマクロのエラーを解決した...
-
エクセル・マクロ シートの非...
-
VBAで同じシート名のコピー時は...
-
ExcelのVBAのマクロで他のシー...
-
【VBA】色のついたシート名を取得
おすすめ情報