Excel VBAコードの修正依頼と基本的なアドバイスをお願いします

このQ&Aのポイント
  • EXCEL2000でデータベースを作成すべく、写真の自動変化とコンテンツのクリア設定に関する修正依頼をしています。
  • また、コードの基本的なご指導・アドバイスもお願いしています。
  • EXCEL VBAのコードの再作成により、目標への近道になってきました。
回答を見る
  • ベストアンサー

EXCEL VBAのコードを見て頂けませんか、他

いつもお世話になっております。 EXCEL2000でデータベースを作成すべく、ここで何度も質問をさせていただきながら、ようやく目標に近づいてきました。 ここで、相談・お願いさせていただきたいことは2件あります。(欲張りですみません。) 3点のうち、いずれかでも結構です、何かアドバイスとなるものを頂ければ幸いです。 (1)質問1・依頼1・・・INPUTシートで写真のファイル名をR36:AC36、及び AT36:BE36に入力し、レコードを変化させると、自動で写真も変化するはずなのですが、変化しません。なぜかファイル名入力セルをダブルクリックすると、ようやく写真が変化します。どのようにコード修正すれば、写真が自動で変化するでしょうか? (2)質問1・依頼1・・・INPUTシートのPrivate Sub CommandButton5_Click() イベントで、クリヤーコンテンツを大量( D81:G81, H81:K81, L81:O81, P81:S81, T81:W81, X81:BE81, D82:G82, H82:K82, L82:O82, P82:S82, T82:W82, X82:BE82, D83:G83, H83:K83, L83:O83, P83:S83, T83:W83, X83:BE83, D84:G84, H84:K84, L84:O84, P84:S84, T84:W84, X84:BE84, D85:G85, H85:K85, L85:O85, P85:S85, T85:W85, X85:BE85, D86:G86,・・・・)に設定したいのですが、そうするとエラーになります。どういったコードに修正すればいいでしょうか? また、その他全般を通して至らぬ部分が多いと思いますが、コードの基本的なご指導・アドバイスもいただけるとありがたいです。よろしくお願いいたします。 ぶしつけな依頼で申し訳ございません。どうかよろしくお願いいたします。

  • puyopa
  • お礼率87% (459/525)

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

  • ベストアンサー
回答No.1

(1)については、「レコードを変化させると・・」の処理が見えません、実コードを書いて頂ければ・・。 (2)の大量の区切られた範囲の指定についてですが、エクセルの機能の「名前」を使用してはどうでしょうか? ・範囲に名前を付ける  範囲指定をし画面左上の名前指定部に任意の名前を付け(例えば「消去エリア」など)  RANGE("消去エリア").select:Selection.ClearContents  とする。  

puyopa
質問者

お礼

kumano_SEC様 このような漠然とした質問にアドバイス頂き、ありがとうございました。名前を使用するほうほうで、うまく対応できそうです。参考になりました。ありがとうございます。

その他の回答 (1)

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

