こんにちは。
フォルダに写真が約50枚入っています。
この写真を一度にExcelの表に貼り付けしたいと思っています。
縦1列に貼り付ける方法は他のHPなどをみてわかったのですが、
自分がやりたいのは
写真1は「A1」セルに、写真2は「C1」セルに
写真3は「A5」セルに、写真4は「C5」セルに
以下続く
というように横に貼っては折り返しというようにしたいのですが、
マクロで次の写真を貼る位置をどのように指定すればよいのか分かりません。

縦一列に貼る場合でしたら、Offset(5)としてセルを5つ縦に飛ばして張るようにはできています。
なんとか横に貼っては折り返しというようにしたいのですが教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

フォルダにある写真のファイルはVBAで順次捉えられたのカナ。


少し難しい課題だが。
>一度にExcelの表に貼り付けしたいと・・
一度にではなく、順次自動で位置をずらして・・だろう。
横方向には1セル間をおき、縦方向は間4行おきにするのですね。
ーー
VBAで上記ルールで値A(何でも良い)をセット(代入)するロジック
を考え、コードの書き方の練習をしましたか。こういうロジック学習のところがVBA学習の第二ステップだよ。
他にもすっきりしたロジックだあるかもしれないが、とりあえず1例。
下記コードのTopなどの実例・やり方はマクロの記録をとればわかる。
挿入ー図ーファイルから、の操作。
ーーー
Sub test04()
For i = 1 To 50
c = ((i - 1) Mod 2) + 1
If c = 2 Then c = c + 1
'--
If i = 1 Or i = 2 Then
r = 1
Else
r = Int((i - 1) / 2) * 5
End If
'--
'ここへ写真を貼り付ける処理が入る。
'写真をシート上に取り入れた後、その位置を下記Cells(r, c)セルのLeft,Topに変更し,Width,HeightもセルのWidth,Heightに変更する。
'Width,Heightは操作者が操作か、VBAで規定する。
Cells(r, c) = i
Next i
End Sub
    • good
    • 0

>縦一列に貼る場合でしたら、Offset(5)としてセルを5つ縦に飛ばして張るようにはできてい


るのでしたら、「Offset」のところにカーソルを持って行き、[F1] キーを押下してください。
 [Offset プロパティ] のヘルプが開きますよね。
 そこで [Range オブジェクトの Offset プロパティ] をクリックしましょう。
>expression.Offset(RowOffset, ColumnOffset)
>ColumnOffset・・・オフセットする範囲の列数を指定します。
と出ていませんか?

 つまずいたらヘルプミーです。[F1] キーを押下する習慣を付けましょう。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QPC連動タップを液晶テレビ周りの連動ON/OFF用途に使いたいのですが

PC連動タップを液晶テレビ周りの連動ON/OFF用途に使いたいのですが
テレビ周りのオーディオ・プレイヤーの自動電源ON/OFFにPC連動タップを使用して
自動ON/OFFと考えているんのですが、本来のPC用途とはかけ離れてますが
使用上問題はないでしょうか?

Aベストアンサー

問題はありません、構造上では普通のモノよりは性能が高いはずですから、
蛸足をしない限りは問題はありません。
自分もPCショップや量販店など、製造メーカーに問い合わせをした所では、
「問題は無い」との回答されました。

Q縦つながりセルをコピーして、横つながりセルに貼り付けたい

EXCELです。

縦つながりのセル(A1+A2+A3)をコピーして、
横つながりのセル(A1+B1+C1)に貼り付ける方法を教えてください。

よろしくお願いします。

Aベストアンサー

B1+C1+D1で良ければ、コピー後、B1セルで右クリック→形式を選択して貼り付け→行列を入れ替えるにチェックを付ければ出来ます。

Qタップに詳しい方 おおしえください。

自動機で下穴をあけた後タップをとうしました。バリが出たため ハンドドリルでタップをとうしたのですが、ネジ山が二重になったり、ハ゛リもでてしまいました、油を付けながら 逆回転させながら 慎重に入れ 軽く入ったつもりですが、だめです。どうしてですか、おしえてください。再、再、回答できる方おねがいします。

Aベストアンサー

acha51補足です

質問を読み返してみるとタップも自動機で切った後の事でしょうか。
出るバリは表面だったら先の回答のバリ取り
ねじ山のバリだったら、
・自動機のタップへたりの場合はタップを交換し新規にやり直しましょう
・制御プログラムの場合は回転数と送りの関係を見直しましょう。
・わずかな場合はsusなどの固い材料のボルトを2-3回通す
・多いバリだったら先の1-3番をタップハンドルで順に通す
  職人技ですのでトレーニングしてやります

