• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文字列aを一文字ずつExcelのセルに入力する方法)

文字列aを一文字ずつExcelのセルに入力する方法

このQ&Aのポイント
  • 文字列aを一文字ずつ、Excelのセルごとに1行ずつ入力する方法を教えてください。
  • エクセルのA列に入力されてある文字を順に読み込み、Excelのセルに一文字ずつ入力するプログラムを作成したいです。
  • 既存のプログラムを改良して、文字列aをセルごとに1行ずつ入力するプログラムを作成したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

お礼欄で補足お願い。 シートのA列の数行の模擬データを質問に載せて、どういう場合に、どうしたいのか、文章で1ステップずつ表現してみてください。 あくまで書き方の例 (1)A1セルでaがガ無いか探す (2)在れば何何する ーー この質問は相当読みにくい。 (1)自分のVBAコードなど書く必要ないでしょう(回答者は参考にするほどの初心者ではないはず)。 (2)「何々せずに」の部分も質問には書く必要は無いでしょう(回答に関係のない質問者の思考過程でしかない)

rotawota7
質問者

お礼

遅くなって申し訳ございません。 早速のご回答ありがとうございます。 分かりやすいご説明、誠にありがとうございます。 ご参考にさせていただきます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelマクロでファイルで重複する文字の削除方法

    Excel VBAについて確認させてください。 下記のExcelマクロはエクセルのA列に入力されてある文字を順に読み込んで ユーザが入力したテキストファイル(=FN1)を読み込んで エクセルのA列に入力されてある文字が見つかった場合は削除する動作の繰り返し作業を行い、 エクセルのA列の文字が入力されてある最後の行まで行ったら 出力ファイル(=FN2)として保存するプログラムです。 ここで出力ファイルにはエクセルのA列に入力されていない文字が 残るものと思われますが、ここで入力されていない文字で 重複する文字があった場合はまとめて一つにする方法をを ご教授いただけますでしょうか。 以上お手数おかけしますがよろしくお願いします。 以下、プログラム本文です。 ----------------------------------------------- Sub sample() Dim a As String Dim y As Long Dim x As String Dim FN1 As String Dim FN2 As String x = InputBox("チェックするファイル名を入力してください。(拡張子も含めてください。)") FN1 = ThisWorkbook.Path & "\" & x FN2 = ThisWorkbook.Path & "\チェック済" & x With CreateObject("Scripting.FileSystemObject").GetFile(FN1).OpenAsTextStream a = .ReadAll For y = 1 To Cells(Rows.Count, 1).End(xlUp).Row a = Replace(a, Cells(y, 1), "") '読み込んだテキストファイルにエクセルのA列にある文字が見つかった場合削除 a = Replace(a, vbCrLf, "") '改行コードの削除 a = Replace(a, vbTab, "") 'タブコードの削除 Next .Close End With With CreateObject("Scripting.FileSystemObject").OpenTextfile(FN2, 2, True) .Write a .Close End With End Sub

  • エクセル2007VBAで連続データ(文字列)の入力

    ●質問の主旨 エクセル2007のVBAでマクロを作成して 同じ列に次々と文字を入力していくにはどうすればよいでしょうか? ●質問の補足 ワークシートのA列に文字列を入力していくマクロを 作成しようとしています。コードの概要は以下の通りです。 1.1回目の入力でA1セルには文字列を入力 2.1のあとフォーカスがテキストボックスに戻る。 3.2回目の入力でテキストボックスに文字列を入力 4.2回目の文字列がA2セル入力 5.以下2~5が続く ところが4のところでA1セルの内容を消去して 2回目の文字列をそのままA1セルに入力してしまいます。 コードに問題があると考えられますが、 どこに問題があるでしょうか? 以下のコードと添付画像をご参照の上、 ご教示くだされば幸いです。 なお添付画像の内容は、作成目標である A列に次々と文字列が入力されていく「模範解答」です。 ●コード (General)-連続データ入力 Sub 連続データ入力() UserForm1.Show vbModal End Sub (General)-(Declaration) Dim CelNo As String Dim Pos As Integer (UserForm1:UserForm_Initialize) Private Sub UserForm_Initialize() Pos = 1 CelNo = "A" & Pos End Sub (UserForm1:InputBtn_Click) Private Sub InputBtn_Click() With Worksheets("sheet1") .Range(CelNo) = UserForm1.TextBox1.Text Pos = 1 CelNo = "A" & Pos .Range(CelNo).Activate End With UserForm1.TextBox1.Text = "" UserForm1.TextBox1.SetFocus End Sub (UserForm1:CommandButton2_Click) Private Sub CommandButton2_Click() Unload UserForm1 End End Sub

  • エクセルで時間セルをVBで文字列として取り込むには

    エクセルです。 時間セルがあって、エクセル上での表示では 12:30:15 という風に表示するようにセルの書式設定でしているのですが、そのセルを VBで取り出そうとして、 A = Cells( 1,1 ) とかってすると、Aには、0.66656 とかって数字が入ってきてしまいます。 Aは文字列として、DIM A as String とかってしているのですけどね これをちゃんとAに、12:30:15 という形の文字列として入れるのにはどうしたらいいのでしょか

  • VBA バイナリ―から文字列にする方法

    この度はお世話になります。 現在、バイナリ―ファイル(xxxx.bin)をVBAで読み込み、バイナリ―データを文字列化して、エクセルで解析できるようなシートを作っています。 バイナリ―ファイルの中身が31 39 32 31 ・・・・・となっていたら、31393231・・・と文字列化にしたいです。 そこで、自分でプログラムを考えてみたのですが、バイナリ―が 01 などの場合、など“1”として読み込まれて、“0”が入らず、ずれてしまいます。 Sub 電文解析プログラム() Dim Deciphering_file As Variant '読み込みファイル Dim buf As Byte '1バイト格納 Dim fLen As Long 'ファイルサイズ Dim TEMP(1) As String ' Dim S_JIS As String '文字コード(2バイト) Dim str As String '文字列データ Dim i As Long Deciphering_file = Application.GetOpenFilename("BINファイル(*.bin),*.bin") fLen = FileLen(Deciphering_file) Open Deciphering_file For Binary As #1 For i = 1 To fLen Get #1, i, buf S_JIS = Hex(buf) If buf = 0 Then S_JIS = "00" End If TEMP(0) = Mid(S_JIS, 1, 1) TEMP(1) = Mid(S_JIS, 2, 1) str = myChr & TEMP(0) & TEMP(1) Next i End Sub ホントは3行くらいで済みそうな気がするんですが、あまりプログラミングをやったことありません。なので、すみませんがご教授お願いいたします。

  • エクセル2007VBA 連続データ(文字列)の入力

    エクセル2007VBA 連続データ(文字列)の入力 ●質問の内容 エクセル2007のVBAでマクロを作成して 同じ列に次々と文字を入力していくには どうすればよいでしょうか? ●質問の補足 ワークシートのA列に文字列を入力していくマクロを 作成しようとしています。コードの 概要は以下の通りです。 1.1回目の入力でA1セルには文字列は入力 2.1のあとフォーカスがテキストボックスに戻る。 3.2回目の入力でテキストボックスに文字列を入力 4.2回目の文字列がA2セル入力 しかし4のところでA1セルの内容を消去して 2回目の文字列をそのままA1セルに入力してしまいます。 コードに問題があると考えられますが、どこに 問題があるでしょうか?以下のコードと添付画像を ご参照の上、ご教示くだされば幸いです。 なお添付画像の内容は、作成目標である A列に次々と文字列が入力されていく 「模範解答」です。 ●コード (General)-連続データ入力 Sub 連続データ入力() UserForm1.Show vbModal End Sub (General)-(Declaration) Dim CelNo As String Dim Pos As Integer (UserForm1:UserForm_Initialize) Private Sub UserForm_Initialize() Pos = 1 CelNo = "A" & Pos End Sub (UserForm1:InputBtn_Click) Private Sub InputBtn_Click() With Worksheets("sheet1") .Range(CelNo) = UserForm1.TextBox1.Text Pos = 1 CelNo = "A" & Pos .Range(CelNo).Activate End With UserForm1.TextBox1.Text = "" UserForm1.TextBox1.SetFocus End Sub (UserForm1:CommandButton2_Click) Private Sub CommandButton2_Click() Unload UserForm1 End End Sub

  • Excelマクロでファイルを開き、別名での保存方法

    Excel VBAについて確認させてください。 Excel VBAで下記のようなプログラムを作成しました。 簡単に言えば元のファイルを開いて、元のファイルにある処理をして ファイル名を変えて保存するといったマクロです。 ですが、下記のプログラムはInputBox 関数で ユーザにわざわざフルパス(C:\・・・)で入力させる必要があります。 (変数A1の部分です。) この部分をこのマクロの存在するディレクトリの場所を何らかの関数?で あらかじめ検索してその場所を引数に渡して指定しておき、 ユーザにはファイル名のみ入力させる方法に改良したいのですが その方法をご教授いただけますでしょうか。 (チェックするファイルはこのマクロと同じディレクトリにあることになっている設定です。) そして保存するときもフルパス(C:\・・・)でわざわざ入力する必要があります。 (下記のプログラムでは変数A2) そこでこのマクロの存在するディレクトリの場所を何らかの関数?で あらかじめ検索してその場所を引数に渡して指定しておき、 そこに自動的に名前を変えて保存する方法に改良したいのですが その方法をご教授いただけますでしょうか。 (たとえば111.txtを処理した場合、111処理済.txtとして自動的に保存。) 以下、プログラム本文です。 ------------------------------------- Sub charactercheck() Dim a As String Dim y As Long Dim A1 As String Dim A2 As String A1 = InputBox("チェックしたいファイル名をパス名から入力してください。") A2 = InputBox("チェック結果を保存するファイル名をパス名から入力してください。") With CreateObject("Scripting.FileSystemObject").GetFile(A1).OpenAsTextStream a = .ReadAll For y = 1 To Cells(Rows.Count, 1).End(xlUp).Row a = Replace(a, Cells(i, 1), "") Next .Close End With With CreateObject("Scripting.FileSystemObject").OpenTextfile(A2, 2, True) .Write a .Close End With End Sub

  • 文字列の括弧について(初心者)2

    文字列の括弧について(初心者) http://oshiete1.goo.ne.jp/kotaeru.php3?q=1110818 の質問の続きなのですが、 文字列の中で( )を1セットで使う方法を教えてもらったので自分の使用するプログラムに少し直したのですが、やはり2つ以上の括弧(カッコ)にも対応しなければならなくなりました。 どのようなプログラムになるのでしょうか? 私はInstrは文字列を左からよんでいって最初にある指定した文字(下記の例だと"("など)の場所を何文字目か示してくれるだけなので1つの括弧にしか対応できないと考えています。 なので文字列の中に指定した文字が何個含まれているか調べて、それぞれ何文字目か示してくれるプログラムが あればできると考えています。 どうか教えてください、おねがいします。 ↓今のプログラム Dim bucketL as Long Dim bucketR as Long Dim a as String Dim b as String a=Text1.text bucketL = InStr(a, "(") bucketR = InStr(a, ")") If bucketL < bucketR And bucketL * bucketR <> 0 Then Text2.text = "OK" End If

  • VBA 文字列に関して

    現在 A22のセルに入力された文字列をボタンを押せば ばらばらにしてA22のセルから順番に入れるマクロを作りました (例)A22のセルに ”こんにちわ”の文字列が入っている場合 ボタン押下   ↓ A22のセル⇒こ B22のセル⇒ん C22のセル⇒に D22のセル⇒ち E22のセル⇒わ になる。 不思議なことに数字を16文字以上いれてボタンを押し文字を分離すると入力していない文字、数字が入ってしまいます。 数字だけこういう現象が発生してしまいます。 例えば "1111111111111111"と入力して文字を分離した場合 1.11111111111111E+15と個々のセルに格納されます。 原因がわかる方、教えて頂けないでしょうか? 以下がコードです。宜しくお願い致します。 Private Sub CommandButton1_Click()   Dim one As String   Dim myString As String   myString = Cells(22, 1)   numString = Len(Cells(22, 1))   If Len(myString) <= 50 Then    For i = 1 To Len(Range("A22").Value)      one = String(1, myString)      Cells(22, i) = one      myString = Replace(myString, one, "", 1, 1, vbTextCompare)    Next i   End If End Sub

  • Excel VBA でテキストボックスの値をセルA列から検索

    いつもお世話になります。 Private Sub CommandButton3_Click() Dim 行 As String Dim 列 As String Dim 最終行 As String Dim 検索行 As String Dim メッセージ As Integer Dim 一致 As Range Dim myNO As Variant Dim i As Long Sheets(3).Select 最終行 = Range("A2").End(xlDown).Offset(1).Select 行 = ActiveCell.Row 列 = ActiveCell.Column myNO = TextBox2.Value 検索行 = Range("A2").End(xlDown).Select ※・・・Set 一致 = Range("A2:検索検").Findwhat:=TextBox2,lookat:=xlWhole) If 一致 Is Nothing Then MsgBox "データがありません。新規コード入力します。" Cells(行, 列 + 0) = UserForm1.TextBox2.Value Cells(行, 列 + 1) = UserForm1.ComboBox7.Value Else i = Cells(行 - 1, "A") Cells(i, 列 + 0) = UserForm1.TextBox2.Value Cells(i, 列 + 1) = UserForm1.ComboBox7.Value End If End Sub 「エラー1004'Range'メソッドは失敗しました'Global'オブジェクト」とでます。※印が黄色になっています。 ユーザーフォーム1のテキストボックスの値をシート3のA列から検索して、一致すれば、A列の一致セルに上書き入力して、一致が無い場合はA列の空白セルに追加入力したいのです。よろしくお願い致します。

  • VBA 文字列の抜き出し

    VBAで文字列の抜き出しの方法を教えてください。 同様な質問があり、参考にしてみたのですがうまくいきません。 お分かりの方がいましたらご享受お願いいたします。 30~45字からなる文字列があります。 その中に特定の文字列が2つあり、そのうちの最初の特定文字列に続く文字2つ目の特定文字列前までを抜き出したいのですがうまくいきません。 具体的には abcdefghi GN=12jikl PE=fghj456 という文字列のなかから"GN="と"PE="の中間の文字を取り出したいのですが、 自分で書いたものでは"PE="以上が抜き出され、"GN="より前の文字列を抜き出せませんでした。 GN=......, PE=......の文字数はそれぞれ不規則です。また、GN=...よりも前の文字数も不規則です。 以下が作成したものです。 Dim i As Integer Dim Srch As String Dim Btwn As String Const Chr1 As String = "GN " Const Chr2 As String = "PE" Dim m As String Set sheetobj = ThisWorkbook.Worksheets("A") With sheeobj lastrow = sheetobj.Cells(sheetobj.Rows.Count, 10).End(xlUp).Row For i = 2 To lastrow Srch = sheetobj.Cells(i, 10) Btwn = Mid(Srch, InStr(Srch, Chr1) + 1, InStr(Srch, Chr2) - InStr(Srch, Chr1) - 1) sheetobj.Cells(i, 9) = Btwn Next i End With End Sub なにかいい方法があれば教えて頂けたらと思います。 よろしくお願い致します。

このQ&Aのポイント
  • MFC-J7300CDWは、ブラザー製品のワイヤレスプリンターです。
  • この記事では、MFC-J7300CDWの質問やトラブルについての解決方法を紹介します。
  • お使いの環境や接続方法に合わせて、問題の解決に役立つ情報を提供します。
回答を見る

専門家に質問してみよう