(2)について こういう列挙する以外はこれらのセルを特定する方法はないのか。それらのセルの特徴(位置や内容で)などで。 ーー 難しい言葉を使っているがクリアーコンテンツって何?。セルの内容(数式と値に限り)を消すということか? >エラーになります エラーはセル(または引数)の数が多すぎるエラーか? その部分はRange("81:G81"・・になっているのか。前後を含めて、正確に質問に書くこと。 Sub test01() For Each cl In Range("A1:A3,B1:B3,D2:D6") cl.ClearContents Next End Sub Sub test02() 'Range("A1:A3,B1:B3,D2:D6").Select 'Selection.Clear 'OK 'Selection.ClearContents 'OK Range("A1:A3,B1:B3,D2:D6").ClearComments 'だめ End Sub のように色々あるようだから。 >ここで何度も質問をさせていただきながら 一続きであれば、参考までに、前質問の番号など書いて置くのも、読者に参考になろう。 でなければ、質問に書く必要なし。

puyopa
質問者

お礼

imogasi様 回答ありがとうございます。そして説明不足で申し訳ございません。ご指摘頂いた内容はごもっともなものだと思います。 もともと、手っ取り早く見てもらうために、実ファイルをアップロダーにあげさせていただいていたのですが、そこの文面が丸々 消えてしまっていました。(おそらく消されてしまったようです。) また出直します。

関連するQ&A

  • 順列・数え上げ

    よろしくお願いします。 ここに下のような390個の文字があります。 (A,B,C,D,E,F,G,H,I,J,K,L,M がそれぞれ10個ずつ、 N,O,P,Q,R,S,T,U,V,W,X,Y,Z がそれぞれ20個ずつあります。) この390個の文字から235文字を選んで一列に並べる方法は全部で何通りありますか。 A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z 以下、私が考えたことを書きます。 この390個の文字から235個の文字を選ぶ組み合わせの総数は、 (Σ[k=0~10]x^k)^13*(Σ[k=0~20]x^k)^13 を展開したときのx^235の係数ですから、 23463540513956137996043929988 通りだということは分かります。 この23463540513956137996043929988 通りのそれぞれについて235個の文字 の順列(同種のものを含む順列)を数え上げれば答えは出ると思いますが、これは あまりにも大変な作業です。 何かよい知恵はないでしょうか。

  • OCRで文字変換したいのですが。

    Brother 複合機 DCP-595CN 使用。スキャン項目の三段目 OCR:テキストデータ変換で 本の文字を読み取り wordに写しその文字を自由にフォントやサイズを変えたい。  PCは MacBook Air バージョンは Yosemite 10.11 から Hi Sierraの 10.13.8 に変えました。 以下はできてこんなところです! c c r y O w r n e a n a s h a r k k n o w s y o w % ' l t @ e ' b o y r & s @ e d , h a r d l y a b t e t o c r e d i t h i s h e a r i n g , T h e w o m a n n o d d e d , n o t l o o k i n g a t a n g r t h i n g b u t h e r s k i r t . P a u l o ' s b r e a t h e x p l o d e d " B u t t h a t ' s i m p o s s i b l e ! " T h e w o m a n p a u s e d t o r a i s e b l a c k e y e s i . n u r o n d e r , c ' Y o u h a v e n e v e r h e a r d o f m e @ " s h e a s k e d . P a u l o w a s a t a l o s s t o a c c o u n t f o r t h e w o m a n ' s c a s u a l a c c e p t a n c e o f t h e s h a r k ' s p r e s e n c e A l l k n e w s 3 h a r k s w e r e a m e n a c e ! Y e t t h i s o d d o   ※OKWAVEより補足:「ブラザー製品」についての質問です。

  • 2行のセルの入れ替え。

     初めまして、よろしくお願いします。  セルに A B C D E F G H I J K L 1 a b c d e f 2 g h i j k l 3 m n o p q r 4 s t u v w x 5 " ・ " ・ " ・ " 100 "  という表があります。これを A B C D E F G H I J K L 1 a b c d e f g h i j k l 2 m n o p q r s t u v w x 3 " 4 " 5 " ・ " ・ " ・ " 100 "  という風に、偶数行のデーターを奇数行の後ろにつけるようにしたいと思います。無理ならば奇数行だけのデーター、偶数行だけのデーターとなるように、何かよい方法を教えて頂きたく、よろしくお願いします。

  • エクセルのvbaの質問

    a b c d e f g h i j k l m n 1 p1 p2 p3 2 s1 s2 s3 s4 s1 s2 s3 s4 s1 s2 s3 s4 3 あ い う お え い あ う お え い 4 10 25 20 40 25 50 10 30 20 15 17 5 6 7 p1 p2 p3 8 =a3 =b3 =c3 =d3 9 =a4 =b4 =c4 =d4 こんな感じでデータが入ってます。 p1の内訳がs1からs4という感じです。 で、a7からc3にp1,p2,p3とありますが、これをクリックしたら、 またはa7にp1とかp2と入力したら、a8からd9にそれぞれの内訳が参照されるようなマクロを組みたいのです。 どうか教えてください。 見づらいですね。 データはa1,f1,k1にそれぞれp1,p2,p3 a2からd2,f2からi2,k2からn2にそれぞれs1,s2,s3,s4 a3あ,b3い,c3う,d3"",e3"",f3お,g3え,h3い,i3あ,j3"",k3う,lお, m3え,n3い a3 10,b3 25,c3 20,d3 "",e3 "",f3 40,g3 25,h3 50,i3 10,j3 "",k3 30,l3 20,m3 15,n3 17 a7 p1,b7 p2,c7 p3 a8からd9の"=a3"から"=d4" です。 3行目、4行目は必ずしも全部埋まってなくて、スペースが入る場合があります。 よろしくお願いします。

  • ある値以上のデータの個数を表示させる関数は?

    25行目から下に、複数のデータがあります。 E,G,I,K,M,O,Q,S,U,W の列だけで、 値が9以上であるセルの個数を 「 B列 」 に表示させる関数はどのようになりますでしょうか? よろしくお願い致します。 下記例の場合は、 9以上の値は、 4つありますのでB列に 「 4 」 と表示させます。 --------------- 実行前   A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 25             10    8     7     9     12     3     25     1     4     5 ・ ・ 実行後   A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 25    4        10    8     7     9     12     3     25     1     4     5 ・  

  • JavaScriptの配列について

    var old_array = Array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '<', '#', '/', '>', '%', '.', '*', '0', '!', '?', ':', '=', '|'); var new_array = Array('b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '<', '#', '/', '>', '%', '.', '*', '0', '!', '?', ':', '=', '|'); のような配列があり、 abcと入力するとbcd DEFと入力するとEFG 012と入力すると!23 というようなものを作りたいのですがどうすればいいでしょうか。

  • 英語の変なメールが来てこわいです><

    こんにちは。 今日メールを受信したところ、全部英語のメールが来ていました。 クレジットとか、金額が書かれていて、架空請求などではないかと、とても怖いです。。 下に一部をコピーしました。 D o ea i r H f om k e O n wn r er, Your c k re h di x t doesn't m p atter to us! If you OW x N r b ea f l e t st u at b e and want I h MME w DIA h TE c d as j h to s c pen d d ANY w x ay you like, or simply wish to L p OW b ER your monthl o y pa d ym k ent h s by a third or more, here are the d r ea b ls n we have T n OD x AY: $ 49 x 0 , 00 e 0 a v s l u ow a o s 3 , 3 e 5 % $ 3 k 70 , 00 m 0 a k s l f ow a j s 3 , 5 s 5 % $ 25 g 0 , 00 c 0 a l s lo l w a e s 3 , 7 l 5 % $ 20 o 0 , 0 o 00 a m s lo i w a b s 3 , 9 t 0 % これはどういうものかおしえていただけないでしょうか。。 もしあやしモノなら、対処法も教えていただきたいです。。 お願いします。

  • MS-excel 10列毎に改行したい

    MS-excel2003で、A1~W1までデータが横並びに入力されています。 これを10列毎に改行したいのですが、マクロでどのようにやればよいでしょうか? 図解すると、、 A1 B1 C1 D1 F1 G1 H1・・・・ のデータを A1 B1 C1 D1 F1 G1 H1 I1 J1 K1 L1 M1 N1 O1 P1 Q1 R1 S1 T1 U1 V1 W1・・・・・・ と したいのです。 これをマクロで行いたいのですが、ご教授願えませんか。

  • エクセルについて

    エクセルにおいて、下記のように1~5のみ残し、その他無くなった数字は見えなくする、もしくわ文字の色を白にして見えないようにしたいと思っています。   A B C D E F G H I J K L M N O P Q R S T U 1 0 0 0 0 0 1 2 3 3 3 3 3 4 5 5 5 5 5 5 5 5 2 0 0 1 2 2 2 2 3 4 4 5 5 5 5 5 5 5 5 5 5 5         ↓         ↓   A B C D E F G H I J K L M N O P Q R S T U 1 1 2 3 3 3 3 3 4 5 2   1 2 2 2 2 3 4 4 5 私は基本的な関数は使用出来ますが、VBAは勉強し始めたばかりです…。 良い方法をご教示頂ければと思っております。 よろしくお願いいたします。 ※記入した例において、1~5の列がズレていますが、行も列も同じばしょのままでお願いします。

  • 20名で1対1で話し合う研修を6回でやる方法

    20名で行う研修で1対1で話し合う研修を合計6回でやろうとしています。 10人が誰かと話し合い、合計59組の組み合わせを6回の間で やる方法がどうしてもわかりません。 どなたか教えてください。 ちなみに組み合わせは決まっており(以下のとおりです)その組み合わせを6回以内に効率よくやりたいと思ってます。 ちなみに3回まではアナログ的なやり方で10組ずつ話し合える組み合わせはわかったのですが、 それ以降が頭がぐちゃぐちゃになってわかりません。 組み合わせは以下のとおりです。 AさんとGさん、BさんとJさん、CさんとMさん、LさんとEさん、PさんとQさん、IさんとNさん、GさんとRさん、GさんとSさん、LさんとFさん、 MさんとOさん、TさんとNさん、DさんとEさん、EさんとSさん、AさんとTさん、BさんとHさん、CさんとFさん、JさんとTさん、HさんとMさん、 FさんとQさん、TさんとOさん、AさんとNさん、BさんとEさん、CさんとKさん、JさんとKさん、HさんとKさん、DさんとTさん、IさんとOさん、 GさんとPさん、LさんとNさん、MさんとPさん、EさんとQさん、AさんとSさん、BさんとPさん、CさんとOさん、JさんとPさん、HさんとSさん、 DさんとKさん、IさんとPさん、LさんとSさん、AさんとRさん、BさんとRさん、CさんとQさん、JさんとRさん、HさんとRさん、DさんとSさん、 IさんとQさん、LさんとOさん、BさんとQさん、DさんとOさん、LさんとRさん、JさんとMさん、HさんとIさん、DさんとGさん、IさんとKさん、 GさんとFさん、MさんとNさん、EさんとFさん、FさんとTさん、KさんとNさん の計59通りです。 お力添え何卒よろしくお願いしますm(_ _)m この回答とプラスその算出方法も合わせて教えていただけると幸いです。

専門家に質問してみよう