Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Selection
#1
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
Antworten Top
#2
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:
  • Nora Fernandez
Antworten Top
#3
Hi!
Nur ergänzend:
Bei RO und LU gehts etwas kürzer.
(ist zwar eher akademisch, aber egal  Blush )

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:
  • Nora Fernandez
Antworten Top
#4
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:
  • Nora Fernandez
Antworten Top
#5
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:
  • Nora Fernandez
Antworten Top
#6
Smile 
Hello,

Angel  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.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#7
Hallo Chris,

(22.12.2015, 15:51)chris-ka schrieb: Angel  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
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Nora Fernandez
Antworten Top
#8
Hi Chris,
(22.12.2015, 15: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:
  • Nora Fernandez
Antworten Top
#9
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:
  • Nora Fernandez
Antworten Top
#10
Hallöchen,

hier mal noch, auch wenn es nicht gefragt war Wink ,  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)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste