
Excel2010使用者、VBA初心者です。
複数のファイルを1つのエクセルに統合するマクロをネット上で見つけたのでそれを活用しているのですが、空白セルの一部が長さ0の文字列のまま残ってしまうため、一気にNullに変換したいと思っています。ネットで色々と調べてコードを追加してみたのですが、どうしても上手くいきません。
下記のコードに何を追加すれば最後に一気に空白をNullにできるでしょうか?ご教授頂けると助かります。どうぞよろしくお願い致します。
Sub ExcelbookCombine()
'結合したいファイルがあるフォルダの場所 cドライブなら "C:\test\"
Const Fol As String = "C:\test\"
Dim Fn
Dim NewFile As Workbook
Dim Wb As Workbook
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Dim R As Range
Set NewFile = Workbooks.Add
Set Ws1 = NewFile.Worksheets(1)
Set R = Ws1.Range("A2")
Fn = Dir(Fol, vbNormal)
Do Until Fn = ""
Set Wb = Workbooks.Open(Fol & Fn)
'ワークシート1をコピーする場合は Wb.Worksheets(1)
'ワークシート2をコピーする場合は Wb.Worksheets(2)
Set Ws2 = Wb.Worksheets(1)
'Aの1行目から8列目までをコピーして結合する
Ws2.Range("A2", Ws2.Cells(Rows.Count, 1).End(xlUp)).Resize(, 22).Copy R
Set R = R.End(xlDown).Offset(1)
Application.CutCopyMode = False
Wb.Close
'Debug.Print Fn
Fn = Dir
Loop
Set R = Nothing
Set Ws1 = Nothing: Set Ws2 = Nothing
Set Wb = Nothing: Set NewFile = Nothing
End Sub
↑このコードできちんとエクセルは統合できています。
No.1ベストアンサー
- 回答日時:
こんばんは。
まず、失礼ですが、用語で、「統合(Consolidate)」というのは、Excelのメソッドのひとつですから、今回は、単に、データが合わさっただけのようですね。
それと、Null というのは、VBAでは、Null値といって、Variant型に入れる特別な値のことで、ワークシートで、Nullという言葉は使われているようですが、VBA側からは、単にEmptyのことを言うようです。(いわゆる完全な空の状態)
>空白セルの一部が長さ0の文字列のまま残ってしまうため、一気にNullに変換したいと思っています。
長さ0の文字列を取るための方法は、範囲をClearContents で行うか、
細かい選別をする場合は、
範囲.SpecailCells(xlCellTypeConstants,xlTextValues) を使い、その個々のセルの内容をループして、Len 等で調べてClearContents を使うか、
With 範囲
.Value = .Value
End With
とすれば、長さ0の文字列は消えます。
試してみてください。ダメだったら、もう少し詳しい情報が必要になるかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) 別ブックからシートのコピー 3 2022/04/01 20:07
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて見た映画を教えてください!
初めて見た映画を覚えていますか?
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
今の日本に期待することはなんですか?
目まぐるしく、日本も世界も状況が変わる中、あなたが今の日本に期待することはなんですか?
-
あなたなりのストレス発散方法を教えてください!
自分なりのストレス発散方法はありますか?
-
集中するためにやっていること
家で仕事をしているのですが、布団をはじめ誘惑だらけでなかなか集中できません。
-
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
エクセルVBA 長さ0の文字列をNullに
その他(Microsoft Office)
-
Excelの空文字セルの削除方法を教えてください
Excel(エクセル)
-
-
4
Nullではない空白の一括削除
Excel(エクセル)
-
5
長さ0の文字列" を空白のまま数値化
Excel(エクセル)
-
6
長さ0の文字列を格納できません。とエラー発生して困っています。
Visual Basic(VBA)
-
7
変数にnullを代入するには
Excel(エクセル)
-
8
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
9
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
10
空白セルを空セルに置き換える方法(エクセル)
Excel(エクセル)
-
11
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
12
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
13
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
14
Accessで数値型にNULLをInsertするとエラー
その他(データベース)
-
15
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
16
ExcelVBAでのNZ関数について
Visual Basic(VBA)
-
17
フォームの高さを数値で指定したいのですが
Excel(エクセル)
-
18
AccessでのNullと長さ0の文字列につきまして
Access(アクセス)
-
19
ACCESSのSQLで、NULLかNULLでないかの判定
その他(データベース)
-
20
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで長さ0の文字列をNullに変...
-
Excelのサイズが小さくなりません
-
Excel で3行目、6行目、9行目...
-
windowsではできるハイパーリン...
-
エクセル セル内の文字列を他...
-
エクセルの切り取りと貼り付け...
-
【エクセル】異なったシートの...
-
Winmerge ファイルの中身は同じ...
-
教えてください!困ってます。
-
Excellにて→ファイルエラー:デ...
-
同期センターのマークが出てま...
-
嫌ってるのに真似してきたりマ...
-
コマンドプロンプトによるフォ...
-
拡張子.dどういう意味
-
ftpのmgetコマンドの自分の格納...
-
emlをtxtに変換するには?
-
ファイルの先頭行を全て削除したい
-
外字ファイル、eudc.tte と e...
-
onedriveの中身を削除したらパ...
-
ファイルの単位
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの切り取りと貼り付け...
-
Excel で3行目、6行目、9行目...
-
excel vba 非表示のシートに入...
-
VBAで長さ0の文字列をNullに変...
-
エクセル セル内の文字列を他...
-
【エクセル】異なったシートの...
-
エクセルの範囲指定を規則的に...
-
エクセル ブック全体 セル結...
-
結合セルに結合していないセル...
-
エクセルの表のセル幅のみロッ...
-
EXCEL VBAでコピーす...
-
Excelのサイズが小さくなりません
-
エクセルの表組み、セルの固定...
-
エクセルで、コピー貼り付けが...
-
windowsではできるハイパーリン...
-
エクセルの表の固定
-
Excel セルの高さ&幅を変更で...
-
エクセルで同じブック内のシー...
-
エクセルの行を固定したい
-
Excel の行と列の入れ替え
おすすめ情報