
いつもお世話になります
今、外部から指定された複数のシートを(ここでは2個にします)
下記のようにAraay関数で削除しようとしています
Worksheets(Array("B2側壁⑯", "B2側壁⑰")).Delete
ところが、削除するシートの数が決まっていない場合のArrayの作り方が
分かりません
例えば
moji2 = Array("B2側壁⑯", "B2側壁⑰")
Worksheets(moji2).Delete
は上手く行くのでが
Arrayの中を別の変数で組み立ててから行うとインデックスエラーになります
moji1 = """B2側壁⑯""" & ", " & """B2側壁⑰"""
moji2 = Array(moji1)
Worksheets(moji2).Delete
シートの数が任意なのでどうしても外で組み立てなければならないと思います
以上の解決方法が有りましたら教えてください
尚、For文で一つづつ削除するのではなくこの方法で何とかお願いします
No.2ベストアンサー
- 回答日時:
No1です。
>Splitはよく使いますが、Array文にも使えるのですか?
ArrayとSplitは別物です。
文字列をArrayにぶち込もうとしてうまく行かないようですので、Split関数で文字列を分割して配列に入れれば宜しいかと。
参考サイトに示される通り、文法は
Split(対象文字列, 区切り文字)
で、配列を得られます。
(デフォルトでは、添字が0始まりの配列だったと思います)
例えば、
Split("ああ,いい,うう", ",")
で、["ああ", "いい", "うう"] という配列が得られます。
>UserFormのListviewに出力した中から選択されたものをになります
Listviewは使ったことがないのでよくわかりませんが、選択項目を取得するのにループで取得していたりしませんか?
ListView.SelectedItems(i)
のような形で取得しているのなら、わざわざ文字連結をしなくても、直接その値を順に配列に入れてゆけば、(文字列を介する必要も無く)そのループ処理だけで配列を作成できるだろうという意味です。
いつもありがとうございます
ちょっと、Arrayという文字に拘り過ぎました
ご指摘通り、Splitで配列を作りうまく行きそうです
また、文字に対しては環境依存文字も扱えるようにしているため
ListView上では?になる文字をカバーするために別な配列も
用意して対処しています
シート番号を使うことも考えられますが
ここからDocuWorksに出力もできるようにしているため
ファイル名の処理などすべてを文字操作で行っています
シートが多くなると扱いづらくなるのでUserFormを使って
操作しやすくしています
以上、本当にありがとうございました
No.1
- 回答日時:
こんにちは
どうしても文字列で処理したいのなら、ArrayではなくSplit関数を用いれば、結果を配列として取得できます。
https://learn.microsoft.com/ja-jp/office/vba/lan …
なお、
>For文で一つづつ削除するのではなく~~
と同様の考え方ではありますが、事前に配列を定義しておいて、ループで要素として追加してゆく方法でも、上記と同様の配列を得ることが可能でしょう。
個々のシート名をどのようにして得ているのか不明ですが、通常は配列などで受け取るのではないでしょうか?
あるいは、何かの処理をループで行って、該当するものだけピックアップするとかであれば、わざわざ一旦文字列化するようなことをしなくても、そのループの中で配列にピックアップしてゆけばすむと思いますけれど・・・
こんにちは
いつもありがとうございます
Splitはよく使いますが、Array文にも使えるのですか?
もし、具体的な例が有ったらお願いします
尚、削除するシートはUserFormのListviewに出力した中から
選択されたものをになります(マルチ選択ON)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルの改行について
Visual Basic(VBA)
-
以下のプログラムの実行結果はどうなると思いますか? その理由も教えてください。
Visual Basic(VBA)
-
算術演算子「¥」の意味について
Visual Basic(VBA)
-
-
4
ダブルクリックで貼り付けた画像からリンクのみ削除し、画像を残したい。
Visual Basic(VBA)
-
5
Vba セルの4辺について罫線が有るかどうか調べたいのですが
Visual Basic(VBA)
-
6
vbsでのwebフォームへの入力制限?
Visual Basic(VBA)
-
7
【マクロ】変数を使った、文字の種類の変更にて、エラーとなる。
Visual Basic(VBA)
-
8
【マクロ】シートの変数へ入れるコードがエラーとなるのはなぜでしょうか?
Visual Basic(VBA)
-
9
数学、プログラミング、物理、化学など理系の方に質問 プログラミング言語、数式、化学式などで会話をしよ
その他(プログラミング・Web制作)
-
10
VBAでセルの書式を変えずに文字列を置換する方法をご教示ください
Visual Basic(VBA)
-
11
VBA 最終行の取得がうまくいかず上書きされてしまいます。
Visual Basic(VBA)
-
12
質問58753 このコードでうまく動作しません。どうしたら良いですか Private Sub Wor
Visual Basic(VBA)
-
13
VBAの「To」という語句について
Visual Basic(VBA)
-
14
改行文字「vbCrLf」とは
Visual Basic(VBA)
-
15
エクセルのファイルのコピーをとりたい
Excel(エクセル)
-
16
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
17
マクロ・VBAで、当該ファイルのショートカットからなら正常に動作する疑問につきまして
Excel(エクセル)
-
18
Excelの新しい空白のブックを開く度に 画像のような警告が出てきます ブック59と書かれていますが
Excel(エクセル)
-
19
エクセルのdatedif関数を使って、年齢と月齢を入力しました。 関数を入力して、問題なく使えたので
Excel(エクセル)
-
20
【マクロ】開いているブックの名前を取得した後、名前をセルに1つづつ入力するには?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
括弧があるとHYPERLINKで飛べな...
-
エクセルで複数のシートをフォ...
-
柔軟剤アクロンの乾燥機用シート
-
【マクロ】シートの変数へ入れ...
-
エクセルVBA 4行飛ばしで転記す...
-
グランドキャビン200系4型 10人...
-
m.2ssdと、ヒートシンクを、購...
-
SRシートを流用(CB400SS)
-
シートのあけ方が…
-
エスティマのコンソールボック...
-
プリメーラ(P10)の"Tm""Te""...
-
ポップコーンの捨て方
-
マグナ250とマグナ50でパーツの...
-
アドレスV100のガソリン給油口...
-
Vba Array関数について教えてく...
-
リアシート無しで運転してたら...
-
シグナスX(SE44J)のシート交...
-
癒着してしまったテレビの液晶...
-
マジェスティ(4HC)のシート下...
-
PowerQuery(パワークエリ)のエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のシートをフォ...
-
括弧があるとHYPERLINKで飛べな...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
原付 レッツシート開け方
-
フォルツァ バッテリーを外して...
-
IHクッキングヒーターの操作パ...
-
Excel複数シートから日付と文字...
-
エクセルVBA 4行飛ばしで転記す...
-
飛行機の座席について 3列シー...
-
BRIDEのシート張り替えってでき...
-
シートベルトの固定解除
-
水の染み込んだバイクのシート...
-
ポップコーンの捨て方
-
リアシート無しで運転してたら...
-
建築模型、カーブの作り方
-
エスティマのコンソールボック...
-
マジェスティ(4HC)のシート下...
-
カッティングシートの上からア...
-
XR250BAJAのシートのはずし方を...
おすすめ情報