
いつもお世話になります
今、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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
シート名をセルの値にするマクロについての質問
Visual Basic(VBA)
-
ハイパーリンクを値貼り付け
Excel(エクセル)
-
excelにテキストファイルの指定行のみを書き出したい
Visual Basic(VBA)
-
4
VBAでtxtファイルを読み込む際にtabを認識したい
Visual Basic(VBA)
-
5
VBAで、オートフィルタで非表示になっている行の高さを取得したい
Visual Basic(VBA)
-
6
Excelマクロ 行の削除
Visual Basic(VBA)
-
7
Excelマクロのコードができる方に質問します。
Visual Basic(VBA)
-
8
VBA 過去のファイル内の同じオブジェクトを一括削除
Visual Basic(VBA)
-
9
VBAのコードについて
Visual Basic(VBA)
-
10
【Excel VBA】セルの色によって書き込み禁止などの処理は可能?
Visual Basic(VBA)
-
11
Excel VBAでフォルダ内の全テキストファイルの任意データを取得について
Visual Basic(VBA)
-
12
VBA教えてください!
Visual Basic(VBA)
-
13
リストボックスについて
Excel(エクセル)
-
14
Excelでコピーしたセル(テキスト)を保持し続ける方法ってありますか?
Visual Basic(VBA)
-
15
【関数orVBA】カーソルのある行を黄色にし、A列の値を別シートに表示できますか?
Visual Basic(VBA)
-
16
【VBA】特定のセルを取得し、DBからデータを取得してリスト形式にしたい
Visual Basic(VBA)
-
17
値を合計していくvba
Visual Basic(VBA)
-
18
Excelvbaの 編集のためロックされています について
Excel(エクセル)
-
19
対象フォルダの選択画面を出したい
Visual Basic(VBA)
-
20
月毎に現金出納帳に転記するコードを教えて下さい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
同じ作業を複数のシートに実行...
-
5
ブック名、シート名を他のモジ...
-
6
ExcelのVBAのマクロで他のシー...
-
7
XL:BeforeDoubleClickが動かない
-
8
EXCEL VBAで複数シートから該当...
-
9
VBA 検索して一致したセル...
-
10
別のシートを参照して計算する方法
-
11
VBAでオブジェクト変数にsetし...
-
12
エクセル・マクロ シートの非...
-
13
excelのマクロで該当処理できな...
-
14
実行時エラー'1004': WorkSheet...
-
15
【VBA】特定の文字が入っている...
-
16
エクセルのシート名変更で重複...
-
17
エクセルのマクロでアクティブ...
-
18
IFステートの中にWithステート...
-
19
コマンドボタンをクリックでシ...
-
20
ワークシートごとに計算結果
おすすめ情報
公式facebook
公式twitter