#bisaneinEnde mit #VBA

Gestern haben wir von einem #Bereich ausgehend das untere #Ende des befüllten #Bereichs mit #VBA adressiert. Geht das auch mit dem #oberen, #rechten, #linken Ende?

Ja.

Range("C5").End(xlUp) Range("C5").End(xlToLeft) 
Range("C5").End(xlToRight)

gehen ans obere / linke / rechte Ende, ausgehend von C5. Analog zum Drücken von Strg+Pfeil-nach-oben/links/rechts.

Warum einmal mit und einmal ohne „To“? Keine Ahnung. Ich bin für die Konstantennamensgebung nicht verantwortlich. Irgendwann merkt man’s sich.

Veröffentlicht unter Excel, VBA | Verschlagwortet mit , , , , , , , | Kommentar hinterlassen

#bisansEnde mit #VBA

Wie können Sie das „untere Ende“ eines befüllten #Bereichs in #Excel mit #VBA ansprechen?

Range("A1").End(xlDown)

bezeichnet die Zelle, die unter (xlDown) der Zelle A1 die letzte befüllte ist. Also die Zelle, die vor einer leeren Zelle kommt.

VTipp End(xlDown)

Ist die Zelle unter der Startzelle leer, so erreichen Sie damit die nächste befüllte Zelle.

Ist die Startzelle die letzte befüllte Zelle, so erreichen Sie das Ende der Arbeitsmappe.

Hier geht es (im Gegensatz zum UsedRange) nur um mit Inhalt befüllte Zellen. Formatierte Zellen spielen nicht mit. (Wenn Sie in Excel arbeiten, erreichen Sie diese Zelle mit der Tastenkombination Strg+Pfeil-nach-unten.)

Veröffentlicht unter Excel, VBA | Verschlagwortet mit , , , , , | Kommentar hinterlassen

I #Me Mine – #werbinich in #VBA

Was bedeutet #Me, wenn Sie in #Excel mit #VBA programmieren?

Also: mit Me qualifizieren Sie in einem Klassenmodul einer Tabelle, dass es bei dem folgenden Objekt um ein Objekt eben dieser Tabelle geht. Zum Beispiel wählen Sie mit

Private Sub Worksheet_Activate()
Me.UsedRange.Select
End Sub

den benutzten Bereich eben jener Tabelle aus, in deren Klassenmodul der Codeschnipsel steht – und zwar dann, wenn sie aktiviert wird.  Egal, wie diese Tabelle heißt, egal, ob sie gerade aktiviert ist. Die Tabelle spricht sozusagen mit sich selbst – daher also Me.

VTipp Me.png

Veröffentlicht unter Excel, VBA | Verschlagwortet mit , , , , | Kommentar hinterlassen

#benutzter Bereich

Wie können Sie mit #VBA den Bereich ansprechen, der auf Ihrem #Excel #Arbeitsblatt „benutzt“ wurden?

Es gibt ein Objekt dafür: den UsedRange. Das ist ein rechteckiger Bereich, der die am weitesten links liegende, benutzte (also nicht im Urzustand befindliche) Zelle, die am weitesten rechts liegende, die am weitesten oben und die am weitesten unten liegende Zelle einschließt.

ActiveSheet.UsedRange.Select

markiert dann z.B. den gesamten benutzen Bereich des gerade aktiven Tabellenblatts. Das sieht dann zum Beispiel so aus:

VTipp UsedRange

„Benutzt“ bedeutet also: mit Inhalt befüllt ODER formatiert.

Veröffentlicht unter Excel, VBA | Verschlagwortet mit , , , , , , , | 2 Kommentare

#Excel #Bereich in #VBA ansprechen

Ein kurzes aktuelles Intermezzo hat die Serie zum Theme #Excel #Bereich mit #VBA unterbrochen – aber nicht beendet. Weiter geht’s:

Den Bereich von C4 bis Z9 können Sie nicht nur wie letzte Woche beschrieben ansprechen, sondern auch so:

Range(Cells(4, 3), Cells(9, 26))

Gemeint ist der Bereich, der von der Zelle in der 4. Zeile und der 3. Spalte bis zur Zelle in der 9. Zeile und der 26. Spalte „aufgespannt“ wird.

Merken Sie den Unterschied? Sie brauchen keinen Spaltenbuchstaben zu kennen, sondern suchen sich einfach zwei Ecken aus, die Sie über die Cells-Auflistung referenzieren.

Anmerkung: wieder gilt alles, was bereits zum Thema Qualifizierung geschrieben wurde.

Anmerkung2: Es ginge natürlich auch so:

Range(Range("C4"), Range("Z9"))

 

Veröffentlicht unter Excel, VBA | Verschlagwortet mit , , , , , | Kommentar hinterlassen

#Sunday #fun #Excel

XTipp date format fun

Bild | Veröffentlicht am von | Kommentar hinterlassen

#Excel: #Zusammenarbeit und #Tabellen – ein #Widerspruch

Sie können #Excel-Arbeitsmappen gemeinsam mit anderen Benutzern zeitgleich bearbeiten – mit einer Ausnahme:

Enthält die Arbeitsmappe auch nur eine einzige Tabelle, so ist Ihnen das leider verwehrt. Da gibt’s auch keinen Workaraound. Sie müssen entweder die Tabelle entfernen, oder die Arbeitsmappe auf dem SharePoint ablegen.

Leider.

Veröffentlicht unter Excel | Verschlagwortet mit , , , , | Kommentar hinterlassen