次の点でサポートが必要です。
同じ構造のワークシートがいくつかあり、各ワークシート内に2つの列(XとYと呼びます)があり、それらのセル値(文字と数字の組み合わせ)とともにコピーし、列AFの値を独自のシートにコピーする必要があります。 XとYの場合。
「新しい」シートで、X / Yを列Aに配置し、Aの後に値を並べ替え、Aの各セル値に一定のハイパーリンクを付加します。したがって、XまたはYはAに、AFはBGに移動します。
次に、列Fまたは新しいGをクリック可能にして、対応するワークシートの行に移動できるようにします。XとYが常にX列またはY列にあるとは限りませんが、これは「名前検索」で解決できると思います。
コードを実行すると、たとえば、worksheet3がworksheet1の値を上書きし、ハイパーリンク構造も間違っています。ソートは機能しているため、省略されています。
Function CopyAndSort(ByRef mySheet As Worksheet)
' If mySheet.Name <> "Sheet1" Then
' Exit Function
' End If
mySheet.Activate
Set sheetCS = Sheets("CopyAndSort Sheet")
sheetCS.Range("A:A").Value = ""
lastRowCS = Range("X:X").Cells.Find("*", , , , , xlPrevious).Row
rowNumber = 1
For rowCopy = 5 To lastRowFO
sheetCopy = Range("BE" & rowCopy)
If Trim(sheetCopy) <> "" Then
sheetCopy = Replace(sheetCopy, """", "")
If InStr(1, sheetCopy, ",", vbTextCompare) <> 0 Then
sheetCopyArray = Split(sheetCopy, ",")
Else
sheetCopyArray = Array(sheetCopy)
End If
For Each copy In sheetCopyArray
rowNumber = rowNumber + 1
copy_Value = copy
' test for url
' sheetCS.Cells(rowNumber, 1).Formula = "=HYPERLINK(""ConstURL & copyValue"")"
sheetCS.Cells(rowNumber, 1) = copy_Value
copy_Value = Cells(rowCopy, 1)
sheetCS.Cells(rowNumber, 2) = copy_Value
copy_Value = Cells(rowCopy, 2)
sheetCS.Cells(rowNumber, 3) = copy_Value
copy_Value = Cells(rowCopy, 3)
sheetCS.Cells(rowNumber, 4) = copy_Value
copy_Value = Cells(rowCopy, 4)
sheetCS.Cells(rowNumber, 5) = copy_Value
copy_Value = Cells(rowCopy, 5)
sheetCS.Cells(rowNumber, 6) = copy_Value
Next
End If
Next
では、どうすれば値を上書きせず、正しいハイパーリンク構文を添付し、さらに列Gをクリック可能にすることができますか?また、XとYに1つの関数を使用できますか?いくつかのコード例は私を大いに助けてくれるでしょう。ありがとうございました。
更新:
XとYは常に隣り合っていることを忘れました。
例:
Sheet1:
|ColA|ColB|ColC|ColD|ColF|....|ColX|ColY|
Sheet2:ここで「ColX」はColQにあり、ColYはColRにあります
|ColA|ColB|ColC|ColD|ColF|....|ColXinColQ|ColYinColR|
CopySheet_of_X:Sheet1のColXとColA-ColFをコピーし、XがColQにあるSheet2についても同じことを行います。
両方のシートの出力: | ColX | ColA | ColB | ColC | ColD | ColF |
CopySheet_of_Y:Sheet1のColYとColA-ColFをコピーし、YがColRにあるSheet2についても同じことを行います。
両方のシートの出力: | ColY | ColA | ColB | ColC | ColD | ColF |
ハイパーリンク:したがって、ColXとColYの値は、先行するハイパーリンクと連結する必要があります。ColXのセルの値が「someValue1」の場合、myurl:// sometext=someValue1に変換する必要があります。
そして、ColFをクリックしたときに行に戻る正しい方法がわかりません。