Ich weiß, diese Frage bereits gestellt, aber ich möchte verstehen, was ich falsch macheExcel-Makro-Kopierfunktion
Ich möchte nur eine Zelle in eine andere Zelle in einem anderen Arbeitsblatt kopieren. Die kopierte Zelle hängt von der Zeile ab, in der sich die Schaltfläche befindet.
Hier ist mein Code:
Option Explicit
Sub CreateButtons()
Dim i As Long
Dim shp As Object
Dim dblLeft As Double
Dim dblTop As Double
Dim dblWidth As Double
Dim dblHeight As Double
With Sheets("SALES UNFULFILLED")
dblLeft = .Columns("AZ:AZ").Left 'All buttons have same Left position
dblWidth = .Columns("AZ:AZ").Width 'All buttons have same Width
For i = 2 To 200 'Starts on row 2 and finishes row 20
dblHeight = .Rows(i).Height 'Set Height to height of row
dblTop = .Rows(i).Top 'Set Top top of row
Set shp = .Buttons.Add(dblLeft, dblTop, dblWidth, dblHeight)
shp.OnAction = "IdentifySelected"
shp.Characters.Text = "Invoice"
Next i
End With
End Sub
Sub IdentifySelected()
'NOTE: The button will always be on the active sheet
Dim strButtonName
Dim lngRow As Long
strButtonName = ActiveSheet.Shapes(Application.Caller).Name
lngRow = ActiveSheet.Shapes(strButtonName).TopLeftCell.Row
'MsgBox "Button is on row " & lngRow
Worksheets("invoice").Range(Cells(5, 3)).Value = Worksheets("SALES UNFULFILLED").Range(Cells(lngRow, 4)).Value
End Sub
Ich erhalte eine Fehlermeldung 1004 auf dieser Code-Zeile, aber ich verstehe nicht, warum Worksheets("invoice").Range(Cells(5, 3)).Value = Worksheets("SALES UNFULFILLED").Range(Cells(lngRow, 4)).Value
ich mit „„Value“zu ändern versucht auswählen "aber keine Chance
Try 'Worksheets ("Rechnung"). Range (Worksheets ("Rechnung"). Die Zellen (5, 3)). Value = Worksheets ("SALES UNFULFILLED") .Range (Arbeitsblätter ("Rechnung"). Zellen (lngRow, 4)). Wert' oder nur 'Arbeitsblätter (" Rechnung "). Zellen (5, 3) .Wert = Arbeitsblätter (" VERKÄUFE UNGEFÜLLT "). Zellen (lngRow , 4) .Wert " – danieltakeshi