いずれにしても材料と深さ、径くらいははっきり書いた方が良いでしょう

QVBA あるセルの内容と同じ内容のセルを検索してその横のセルをコピーして貼り付ける

VBAの質問です。
Sheet1のA2のセルと同じ文字列をSheet2のB列で検索し、検索された同じ文字列のセルの右隣をSheet1のA4にコピー貼り付け、同じ文字列のセルの2つ右隣~4つ右隣のセルまでをB2~B4に縦と横を入れ替えてコピーし貼り付けたい。
宜しくお願いします。

Aベストアンサー

こんばんは!

なかなか回答が付かないようなので・・・
Sheet2のB列に重複データはないという前提です。

Sub Sample1()
Dim c As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
With Worksheets("Sheet1")
Set c = wS.Range("B:B").Find(what:=.Range("A2"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
.Range("A4") = c.Offset(, 1)
c.Offset(, 2).Resize(, 3).Copy
.Range("B2").PasteSpecial Paste:=xlPasteValues, Transpose:=True
Application.CutCopyMode = False
End If
End With
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんばんは!

なかなか回答が付かないようなので・・・
Sheet2のB列に重複データはないという前提です。

Sub Sample1()
Dim c As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
With Worksheets("Sheet1")
Set c = wS.Range("B:B").Find(what:=.Range("A2"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
.Range("A4") = c.Offset(, 1)
c.Offset(, 2).Resize(, 3).Copy
.Range("B2").PasteSpecial ...続きを読む

QPC連動タップについて

こんにちは

私はADSLモデム、ルーター及びプリンタの3種類の周辺機器をパソコンのON/OFFと連動してON/OFFしたいと考えています。(通常はパソコン及びこれら周辺機器の電源はOFFにしておき、パソコンを立ち上げると自動的に周辺機器の電源もONになり使える状態になる様にしたい)

ここで各メーカーから発売されているPC運動タップについて質問なのですが、このタップにこれら周辺機器をつなげば上述の私のやりたい事が実現するのでしょうか?(特に私が知りたいことは、PC運動タップは、単にタップを通電させるだけでなく、それにつながったパソコン周辺機器自体の電子スイッチをONにして周辺機器を使える状態にさせることが可能かどうかという点です。(機械式(手動式)スイッチ付タップとは違うか?という点です)

実際にPC運動タップを使用し周辺機器のPC運動起動を実現されている方がいらっしゃったらぜひ教えて下さい。

よろしくお願いします。

Aベストアンサー

PC連動タップは、「PC専用コンセント」に接続されたPCの電源が入って電流が流れると、他の「連動コンセント」がONになる仕組みです。
http://www.sanwa.co.jp/product/oatap/rendo.html

連動させるには電源スイッチがONの状態で、「コンセントを差せば電源が入る」周辺装置でないと使用できません。
(コンセントを差した後、onのボタンを押さないといけないプリンタは×です)

Qエクセルで縦行のセルを横列のセルにリンク貼り付けをしたい

表1の
A
B
C
D
E
F
G
.
.
.
の各セルを、表2にA B C D E F G . . と簡単にリンク貼り付けをする方法がありませんか。

Aベストアンサー

リンク貼り付けでなく、関数でも良いのでしょう。
A2:A5に




とする。
B1に=INDIRECT("A"&COLUMN())
と入れて、横方向に式を複写すればよい。
最終行数<列数になると0が出ますが防ぎ方は
=IF(COUNTA($A$1:$A$20)<COLUMN()-1,"",INDIRECT("A"&COLUMN()))
A列が20行までデータが入る可能性ありの例

QHSHギターのタップ

 HSHギターのタップですが、5wayセレクターの両端いずれかを選択して、そこからスイッチなどで片方のコイルをアースに流すのが定番になっていますよね? そこでふと疑問に思ったことが。

 普通、HSH配列のギターは、ハーフポジションの時は自動でタップされています。故に、HSHの真ん中のPUをオフにするスイッチを付けた場合でも、リア(フロント)のシングル単体の音がでるのではないか、ということです。

 これなら通常の2WAYのスイッチで切り替えることができるので、手っ取り早いと思うのですが……知っている限りこの配線でタップをしている機種はありません。なにか理由があるのでしょうか?(特に音質面で)

Aベストアンサー

「ストラトでもハムバッキングPUのパワフルかつウォームな音がほしいが、(ストラトの売りの一つである)ハーフトーンはシングルコイル同士のパラレルがいい」というユーザーを優先している為でしょう。

>普通、HSH配列のギターは、ハーフポジションの時は自動でタップされています。故に、HSHの真ん中のPUをオフにするスイッチを付けた場合でも、リア(フロント)のシングル単体の音がでるのではないか、ということです。
→可能だと思います。ただスイッチが2個存在することに変わりありません。ですので「手っ取り早い」とは私は思いませんが(笑)。
尚、これは私の推測ですが、音が出ないスイッチポジションが存在するギターをメーカーが好まないのではないでしょうかね。ブライアン・メイのRed Specialは自作だけあって特殊なケースですね。

QExcelで縦1行のデータを、横6行折り返しで表示させるには・・・

Excelの計算式について質問です。

   A列
1行目 あ
2行目 い
3行目 う
4行目 え
5行目 お
6行目 か
7行目 き
8行目 く
9行目 け
10行目 こ
11行目 さ
12行目 し
  (以下続く)

とA列の縦一列に並んでいるデータを
横6列(F列で折り返し)で並べていく計算式を探しています。↓

    A列  B列  C列  D列  E列  F列
1行目あ   い   う   え   お    か
2行目き   く   け   こ   さ    し
3行目す  せ  そ   た  ち  つ
4行目て  と   な   に   ぬ  ね


何かいい計算式はないでしょうか。助けてください。

Aベストアンサー

元のデータが Sheet1だとして
別シートのA1セルに

=INDEX(Sheet1!$A:$A,(ROW(A1)-1)*6+COLUMN(A1))

と入れ、F1セルまでフィルコピー
そのまま下に必要なだけフィルコピーしてください。

Qパソコンが自動的に立ち上がる

いつもお世話になっております。現在デスクトップパソコンを10年ほど使用しております。パソコン、モニター、プリンターをOAタップにつなぎ、タップの電源でシャットダウンした後、電源を切っていたのですが、最近OAタップの電源をオンにしたと同時にパソコンの電源が自動的に入り、BIOSセットアップメニューが立ち上がるようになり、また時刻も1998年の1月1日の0時となってしまうのです。マニュアルとか引っ張り出して読んでみたのですが、症例も載っておらず悩んでます。対処方法等ご存じの方おられましたら、ご教示お願いします。

Aベストアンサー

電池切れのためです。
Biosのセットアップ情報のバックアップや、RTC(時計)を駆動する
電池(CR2032など)が、PCの中に入っていますが、この電池が
消耗したのです。
PC内部を見て、コイン型の銀色の丸型の電池を探して同じものに
交換してください。

NECのPC90x1だと、ニッカド電池(充電式電池)の場合もあります。
この場合なら、OAタップの電源を入れたままにしてください。
省エネ(エコ)の為に電源を切っていると思いますが、毎日の
使用時間が少ないために、充電不足になっていると思われます。
(OAタップで電源を切らなければ、PCを使わなくても充電される)

当時のPCの待機電力は3W程度ですので、一月約50円位です。

Q任意のセルを検索窓にして文字(ひらがな)を入力すると既記入のセルを探しそのセルの横のセルに飛びたい

当方、エクセル2013 です。ほとんど初心者です。
表題のような事って出来るでしょうか?いちいちマウスを使うこと無く出来れば良いなと思っております。
画像で言いますとA1に「かけふ」といれるとD5に飛び、ここに数字を入れると又、勝手にカーソルがA1に戻る。って出来ないでしょうか?教えて下さい。

Aベストアンサー

こんばんは!
VBAでの操作になりますが、一例です。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)
A1セルにデータを入力してみてください。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から//
Dim c As Range
If Intersect(Target, Union(Range("A1"), Range("D:D"))) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Column = 1 Then
If .Value <> "" Then
Set c = Range("C:C").Find(what:=.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
c.Offset(, 1).Select
Else
MsgBox "Not Found"
.Select
End If
End If
Else
If IsNumeric(.Value) Then
Range("A1").Select
Selection.ClearContents
Else
MsgBox "数値を入力してください"
.Select
End If
End If
End With
End Sub 'この行まで//

こんな感じではどうでしょうか?m(_ _)m

こんばんは!
VBAでの操作になりますが、一例です。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)
A1セルにデータを入力してみてください。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から//
Dim c As Range
If Intersect(Target, Union(Range("A1"), Range("D:D"))) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング