Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spalten hochzählen

Forumthread: Spalten hochzählen

Spalten hochzählen
24.10.2002 12:41:24
Gebhard
Hallo Excel-Profis,
kann man in Excel Spalten hochzählen lassen?
Also z.B. Spalte A + 1 = Spalte B ? Geht das?

Ich möchte nämlich Eigenschaften in verschiedenen Spalten überprüfen und möchte dies mittels einer For-Schliefe realisieren.

Vielen Dank schonmal!

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Spalten hochzählen
24.10.2002 12:46:40
PeterW
Hallo Gebhard,

das geht mit Columns(zähler)

Gruß
Peter

Re: Spalten hochzählen
24.10.2002 12:48:51
Wolfgang
Sub spalten()

'i = Nummer der Spalte
'A=1, B=2, ...

Dim i As Integer
For i = 1 To 5
Debug.Print Columns(i).ColumnWidth
Debug.Print Cells(5, i)
Next i
End Sub

Re: Spalten hochzählen
24.10.2002 12:57:01
Gebhard
ich werde es gleich mal ausprobieren.

Gehe davon aus, daß ich innerhalb der Klammer die Spalten Nummer eingeben kann, oder?

Bsp:
ich möchte einen Wert in Spalte A, danach in Spalte B, danach in Spalte C überprüfen lassen.

Anzeige
Re: Spalten hochzählen
24.10.2002 13:00:39
gebhard
KAnn ich mit diesem Code auch den Inhalt einer Zelle in einer bestimmten Spalte überprüfen?

Bsp.: Überprüfe Zeile 2 in Spalte A, danach in Spalte B, etc..

Vielen Dank!

Re: Spalten hochzählen
24.10.2002 13:02:17
PeterW
Hallo Gebhard,

grnau, in die Klammer gehört die NUMMER der Spalte. Wenn Du jetzt allerdings schreibst, dass Du *einen* Wert prüfen möchtest hilft Dir vielleicht auch Cells(reihe, spalte) weiter (für Reihe und Spalte natürlich auch wieder die Nummer).

Gruß
Peter

Anzeige
Re: Spalten hochzählen
24.10.2002 13:07:41
Gebhard
Ok..ich probiere das gleich mal aus.
Problem ist, daß mein Projekt etwas groß ist, d.h. ich habe 22 Sheets, in dennen jeweils ca. 20 Spalten, in denen ich jeweils 40 Eigenschaften überprüfen möchte.

ICh möchte halt alles möglich dynamisch halten...fester Code bringt keinem was! ;)

Werdes es wohl so lösen:

Sheet1.Columns(1).Zeile?? // 1 steht für A

und das irgendwie kombiniert mit einer For-Schleife.. ;)

Anzeige
Re: Spalten hochzählen
24.10.2002 13:15:04
PeterW
Hallo Gebhard,

das hatte ich doch schon geschrieben.
Sheets(1).Cells(2, 1) (das wäre die Zelle in Zeile 2, Spalte 1 also A2). Für die Zahlen kannst Du natürlich Zählvariable benutzen.
For intSht = 1 to 20
For intRow = 1 to 5
For intCol = 1 to 10
if sheets(intSht).Cells(intRow, intCol) <> "" Then
das was Du machen möchtest
End If
Next
Next
Next

Gruß
Peter

Anzeige
Re: Spalten hochzählen
24.10.2002 13:19:39
Gebhard Marent
Sau gut!! Vielen Dank!!

Re: Spalten hochzählen
24.10.2002 13:35:51
Gebhard
Kurze Frage noch.

Also der Code funktioniert nicht ganz richtig. Ich habe in meinen Zellen ein x drin stehen und er soll überprüfen, ob ein x in der Zelle steht, oder nicht.

Habe deinen Code getestet, mit <> "x" .. weiß nicht was das sein soll, da ich kein Excel Buch habe.

Mit ="x" funktioniert es leider auch nicht, d.h. wenn ich die "" nicht hinschreibe, wird das Ergebnis negiert.

Gebhard.

Anzeige
Re: Spalten hochzählen
24.10.2002 13:50:05
PeterW
Hallo Gebhard,

der Code sollte auch keine Lösung für Dein Problem darstellen sondern nur beispielhaft dafür stehen, wie man mit Variablen und Schleifen arbeiten kann. Der Code war auch nicht vollständig, die Variablendimensionierung fehlt komplett.
Beschreibe bitte genau, was Du machen möchtest. Welcher Bereich soll in welchen Blättern auf das Vorhandensein von x geprüft werden?
Und wenn etwas nicht funktioniert wäre es gut zu wissen was GENAU nicht funktioniert. Macht der Code nichts, nicht das, was er soll, gibt es Fehlermeldungen ...

