Registriert seit: 05.12.2014
Version(en): 2010-2013
Hallo liebe Experten,
ich brauch mal wieder eure Hilfe. Wenn ich auf einem Tabellenblatt mit der Maus ein Gebiet von Zellen ausgewählt habe, wie schaffe ich es dann mittels VBA Code folgende Eigenschaften dieser Zellenauswahl zu bestimmen:
1. Anzahl der ausgewählten Zeilen 2. Anzahl der ausgewählten Spalten 3. Zelladresse der linken/rechten oberen Zelle 4. Zelladresse der linken/rechten unteren Zelle
Vielen Dank schon mal für eure Hilfe im voraus.
Nora
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
22.12.2015, 15:46
(Dieser Beitrag wurde zuletzt bearbeitet: 22.12.2015, 15:46 von Kuwer.)
Hallo Nora, Sub SelectionEigenschaften()
With Selection
MsgBox "Zellen: " & .Cells.Count & vbNewLine & _
"Spalten: " & .Columns.Count & vbNewLine & _
"Adresse LO: " & .Cells(1).Address(0, 0) & vbNewLine & _
"Adresse RO: " & Application.Intersect(.Rows(1).EntireRow, .Columns(.Columns.Count).EntireColumn).Address(0, 0) & vbNewLine & _
"Adresse LU: " & Application.Intersect(.Rows(.Rows.Count).EntireRow, .Columns(1).EntireColumn).Address(0, 0) & vbNewLine & _
"Adresse RU: " & .Cells(.Cells.Count).Address(0, 0)
End With
End Sub Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• Nora Fernandez
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Hi! Nur ergänzend: Bei RO und LU gehts etwas kürzer. (ist zwar eher akademisch, aber egal ) Sub Auswahl()
With Selection
MsgBox _
"Zellen: " & .Cells.Count & vbNewLine & _
"Spalten: " & .Columns.Count & vbNewLine & _
"Adresse LO: " & .Cells(1).Address(0, 0) & vbNewLine & _
"Adresse RO: " & .Cells(1, .Columns.Count).Address(0, 0) & vbNewLine & _
"Adresse LU: " & .Cells(.Rows.Count, 1).Address(0, 0) & vbNewLine & _
"Adresse RU: " & .Cells(.Cells.Count).Address(0, 0)
End With
End Sub Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28
• Nora Fernandez
Registriert seit: 10.04.2014
Version(en): 2016 + 365
22.12.2015, 16:38
(Dieser Beitrag wurde zuletzt bearbeitet: 22.12.2015, 16:38 von Rabe.)
Hi, ich denke, eher so: Sub Auswahl_Zell_Adressen() 'zeigt die Anzahl der Zeilen und Spalten, sowie die 4 Eckzellen an With Selection MsgBox "Zellen: " & .Rows.Count & vbNewLine & _ "Spalten: " & .Columns.Count & vbNewLine & _ "Adresse LO: " & .Cells(1).Address(0, 0) & vbNewLine & _ "Adresse RO: " & Application.Intersect(.Rows(1).EntireRow, .Columns(.Columns.Count).EntireColumn).Address(0, 0) & vbNewLine & _ "Adresse LU: " & Application.Intersect(.Rows(.Rows.Count).EntireRow, .Columns(1).EntireColumn).Address(0, 0) & vbNewLine & _ "Adresse RU: " & .Cells(.Cells.Count).Address(0, 0) End With End Sub
VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0
Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:1 Nutzer sagt Danke an Rabe für diesen Beitrag 28
• Nora Fernandez
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
22.12.2015, 16:51
(Dieser Beitrag wurde zuletzt bearbeitet: 22.12.2015, 16:51 von RPP63.)
Hi! Stimmt! Vielleicht gibt es zu Weihnachten eine neue Brille … Zitat:1. Anzahl der ausgewählten Zeilen Aber meine Verkürzung steht. :05: Und Du hättest dann ruhig auch den Text der MsgBox ändern können. :21: Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28
• Nora Fernandez
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
22.12.2015, 16:51
Hello, Also bei mir kommt immer ein LFZ wenn ich das ganze Blatt markiert habe. ;) @Nora Was willst du damit machen? Ich wette mal 1 Zuckerstange und eine Christbaumkugel das dies gleich mit einem Object funktioniert ohne jetzt separat welche Zellen auszulesen. lg Chris
lg Chris Feedback nicht vergessen. 3a2920576572206973742064656e20646120736f206e65756769657269672e
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Chris, (22.12.2015, 16:51)chris-ka schrieb: Also bei mir kommt immer ein LFZ wenn ich das ganze Blatt markiert habe. ;) Excel hat seit 2007 mehr als 2.147.483.647 Zellen und die Count-Eigenschaft gibt einen Typ Long zurück und somit liegt es drüber.
Gruß Stefan Win 10 / Office 2016
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi Chris, (22.12.2015, 16:51)RPP63 schrieb: Und Du hättest dann ruhig auch den Text der MsgBox ändern können. :21: hab ich auch übersehen.
Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:1 Nutzer sagt Danke an Rabe für diesen Beitrag 28
• Nora Fernandez
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
23.12.2015, 00:51
(Dieser Beitrag wurde zuletzt bearbeitet: 23.12.2015, 00:56 von Kuwer.)
Hallo Zusammen, da stand ich aber gewaltig auf der Leitung. Nun hab ich es auch verstanden mit Zeilen und Zellen. :19: Nun mit allen Verbesserungen und ohne Fehler: Sub Auswahl_Zell_Adressen() 'zeigt die Anzahl der Zeilen und Spalten, sowie die 4 Eckzellen an With Selection MsgBox "Zeilen: " & .Rows.Count & vbNewLine & _ "Spalten: " & .Columns.Count & vbNewLine & _ "Adresse LO: " & .Cells(1).Address(0, 0) & vbNewLine & _ "Adresse RO: " & .Cells(1, .Columns.Count).Address(0, 0) & vbNewLine & _ "Adresse LU: " & .Cells(.Rows.Count, 1).Address(0, 0) & vbNewLine & _ "Adresse RU: " & .Cells(.Rows.Count, .Columns.Count).Address(0, 0) End With End Sub Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• Nora Fernandez
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
23.12.2015, 08:44
(Dieser Beitrag wurde zuletzt bearbeitet: 23.12.2015, 08:44 von schauan.)
Hallöchen, hier mal noch, auch wenn es nicht gefragt war , der Ansatz zur Ermittlung der Anzahl ausgewählter Zellen Code: Sub Makro1() 'Variablendeklarationen 'Hinweis: rngArea nicht als Range dimensionieren! Dim dCellCnt As Double, rngArea As Object 'Als Beispiel alle Zellen selectieren Cells.Select 'Schleife ueber alle gewaehlten Bereiche For Each rngArea In Selection.Areas 'gewaehlte Zellen im Area zaehlen dCellCnt = dCellCnt + rngArea.Rows.Count * rngArea.Columns.Count 'Ende Schleife ueber alle gewaehlten Bereiche Next 'Ergebnis ausgeben MsgBox dCellCnt End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
|