- ベストアンサー
VBAで変数に改行を格納した場合
セルA1に あああ いいい と入れて、 VBAで Dim str As String str = Range("a1") と言うコードを記述して、ステップモードでstrにカーソルを充てると あああいいい と、変数が格納されるのですが、 変数の値は改行されては表示されないのですか? うぃっちウインドウで監視すると、若干空白があるように感じます。 でも私はよくF8で変数にカーソルを充てて今の値を見るのですが 変数に改行があるかどうかは、この方法ではわからないということですか?
- OHSPOKNCPWQMO
- お礼率100% (72/72)
- Excel(エクセル)
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Ctrl+Gキーでイミディエイトウインドウ内で print ”[” & 変数 &”]” と入力してEnter Printの代わりに?でもOK
関連するQ&A
- vbaで配列に値を格納する場合
vbaで配列に値を格納する場合 変数の宣言はどちらを使った方が良いのでしょうか? Sub Sample1() Dim i As Long Dim myStr As String Dim tmp() As String myStr = "a,i,u,e,o" tmp = Split(myStr, ",") End Sub か Sub Sample1() Dim i As Long Dim myStr As String Dim tmp As Variant myStr = "a,i,u,e,o" tmp = Split(myStr, ",") End Sub でも問題なく動くのですが、 Variant型での宣言はあまりしない方が良いですか? あと Dim tmp() As String ならエラーにならないのですが Dim tmp As String だとエラーになってしまう理由がよくわからないので教えて頂けますか?
- ベストアンサー
- オフィス系ソフト
- VBAでテキストファイルに書き出し時の改行方法
Excel VBAでテキストファイルに書き出しをしたいと思っています。テキスト内で改行を指定したいと思うのですが、どのようにやったらよいでしょうか? Dim str As String str = "ABC" & vbCrLf str = str & "DEF" & vbCrLf とやってもうまくいきません。何が悪いと考えられるでしょうか?
- ベストアンサー
- オフィス系ソフト
- 変数を配列に格納する時に、二つの条件を指定すること
変数を配列に格納する時に、二つの条件を指定することはできますか? VBAです。 Private Sub test() Dim i As Long Dim Str As String Dim tmp As Variant Str = "a,i,u-e-o" tmp = Split(Str, ",") '配列に格納する For i = LBound(tmp) To UBound(tmp) Debug.Print tmp(i) Next i End Sub の場合、結果が a i u-e-o になってしまいます。 tmp = Split(Str, "," or "-") のようなことをして a i u e o と表示させたいです。 "a,i,u-e-o"を"a,i,u,e,o"にすることはできません。ご教授よろしくお願いします。
- ベストアンサー
- Visual Basic
- Rangeオブジェクトに格納できない
A1からD5までデータが入っているのですが、 そのデータの情報をRangeオブジェクトに格納する事は出来ないのでしょうか? vbaで Sub Sampsle() Dim r As Range r = ActiveSheet.UsedRange End Sub をやろうとしてるのですが、 実行時エラー_91「オブジェクト変数またはWithブロック変数が設定されていません」になります。 r に格納しちゃえば、最終列が何列目か最終行が何行目か、A1の値は何か、などしゅとくできるんじゃないかなー と思ったのですが、できないのでしょうか?
- ベストアンサー
- オフィス系ソフト
- グローバル変数などについて
Option Explicit Dim str1 As String '・・・(1) Sub テスト() Dim str2 As String '・・・(2) str1 = "テスト1" str2 = "テスト2" MsgBox str1 MsgBox str2 End Sub (1)はグローバル変数と言うとの事ですが (2)は何変数と言うのでしょうか? ローカル変数ですか? また、(1)がdimではなく、 Public str1 As String となった場合でも、 プロシージャーの外にあれば、グローバル変数と言うのでしょうか?
- ベストアンサー
- オフィス系ソフト
- VBAでテキストファイルの改行を無視する方法
VBAでテキストファイルにある文字列を配列の変数に格納したいのですが、改行が含まれているとそこから2バイトずつずれてしまいます。 1行毎に読もうとしても1行の文字列が6000バイトぐらいあるので変数に格納しきれません。 読み込むテキストファイルは _________0_________1_________2・・・・________10 _______100________51 のようになっており、10バイトずつ変数に格納していきたいです(スペースも格納する必要あり) 以下のように作ったのですが、改行のあるところからずれてしまいます。 Sub ファイル読み込み() Dim buf(30000000) As String Dim i As Long i = 0 With CreateObject("Scripting.FileSystemObject") With .OpenTextFile("C:\test.text", 1) Do While .AtEndOfStream <> True buf(i) = .read(10) Loop End With End With End Sub 「次の文字列が改行コードである」ということが分かれば.skipで飛ばせるのですが、その判定式が探しても見つかりません。 どなたかご教授よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- vbaの繰り返し処理について
vbaです。 Sub Test1() Dim Str As String Dim Pnt1 As Long Dim Pnt2 As Long Str = Range("A1") Pnt1 = InStr(Str, "重 http://") If Pnt1 <= 0 Then Exit Sub Pnt2 = InStr(Pnt1, Str, "要") If Pnt2 <= 0 Then Range("B1") = Mid(Str, Pnt1 + 2) Else Range("B1") = Mid(Str, Pnt1 + 2, Pnt2 - (Pnt1 + 2)) End If End Sub という式でA1からA2.A3と下にURLが入っており空欄になるまで同じ処理をしたいのですがどのように変更すれば作動しますでしょうか?
- ベストアンサー
- Visual Basic
- Access2000 VBA で変数を次回立ち上げたとき利用するには?
Access2000でVBAを使用していますが、変数にある値を代入してその値をアプリケーションの再立ち上げ後また利用したいのですが、何かよい方法はありませんか? 説明ではわかりにくいので実際の流れで示します。 Dim DiskNo AS string DiskNo = s459a 's459aというには使用中に変わっていきます。 ここでいったんAccessを終了し、次回使用するとき 変数 DiskNoに最後に代入された値(s459a)を保持している。 こんな使いかたなのですが、方法はどんなやり方でもかまいません。変数の値をを次回も利用するにはどうしたらよいのでしょうか?
- ベストアンサー
- オフィス系ソフト
お礼
回答ありがとうございました。