ich habe diese Frage schon einmal vor einigen Wochen gestellt, aber leider
wieder vergessen, wie es geht.
Sorry, deswegen noch einmal:
Wie erhält man die Zeilen/Spaltennummern, einer aktiven Zelle ? Und diese
sollen dann Variablen zugewiesen werden.
Beispiel:
Die aktive Zelle ist B3. Das wäre dann Spalte 2, Zeile 3.
Der Variablen x und y möchte ich diese Werte zuweisen:
x= 2
y= 3
Ändert sich die aktive Zelle, müssen sie natürlich neu zugewiesen werden.
Aber wie stelle ich das an, die Zeilen und Spaltennummern aktiver Zellen
Variablen zuzuweisen ?
Für jeden Tipp dankbar.
Freundliche Grüße
Dim x as integer
Dim y as long
x=Activecell.column
y=Activecell.row
--
Regards
Frank Kabel
Frankfurt, Germany
Gruß Hajo
"Jimmy" <chip-...@gmx.net> schrieb im Newsbeitrag
news:OgZ6a35A...@TK2MSFTNGP12.phx.gbl...
danke nochmal für deine Hilfe.
Ich habe es versucht, aber weshalb meckert der Debugger bei folgender
Zuweisung:
"
Sub test()
Dim a As Workbook
Dim b As Workbook
Dim x as integer
Dim y as integer
. . . . . .
Set a = Workbooks("Test.xls")
x = ActiveCell.Row
y = ActiveCell.Column
. . . . . .
Workbooks.Open Filename:="c:\windows\desktop\Test2.xls"
Set b = Workbooks("Test2.xls")
ThisWorkbook.Worksheets(1).Range(.Cells(x, 1), .Cells(x, 4)).Value =
b.Worksheets(1).Range("A6:D6").Value
. . . . . .
end sub
"
Die Punkte sind nur Platzhalter.
Es geht um die Wertzuweisung der beiden Range-Objekte. Er meckert ständig
bei ".cells(x,1)" und bei ".cells(x,4)".
Woran liegt das ? Hat bestimmt damit etwas zu tun, welche Arbeitsmappe
gerade die aktive ist, oder ?
Gruß
"Frank Kabel" <frank...@freenet.de> schrieb im Newsbeitrag
news:ek5FzD6A...@TK2MSFTNGP12.phx.gbl...
Jimmy schrieb:
> Ich habe es versucht, aber weshalb meckert der Debugger bei folgender
> Zuweisung:
> ThisWorkbook.Worksheets(1).Range(.Cells(x, 1), .Cells(x, 4)).Value =
> b.Worksheets(1).Range("A6:D6").Value
> Die Punkte sind nur Platzhalter.
> Es geht um die Wertzuweisung der beiden Range-Objekte. Er meckert ständig
> bei ".cells(x,1)" und bei ".cells(x,4)".
> Woran liegt das ? Hat bestimmt damit etwas zu tun, welche Arbeitsmappe
> gerade die aktive ist, oder ?
er meckert deswegen, weil er vor den Punkten ein Objekt erwartet,
aber keines findet.
Du musst Excel den Platzhalter in einer With-Anweisung noch mtteilen.
In folgender Syntax wird das angegebene Objekt der With-Anweisung
bei der Kompilierung vor den Punkten eingesetzt:
With ThisWorkbook.Worksheets(1)
.Range(.Cells(x, 1), .Cells(x, 4)).Value = _
b.Worksheets(1).Range("A6:D6").Value
End With
Ist es jetzt verständlicher?
--
Mit freundlichen Grüssen
Melanie Breden
- Microsoft MVP für Excel -
http://excel.codebooks.de (Das Excel-VBA Codebook)
#Excel-Auftragsprogrammierung#