Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


85 / 3841 ページ ←次へ | 前へ→

【80772】Re:写真の取込(pictures.Insert⇒shape...
発言  マナ  - 19/5/6(月) 15:44 -

引用なし
パスワード
   ▼ぽぽ さん:

>写真をリンクせずに取込めるにはどこをどのように換えればよいのでしょうか?

ht tps://www.moug.net/tech/exvba/0120020.html

↑では、CopyPicture を使用しています。

>  xlSheet.Shapes("Pic" & k).Copy
>  xlSheet.Shapes("Pic" & k).Delete
>  xlSheet.Paste
・ツリー全体表示

【80771】複数シートのデータ集計について
質問  西やん  - 19/5/6(月) 10:51 -

引用なし
パスワード
   複数のシート(データの横の配置は同じ、縦はまばら)のデータの一部(列単位で)を新しくシートを作成して、縦に貼り付けたい。
例えば、各シートのA列とC列に加えて、そのデータ元のシート名を抜き出すマクロを教えてください
・ツリー全体表示

【80770】写真の取込(pictures.Insert⇒shapes.a...
質問  ぽぽ  - 19/5/6(月) 6:39 -

引用なし
パスワード
   わたくし、初心者です。お時間あればぜひご教授お願いします。

画像データを取り込めるプログラムをネット上でいただきましたが、、
元ファイルが取り込んだ時のフォルダーに存在しないと表示できません。
写真をリンクせずに取込めるにはどこをどのように換えればよいのでしょうか?
なお、画像は640Mカメラ撮影(だいたい120K)、jpgのみです。


以下プログラム:


'ファイル名取得
Sub Getfn()
 Dim dlg As FileDialog
 Dim fol_path As String 'フォルダのフルパス
 Dim f_name As String 'ファイル名
 Dim i As Long 'ファイル名を出力する行番号
 
 '前データクリア
 Range("A2", Range("B2").End(xlDown)).ClearContents
 
 
 fol_path = Range("G1").Value 'パスを変数に格納
 f_name = Dir(fol_path & "\*") 'フォルダ内の一つ目のファイル名を取得
 If f_name = "" Then
  MsgBox fol_path & " にはファイルが存在しません。"
  Exit Sub
 End If

 'A5セルから下にファイル名を書き出し
 i = 2
 Do Until f_name = ""
  Cells(i, 1).Value = i - 1
  Cells(i, 2).Value = f_name
  i = i + 1
  '次のファイル名を取得
  f_name = Dir
 Loop

 MsgBox "ファイル名一覧を作成しました。"
End Sub


Sub Photo()
Dim Path As String '写真データパス
Dim i As Integer, j As Integer, k As Integer '繰り返し変数
Dim ShtNm As String 'シート名
Dim DestinationFile As String '作成ファイル名
Dim xlsApp As Application, xlBook As Workbook, xlSheet As Worksheet '作業用変数
Dim PicPath As String '写真挿入パス

Application.ScreenUpdating = False '画面更新非表示

'初期設定
Path = Cells(1, 7)
k = 1 'ファイルのNo

'保存フォルダの作成
  If Dir(Path & "\写真票", vbDirectory) = "" Then
    MkDir Path & "\写真票"
  End If


DestinationFile = Path & "\写真票" & "\写真票.xlsx"    ' 作成ファイル名設定
Sheets("写真票様式").Copy
ActiveWorkbook.SaveAs Filename:=DestinationFile, _
  FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 'ファイル作成
ActiveWorkbook.Close
  
Set xlsApp = CreateObject("Excel.Application")
Set xlBook = xlsApp.Workbooks.Open(DestinationFile)

Do Until Cells(k + 1, 1) = ""
  
  Application.StatusBar = k & "枚目の処理をしています..."
  
  'シートの追加
  If k Mod 8 = 1 Then
  
    i = 0
    
    Set xlSheet = xlBook.Worksheets("写真票様式")
    xlSheet.Copy Before:=xlSheet
    
    Set xlSheet = xlBook.Worksheets("写真票様式 (2)" & "")
    ShtNm = "写真票" & "-" & k \ 8 + 1
    xlSheet.Name = ShtNm
    Set xlSheet = xlBook.Worksheets(ShtNm)


  End If
  
  If k Mod 2 = 1 Then
   j = 0
  Else
   j = 2
  End If


  '写真挿入
  PicPath = Path & "\" & Cells(k + 1, 2)
  xlSheet.Cells(6 + 17 * i, 2 + j).Select
  xlSheet.Pictures.Insert(PicPath).Name = "Pic" & k
  xlSheet.Shapes("Pic" & k).Copy
  xlSheet.Shapes("Pic" & k).Delete
  xlSheet.Paste
  'サイズ変更
  xlSheet.Pictures.ShapeRange.LockAspectRatio = msoTrue
  xlSheet.Shapes("Pic" & k).Height = 250
  '項目入力
  xlSheet.Cells(3 + 17 * i, 2 + j) = Cells(k + 1, 3)
  xlSheet.Cells(4 + 17 * i, 2 + j) = Cells(k + 1, 4)
  xlSheet.Cells(1, 1).Select
  
  k = k + 1
  
  If j = 2 Then i = i + 1
Loop

xlBook.Close (True) 'ブックをクローズ (保存)
xlsApp.Quit 'エクセルを終了

Application.StatusBar = False
ThisWorkbook.Activate
Application.ScreenUpdating = True '画面更新表示

MsgBox "写真票を作成しました。"
  
End Sub


どうぞご対応のほどよろしくお願いします。
・ツリー全体表示

【80769】Re:フィルタオプションの同名の複数検索
発言  γ  - 19/5/4(土) 21:38 -

引用なし
パスワード
   よくわからない。

>そのサイトで質問後、中々回答がつきませんでしたが、ここで
>質問した後にタイミングよく回答がついたもので、ひょっとして
>と思い、どちらかが回答してくださったものとばかり思って
>おりました。
どのサイト?
19/5/2(木) 14:42以降に回答があったのだね?

どちらかが回答してくださったものと言われても、
ハンドルネームはどうなっていたのか。
どっちかじゃないだろうに。
訳がわからない。

あなたは「名前なし」ってどういうことよ。
ハンドルネームくらい名乗ったらどうか。
そんな へっぴり腰 でどうするのか。

返事は要らない。
・ツリー全体表示

【80768】Re:フィルタオプションの同名の複数検索
回答  [名前なし]  - 19/5/4(土) 19:00 -

引用なし
パスワード
   γ様

大変申し訳ありませんでした。

回答があったのは、ここで最初に質問させて頂いた後の事です。
そのサイトで質問後、中々回答がつきませんでしたが、ここで
質問した後にタイミングよく回答がついたもので、ひょっとして
と思い、どちらかが回答してくださったものとばかり思って
おりました。

混乱を招き大変申し訳ありませんでした。

問題自体は別の方法もあるというアドバイスを頂きましたので、
それを試したいと思います。
・ツリー全体表示

【80767】Re:フィルタオプションの同名の複数検索
発言  γ  - 19/5/4(土) 15:31 -

引用なし
パスワード
   それで、問題は解決したんですか?
中途半端で、もういいやは無いと思いますよ。
きちんと説明されたらどうですか?

まだ日暮れには早いかな。
・ツリー全体表示

【80766】Re:フィルタオプションの同名の複数検索
発言  γ  - 19/5/4(土) 15:27 -

引用なし
パスワード
   いやいや
質問の冒頭、まっさきに
>他のサイトで回答が得られませんでしたので、ここで質問させて頂きます。
と書いていますよね。
他のサイトで質問したんじゃないのですか?
紛らわしい!
・ツリー全体表示

【80765】Re:フィルタオプションの同名の複数検索
発言  [名前なし]  - 19/5/4(土) 14:12 -

引用なし
パスワード
   γ様、マナ様

…すいません。

てっきり、お二方のどなたかが回答して頂いたかと思っていました。
というのも、「回答が得られない」という文言があったもので…。

お騒がせして申し訳ありませんでした。

またよろしくお願いいたします。
・ツリー全体表示

【80764】Re:フィルタオプションの同名の複数検索
発言  γ  - 19/5/4(土) 13:47 -

引用なし
パスワード
   ありがとうございます。
ありゃ、私の記憶にはまったくないです。寄る年波で・・・。
いずれにしても、質問者さんから詳細な説明があるとよいけど。
・ツリー全体表示

【80763】Re:フィルタオプションの同名の複数検索
発言  マナ  - 19/5/4(土) 13:14 -

引用なし
パスワード
   ▼γ さん:

>別サイトでの回答、ありがとうございます!

γさんと他でやりとりがあったのかと思っていました。
・ツリー全体表示

【80762】Re:フィルタオプションの同名の複数検索
発言  γ  - 19/5/4(土) 13:03 -

引用なし
パスワード
   お話が盛り上がっているようですけど、
>他のサイトで回答が得られませんでしたので、ここで質問させて頂きます。
どのサイトのどのスレッドなんでしょう。
・ツリー全体表示

【80761】Re:フィルタオプションの同名の複数検索
発言  マナ  - 19/5/4(土) 12:39 -

引用なし
パスワード
   ▼[名前なし] さん:

>検索項目(名)に対し、同名の見出しのみ(1つ)が抽出されるのは
>わかっているのですが、ひょっとして複数の抽出がフィルタオプションで
>できる方法があるのではないかと思い、質問させていただきました。

具体例がないので、何がしたいか全くわかりませんが
マクロ使う前提なら、何とでもなるのでは。
作業セルも使い放題ですよね。

勿論フィルタオプションにこだわる必要もないですが…
・ツリー全体表示

【80760】Re:フィルタオプションの同名の複数検索
お礼  [名前なし]  - 19/5/4(土) 11:40 -

引用なし
パスワード
   γ様、マナ様

アドバイスありがとうございます。

検索項目(名)に対し、同名の見出しのみ(1つ)が抽出されるのは
わかっているのですが、ひょっとして複数の抽出がフィルタオプションで
できる方法があるのではないかと思い、質問させていただきました。

別サイトでの回答、ありがとうございます!
やはり、出来ないようですね。

ご教示頂いた構文を参考にさせて頂いきます。

今回もお手数をおかけしました。

ありがとうございました。
・ツリー全体表示

【80759】Re:strcnvでの半角変換の際の文字効果が...
お礼  chell  - 19/5/2(木) 19:08 -

引用なし
パスワード
   すいません、いま訳あって手元にexcel環境がないので、
GW明けにマナさんに教えていただいたコードで試そうと思います。
回答たいへんありがとうございました。

▼マナ さん:
>▼chell さん:
>
>1文字ずつ変換してみました
>
>Sub test()
>  Dim c As Range
>  Dim k As Long
>  
>  Set c = ActiveCell
>    
>  For k = 1 To Len(c.Text)
>    With c.Characters(k, 1)
>      .Text = StrConv(.Text, vbNarrow)
>    End With
>  Next
>
>End Sub
・ツリー全体表示

【80758】Re:strcnvでの半角変換の際の文字効果が...
発言  chell  - 19/5/2(木) 18:54 -

引用なし
パスワード
   回答ありがとうございます。
質問が言葉足らずでした。

文字効果が消えてしまうのは、
「アイウエオ」などの場合「ウ」だけ文字効果があった場合に
strconvだと効果が消えてしまうという質問です。

よろしくお願いします。


▼マナ さん:
>▼chell さん:
>
>1文字ずつ変換してみました
>
>Sub test()
>  Dim c As Range
>  Dim k As Long
>  
>  Set c = ActiveCell
>    
>  For k = 1 To Len(c.Text)
>    With c.Characters(k, 1)
>      .Text = StrConv(.Text, vbNarrow)
>    End With
>  Next
>
>End Sub
・ツリー全体表示

【80757】Re:ifの=の条件が判定しない
お礼  藤田  - 19/5/2(木) 17:35 -

引用なし
パスワード
   了解です。

ご指摘ありがとうございます。
・ツリー全体表示

【80756】Re:フィルタオプションの同名の複数検索
発言  マナ  - 19/5/2(木) 15:52 -

引用なし
パスワード
   ▼[名前なし] さん:

>フィルタオプションの検索欄「種類」(C3:C4)に、例えば「りんご」、
>「みかん」、「いちご」、「メロン」、「スイカ」、「オレンジ」のいずれか
>を入力すると、データ表(B5:AG10)から該当するデータを抽出する

データ表は、見出しを除くと、5行になりますが???
フィルタオプションについて、何か勘違いしていませんか。
・ツリー全体表示

【80755】Re:フィルタオプションの同名の複数検索
回答  γ  - 19/5/2(木) 15:21 -

引用なし
パスワード
   「フィルタオプションで数式を使う方法」
ht tp://office-qa.com/Excel/ex246.htm
を参考にして下さい。

数式は、2つのCOUNTIFの合計が >0 であること にすればよいでしょう。

これから出掛けてしまうので、端折ったコメントですみませんが、
トライしてみて下さい。
・ツリー全体表示

【80754】フィルタオプションの同名の複数検索
質問  [名前なし]  - 19/5/2(木) 14:42 -

引用なし
パスワード
   フィルタオプションについて

またお願いします。

他のサイトで回答が得られませんでしたので、ここで質問させて頂きます。

フィルタオプションの検索欄を2つ設け、データ表から当てはまるもの全て
の行を抽出したいと思います。

フィルタオプションの検索欄「種類」(C3:C4)に、例えば「りんご」、
「みかん」、「いちご」、「メロン」、「スイカ」、「オレンジ」のいずれか
を入力すると、データ表(B5:AG10)から該当するデータを抽出するというも
のですが、そのデータ表には6つの「種類」が存在し、検索蘭に入力された「種類」
に該当するものを抽出したいと思います。
※2つある検索欄に2つ入力すれば、その2つを満たしているものを抽出する。

よろしくお願いいたします。
・ツリー全体表示

【80753】Re:strcnvでの半角変換の際の文字効果が...
発言  マナ  - 19/5/2(木) 11:35 -

引用なし
パスワード
   ▼chell さん:

1文字ずつ変換してみました

Sub test()
  Dim c As Range
  Dim k As Long
  
  Set c = ActiveCell
    
  For k = 1 To Len(c.Text)
    With c.Characters(k, 1)
      .Text = StrConv(.Text, vbNarrow)
    End With
  Next

End Sub
・ツリー全体表示

85 / 3841 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free