Also beschreib bitte nochmal genau was Du machen möchtest, dann bekommst Du auch funktionierenden Code geliefert. :)

Gruß
Peter

Anzeige
Andere Frage
24.10.2002 13:57:44
Gerrit
Hi Peter,
Du hast vorhin auf meinen Zeilenwechsel geantwortet und hast auch fast die Richtige Lösung gehabt nur das ich nicht das Target brauch sondern ich will wissen welche Zeile Excel verlassen hat!
fällt Dir da zufällig was ein

MfG
Gerrit

;
Anzeige

Infobox / Tutorial

Spalten in Excel hochzählen und überprüfen


Schritt-für-Schritt-Anleitung

Um in Excel Spalten hochzählen zu lassen, kannst Du eine einfache VBA-Prozedur verwenden. Folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub spalten()
       Dim i As Integer
       For i = 1 To 5 ' Anzahl der Spalten, die hochgezählt werden
           Debug.Print Columns(i).ColumnWidth
           Debug.Print Cells(5, i) ' Überprüft die Zelle in Zeile 5
       Next i
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus, um die Werte der Spalten zu überprüfen.

Mit diesem Code kannst Du die Spalten in Excel hochzählen und verschiedene Eigenschaften der Zellen abfragen.


Häufige Fehler und Lösungen

Hier sind einige häufige Probleme und deren Lösungen:

  • Problem: Der Code wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass Du das Makro korrekt gestartet hast. Gehe zu Entwicklertools > Makros, wähle das Makro aus und klicke auf Ausführen.
  • Problem: Die Ausgabe im Debug-Fenster ist nicht wie erwartet.

    • Lösung: Überprüfe, ob Du die richtige Anzahl an Spalten in der Schleife definiert hast. Passe For i = 1 To X an, wobei X die Anzahl der gewünschten Spalten ist.

Alternative Methoden

Wenn Du nicht mit VBA arbeiten möchtest, kannst Du auch Excel-Formeln verwenden:

  1. Um Werte in benachbarten Spalten zu referenzieren, kannst Du einfach in einer Zelle schreiben:

    =A1 + 1

    Dies zeigt den Wert von Zelle A1 plus 1 an.

  2. Um in einer Formel dynamisch auf Spalten zuzugreifen, kannst Du die OFFSET-Funktion verwenden:

    =OFFSET(A1, 0, 1)

    Dies gibt den Wert in der Zelle B1 zurück.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du den Code anpassen kannst:

  1. Überprüfen einer Zelle auf ein bestimmtes Zeichen (z.B. "x"):

    Sub checkX()
       Dim i As Integer
       For i = 1 To 5
           If Cells(2, i).Value = "x" Then
               Debug.Print "In Spalte " & i & " steht ein x"
           End If
       Next i
    End Sub
  2. Dynamische Überprüfung über mehrere Blätter:

    Sub checkMultipleSheets()
       Dim intSht As Integer, intRow As Integer, intCol As Integer
       For intSht = 1 To 20 ' Anzahl der Arbeitsblätter
           For intRow = 1 To 5
               For intCol = 1 To 10
                   If Sheets(intSht).Cells(intRow, intCol) = "x" Then
                       Debug.Print "In Blatt " & intSht & " in Zelle " & Cells(intRow, intCol).Address & " steht ein x"
                   End If
               Next
           Next
       Next
    End Sub

Tipps für Profis

  • Nutze Debug.Print, um während der Ausführung von Makros Informationen zu protokollieren. So kannst Du leichter Fehler finden.
  • Halte Deinen Code modular, indem Du verschiedene Funktionen für unterschiedliche Aufgaben erstellst.
  • Verwende benannte Bereiche, um Deinen Code leserlicher zu machen und um einfacher auf bestimmte Zellbereiche zuzugreifen.

FAQ: Häufige Fragen

1. Wie kann ich eine bestimmte Spalte in Excel hochzählen?
Du kannst die Columns-Eigenschaft in VBA verwenden, um auf eine bestimmte Spalte zuzugreifen. Zum Beispiel Columns(1) für Spalte A.

2. Was bedeutet Cells(reihe, spalte) in VBA?
Cells(reihe, spalte) wird verwendet, um auf eine bestimmte Zelle in einem Arbeitsblatt zuzugreifen, wobei reihe und spalte die Nummern der Zeile und Spalte darstellen.

3. Wie überprüfe ich, ob ein Wert in einer Zelle steht?
Du kannst eine If-Bedingung verwenden, um den Inhalt einer Zelle zu überprüfen, beispielsweise If Cells(2, 1).Value = "x" Then.

4. Funktioniert das auch in Excel 365?
Ja, die beschriebenen Methoden und Codes funktionieren in Excel 365 sowie in anderen Versionen von Excel, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige