
いつもお世話になります
今、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も見ています
-
みんなに挑戦してほしい「色彩検定」
これまで多くの方々が受検したが「色彩検定」。その目的や活用法は人それぞれ。今回は、色彩検定に影響を受けた男女3名にインタビュー。
-
シート名をセルの値にするマクロについての質問
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
ExcelのVBAのマクロで他のシー...
-
5
エクセルのシート名変更で重複...
-
6
Excel VBA 複数行を数の分だけ...
-
7
重複するidをデータごとにまと...
-
8
IFステートの中にWithステート...
-
9
ブック名、シート名を他のモジ...
-
10
エクセル・マクロ シートの非...
-
11
【ExcelVBA】全シートのセルの...
-
12
XL:BeforeDoubleClickが動かない
-
13
EXCEL(VBA)でシート保護がかか...
-
14
シートが保護されている状態で...
-
15
異なるシート間で「値だけの貼り...
-
16
ExcelのVBAを使い、複数シート...
-
17
【VBA】指定した検索条件に一致...
-
18
Excel チェックボックスにチェ...
-
19
ワークシートごとに計算結果
-
20
コマンドボタンをクリックでシ...
おすすめ情報
公式facebook
公式twitter