Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellinhalt in Variable und Variable um 1 erhöhen

Forumthread: Zellinhalt in Variable und Variable um 1 erhöhen

Zellinhalt in Variable und Variable um 1 erhöhen
08.08.2013 12:42:10
Lars
Hallo zusammen,
ich stehe gerade vor folgendem Problem:
Ich möchte Daten aus Zellen auslesen und diese in Variablen schreiben. Um nicht jede einzelne Variable aufzuführen, möchte ich diese in einer For-Schleife oder ähnlichem hochzählen.
In einfacher Darstellung sieht es so aus (Das schreiben in Range(..) ist nur eine Kontrolle, ob es funktioniert):

Private Sub Zuordnung_Click()
Dim Abschn(0 To 10000) As String
'Einlesen in unterschiedliche Variablen
For i = 1 To 3
Abschn(i) = Cells(5 + i, 2)
Next i
Range("G6") = Abschn1
Range("G7") = Abschn2
Range("G8") = Abschn3
End Sub


Danke für eure Hilfe
Gruß
Lars

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
! HABE FEHLER GEFUNDEN owT !
08.08.2013 12:49:52
Lars
Alles iO, mein Bock.

AW: Zellinhalt in Variable und Variable um 1 erhöhen
08.08.2013 12:51:13
Rudi
Hallo,
und was ist deine Frage?
logischerweise Range("G6")=Abschn(1)
Gruß
Rudi
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zellinhalt in Variable speichern und um 1 erhöhen


Schritt-für-Schritt-Anleitung

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

  2. Erstelle ein neues Modul: Rechtsklicke auf "VBAProject (DeinWorkbookName)", wähle "Einfügen" und dann "Modul".

  3. Code einfügen: Kopiere den folgenden VBA-Code in das Modul:

    Private Sub Zuordnung_Click()
        Dim Abschn(0 To 10000) As String
        ' Einlesen in unterschiedliche Variablen
        For i = 1 To 3
            Abschn(i) = Cells(5 + i, 2) ' Excel Zelle auslesen und in Variable schreiben
        Next i
        Range("G6") = Abschn(1)
        Range("G7") = Abschn(2)
        Range("G8") = Abschn(3)
    End Sub
  4. Schließe den VBA-Editor und kehre zu Deiner Excel-Datei zurück.

  5. Füge einen Button ein: Gehe zu "Entwicklertools" und wähle "Einfügen", dann füge einen Button hinzu und weise ihm das Makro Zuordnung_Click zu.

  6. Teste das Makro: Klicke auf den Button, um die Variablen zu befüllen und die Werte in die entsprechenden Zellen zu übertragen.


Häufige Fehler und Lösungen

  • Fehler: "Subscript out of range"

    • Lösung: Überprüfe den Indexbereich des Arrays. Stelle sicher, dass du keine Indizes außerhalb der definierten Grenzen verwendest.
  • Fehler: "Object variable or With block variable not set"

    • Lösung: Vergewissere dich, dass die Zellen, die du auslesen möchtest, tatsächlich Werte enthalten. Leere Zellen können zu Problemen führen.

Alternative Methoden

Eine alternative Methode zur Speicherung von Zellinhalten in Variablen ist die Verwendung von Collection oder Dictionary. Diese Methoden erlauben eine flexiblere Handhabung von Daten und sind besonders nützlich, wenn du eine unbekannte Anzahl von Werten speichern möchtest.

Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
For i = 1 To 3
    dict.Add i, Cells(5 + i, 2).Value
Next i

Praktische Beispiele

Stelle dir vor, du hast in den Zellen B6 bis B8 Werte, die du in Variablen speichern und dann in andere Zellen übertragen möchtest. Mit dem oben genannten VBA-Code kannst du dies automatisieren. Einfach den Code anpassen, um die gewünschten Zellen auszulesen.


Tipps für Profis

  • Verwende Option Explicit: Dies hilft, Fehler durch nicht deklarierte Variablen zu vermeiden.
  • Fehlerbehandlung einbauen: Nutze On Error Resume Next, um sicherzustellen, dass dein Makro auch bei Fehlern nicht abstürzt.
  • Zellen dynamisch ansprechen: Anstatt feste Zellreferenzen zu verwenden, kannst du auch Variablen nutzen, um die Zellen dynamisch festzulegen.

FAQ: Häufige Fragen

1. Wie kann ich mehr als drei Variablen verwenden? Du kannst die Schleife und das Array entsprechend anpassen. Erhöhe einfach die Werte in der For-Schleife und das Array.

2. Was ist der Unterschied zwischen einem Array und einer Collection? Ein Array hat eine feste Größe, während eine Collection dynamisch ist und sich anpassen kann, je nach Anzahl der Elemente, die du speichern möchtest.

3. Wie kann ich den Inhalt einer Zelle direkt erhöhen? Du kannst den Wert direkt in der Zelle erhöhen, indem du folgendes verwendest:

Cells(6, 7).Value = Cells(6, 7).Value + 1

4. Funktioniert dieser Code in Excel 2010? Ja, dieser VBA-Code ist mit Excel 2010 sowie neueren Versionen kompatibel.

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