Spalten- und Zeilen Anzahl eines Excel Sheets auslesen ?

maybebaby

Mitglied
Gibt es eine Möglichkeit die Anzahl der Spalten und Zeilene aus einem Excel Sheet auszulesen ?

Ich wollte eine Schleife mit Zähler bis zum Ende durchlaufen lassen aber das macht meinen code noch unübersichtlicher, gab es nicht einen einfachen Befehl zum Auslesen von Spalten und Zeilen Anzahl ?

liebe grüße,
jackie :confused:
 
Moin,

für die Anzahl der Zeilen habe ich etwas parat, versuchs einfach mal!
Code:
    'Objektverweis auf Tabellenblatt setzen
    Set objWks = ActiveWorkbook.Worksheets(1)
    '  Bsp.: Spalte A setzen
    nCol = 1
    With objWks
      'Wenn Zellen mit Daten im Tabellenblatt enthalten sind...
        If Application.WorksheetFunction.CountA( _
              .Columns(nCol).EntireColumn) > 0 Then
          
          'Letzte mögliche Zelle in angegebener Spalte zuerst prüfen
            If Len(.cells(.rows.Count, nCol).Value) = 0 Then
                nLastRow = .cells(.rows.Count, nCol).End(xlUp).Row
            Else
                nLastRow = .rows.Count
            End If
            
            strMsg = "Die letzte Zeile, die in Spalte " & nCol & " Daten enthält, ist die Zeile " & nLastRow
        Else
            strMsg = "Die Spalte " & nCol & " enthält keine Daten!"
        End If
    End With
    
    strMsg = "Tabellenblatt-Name: " & objWks.Name & vbCr & vbCr & strMsg
    
    MsgBox strMsg, vbInformation, Title:="Titel und so...  - " & _
          "Letzte  Z e i l e  mit Daten in angegebener Spalte"
 
Hallo,
vielen Dank funktioniert super.

meine frage mag jetzt etwas banal klingen, aber wie kann ich die Spalten noch dazu auslesen ? :confused:
 
Hallo maybebaby,

das geht mit der UsedRange-Methode:

Code:
   Set xlSheet = xlApp.ActiveWorkbook.Sheets(1)
   ColMax = xlSheet.UsedRange.Columns.Count

Viele Grüsse
ronaldh
 
ich bekomme die fehlermeldung "Laufzeitfehler 424 objekt erforderlich"

wenn ich xl sheet durch den namen des sheets ersetze von dem ich die zeilen wissen möchte geht es auch nicht :confused:

hm.. muss ich es irgendwo anders ersetzen? ich möchte von dem sheet resourcenplanung die anzahl der zeilen...
 
Du hast vermutlich die falschen Ersetzungen gemacht!

xlSheet müsste als Excel.Sheet deklariert sein also so


Visual Basic:
dim xls as Worksheet

xlapp ist deine Excel Anwendung also so

Visual Basic:
dim xlApp as Excel.Application

und diese muss natürlich erst einmal gesetzt werden über

Visual Basic:
 set xlApp = new Excel.Application 

'oder alternativ

set xlApp = GetObject(,"Excel.Application")

Der name für dein Sheet müsste
hier hin xlApp.ActiveWorkbook.Sheets([1)

also etwa so
Visual Basic:
set xlSheet = xlApp.ActiveWorkbook.Sheets("Tabelle1")

Grüsse bb

Soviel zu der Aussage "So super kurz" ;-)
 
hallo :confused:

also mein code sieht wie folgt aus aber die fehlermeldung wird nicht besser :mad:

Visual Basic:
Dim xls As Worksheet
Dim xlApp As Excel.Application
Set xlApp = New Excel.Application
Set xlSheet = xlApp.ActiveWorkbook.Sheets("Resourcenplanung")

 Set xlSheet = xlApp.ActiveWorkbook.Sheets(1)
 ColMax = xlSheet.UsedRange.Columns.Count
 MsgBox ("anzahl der zeilen: " & ColMax)

:rolleyes: HILFE....
 
Hallo,

bb hat das richtig erklärt. Hier nochmal der ganze Code, wie es funktioniert:

Code:
   Dim xlApp As Excel.Application
   Dim xlBook As Excel.Workbook
   Dim xlSheet As Excel.Worksheet
   
   Set xlApp = New Excel.Application
   Set xlBook = xlApp.Workbooks.Open(Dateiname)
   Set xlSheet = xlApp.ActiveWorkbook.Sheets(SheetNr)
   
  
   ColMax = xlSheet.UsedRange.Columns.Count
   MaxRows = xlSheet.UsedRange.Rows.Count


   xlBook.Close
   xlApp.Quit

   Set xlApp = Nothing
   Set xlBook = Nothing
   Set xlSheet = Nothing

Viele Grüsse
ronaldh
 
Zurück