phoboz
Goto Top

VBA Ermittel Letzte Spalte und Zeile mit Inhalt

Hallo,

hab meinen Ansatz zur zeit auf einem anderen Rechner, kann den Code jetzt grade nicht posten, aber zur Aufgabe. Vllt. kann mir auch so einer helfen.

Also ich kriege ein Excel-Datei zugeschickt.
Zuerst muss ich einmal raufinden bis zu welcher Spalte in Zeile 1 das Sheet geht z.B bis Z, weil danach alle Zellen leer sind.

am besten wäre wenn er mir diese Spalten noch zählt z.B ist gleich 26

Das gleiche muss ich auch für die Zeile haben.


Grüße

Phoboz

Content-Key: 202474

Url: https://administrator.de/contentid/202474

Printed on: April 25, 2024 at 01:04 o'clock

Member: LordXearo
LordXearo Feb 27, 2013 at 13:13:01 (UTC)
Goto Top
Hi,

du kannst in EXCEL VBA die "Worksheet" Funktionen nutzen. Du selektierst von A1 bis XYZ1 und nutzt die Count Funktion. In jeder Spalte in der sich ein Wert befindet zählt Count +1.

So könntest du rausfinden wieviele Spalten genutzt werden. Vorrausgesetzt dazwischen ist keine leere Spalte.

Mfg

Xearo
Member: TsukiSan
TsukiSan Feb 28, 2013, updated at Mar 01, 2013 at 06:10:44 (UTC)
Goto Top
Hallo Phoboz,

in Excel kannst du mit
MsgBox "Reihe:" & Selection.Row & vbCrLf & "Spalte:" & Selection.Column  
die aktuelle Position ermitteln, also Reihe und Spalte.

Mit der
Selection.End(xlToRight).Select
    ' &  
Selection.End(xlToLeft).Select

'oder  
Selection.End(xlDown).Select
    ' &  
Selection.End(xlUp).Select
kannst du jeweils immer in die letzte Zeile, bzw. Spalte springen oder wieder zurück.
das hat aber kleine "Häkchen und Öschen"

Gruss
Tsuki
Member: Phoboz
Phoboz Feb 28, 2013 updated at 07:11:57 (UTC)
Goto Top
Hallo,

danke für die Antworten bin jetzt soweit:

Ich wähle die Datei aus, die er öffnen soll.
Anschließend soll er in diese Datei gehen und mir in Worksheet(1) die Sachen zählen.

Wie mache ich das jedoch, muss ja iwo Activesheet.Worksheet(1) vorschreiben.

Brauch jetzt iwie was, wie ich ihm sage AusgeählteDatei.AktiveWorkbook.Worksheet(1). Kann ich sowas vor Cells.Find oder Range schreiben?
Hier der Code, der Code funktioniert bis zum "with" da brauch ich eure Hilfe, ich denke auch wenn der Code falsch ist, sagter aus, was ich haben möchte

Sub HCMS()

Dim filePath As String
Dim lastColumn As Integer
Dim lasRow As Integer

'Open excel-file  
MsgBox "Bitte wählen Sie eine xls.Datei aus."  
 filePath = Application.GetOpenFilename

Set wkS = Workbooks.Open(filePath).Sheets(1)
      
With wkS
lastColumn = .Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column  
 MsgBox lastColumn
Lastrow = .Range("A65536").End(xlUp).Offset(1, 0).Row - 1  
 MsgBox Lastrow
 End With
 
End Sub
Member: TsukiSan
TsukiSan Mar 01, 2013 at 06:05:45 (UTC)
Goto Top
Hallo Phoboz,

ich würde vorschlagen, dir erst einmal verschiedene Informationen zu verinnerlichen.
Schau mal hier oder hier oder auch hier.

Ich denke, dann hast du schnell deine Aufgabenstellung alleine gelöst und kannst da ganz zufrieden mit dem Ergebnis sein!

Gruss
Tsuki