Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1208to1212
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UsedRange Spalte Rückgabe als Buchstabe

UsedRange Spalte Rückgabe als Buchstabe
Burghard
Hallo,
habe ein kleines Problem:
Bei i = ActiveSheet.UsedRange.Columns.Count ist das Ergebnis zum Beispiel = 4
Gibt es die Möglichkeit statt "4" auch "D" als Variable rückgeben zu lassen?
Schönen Gruß
Burghard

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
UsedRange Spaltenbuchstabe
11.04.2011 16:58:16
Erich
Hi Burghard,
das funzt aber nur, wenn der UsedRange in Spalte A beginnt. Ist das gesichert?
So wird der Spaltenbuchstabe angezeigt:

With ActiveSheet
MsgBox Replace(.Cells(1, .UsedRange.Columns.Count).Address(0, 0), "1", "")
End With
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Kleines Problem
12.04.2011 11:03:02
Burghard
Hallo Erich,
vielen Dank. Deine Lösung klappt! Allerdings bräuchte ich die Ausgabe in eine Variable und nicht in eine MsgBox.
also in etwa so:
s = Replace(.Cells(1, .UsedRange.Columns.Count).Address(0, 0), "1", "")
Antwort wäre nett.
Schönen Gruß
Burghard
Anzeige
Wo ist das Problem?
12.04.2011 11:29:37
Erich
Hi Burghard,
mit
s = Replace(.Cells(1, .UsedRange.Columns.Count).Address(0, 0), "1", "")
hast du die Lösung doch schon hingeschrieben, oder funktioniert das so nicht?
Falls das nicht funktionieren sollte, müsstest du mal beschreiben, was genau passiert und was passieren sollte.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Problem / Fehler
12.04.2011 12:51:42
Burghard
Hallo Erich,
leider gibt es in der Zeile s = Replace ... eine Fehlermeldung.
Ich habe der Einfachheit halber das ganze Makro hier reigeschrieben:
Sub zeilenhoehe()
Dim rng As Range
Dim z As Long
Dim s As Long
z = ActiveSheet.UsedRange.Rows.Count
s = ActiveSheet.UsedRange.Columns.Count
s = Replace(.Cells(1, .UsedRange.Columns.Count).Address(0, 0), "1", "")
Application.ScreenUpdating = False
Range("A1" & ":" & s & z).Select
For Each rng In Selection.Rows
rng.AutoFit
If rng.RowHeight 

Kannst Du helfen?
Schönen Gruß
Burghard
Anzeige
was soll der Quatsch?
12.04.2011 13:21:44
Rudi
Hallo,
das sollte doch auch reichen:
Sub zeilenhoehe()
Dim rng As Range
Rows.AutoFit
For Each rng In ActiveSheet.UsedRange.Rows
If rng.RowHeight 

Gruß
Rudi
AW: Falsche Programmierung
12.04.2011 18:20:37
Burghard
Hallo Rudi,
vielen Dank für Deine Programmzeilen. Geht bestens! Natürlich hast Du mit Deiner Kritik Recht, aber, wie Erich es sagt, bin ich am Anfang und lerne ständig dazu (und aus meinen Fehlern) und jede Programmzeile hilft mir weiter.
Schönen Gruß
Burghard
Probleme beseitigt?
12.04.2011 13:37:10
Erich
Hi Burghard,
da sind einige Fehler drin:
s ist als Long deklariert, soll aber das Replace-Ergebnis (einen Spaltenbuchstaben) aufnehmen.
Du hast die With-Klammer einfach weggelassen.
Hier mal zwei Versionen, sinnvoll ist nur zeilenhoehe3(). Die zeilenhoehe2() habe ich nur gepostet,
damit du daran sehen kannst, wie das aussehen könnte.

Sub zeilenhoehe2()
Dim rng As Range
Dim z As Long
Dim s As Long
Dim strC As String
With ActiveSheet                 ' With ... End With Fehlte !
z = .UsedRange.Rows.Count
s = .UsedRange.Columns.Count
strC = Replace(.Cells(1, .UsedRange.Columns.Count).Address(0, 0), "1", "")
Application.ScreenUpdating = False
With .Range("A1" & ":" & strC & z)
.EntireRow.AutoFit
For Each rng In .Rows
If rng.RowHeight 
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
P.S. @Rudi: Ich denke, Burghard ist dabei, zu lernen...
Anzeige
@Rudi: Ich denke,
12.04.2011 13:59:00
Rudi
Hallo,
mag sein.
Aber das ist wirklich von hinten durch die Brust ins Auge.
Aus einer Spaltennummer die Bezeichnung zu ermitteln, daraus einen String zu bauen um ihn dann als Range zu übergeben, den VBA dann wieder in Long-Koordinaten uminterpretieren muss ....
;-)
Gruß
Rudi
AW: Geht bestens!
12.04.2011 18:16:56
Burghard
Hallo Erich,
vielen Dank für Deine Hilfe und die Erklärungen! Ja, Du hast Recht, ich lerne ständig an meinen Problemen und weiß, dass ich viele Dinge falsch mache. Rudi hat da natürlich mit seiner Kritik in der Sache Recht.
Aber - wie gesagt - ich lerne aus jedem Problem.
Schönen Gruß
Burghard
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige