Office: Variable in Schleife hochzaehlen

Helfe beim Thema Variable in Schleife hochzaehlen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Guten Abend ans Forum, Fuer folgende Idee/Problem suche ich eine Loesung und eventuell weiss hier im Forum jemand Rat: In einer Schleife moechte ich... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von User, 7. März 2004.

  1. Variable in Schleife hochzaehlen


    Guten Abend ans Forum,

    Fuer folgende Idee/Problem suche ich eine Loesung und eventuell weiss hier im Forum jemand Rat:

    In einer Schleife moechte ich in einem Arbeitsblatt in Excel 2002 Werte aus einem Formular uebertragen lassen. Dabei wuerde ich gerne die Variable A1 bis A10 verwenden. Dimensionieren scheint soweit kein problem, doch wie formuliere ich nun innnerhalb der Schleife das ich bei jedem durchgang den 'Index' der Variable A um eins weiter setzte ?

    n ist der 'Variablenzaehler' der jeweils um eins erhoeht werden soll pro durchlauf

    Sheet("ABC").[...].Value = A(n) 'hat nicht funktioniert da dann eine Funktion gesucht wird

    Sheet("ABC").[...].Value = An 'funktioniert ebenfalls nicht

    Sheet("ABC").[...].Value = A ' funktioniert einmal aber ich bekomme dann kein A1 usw hin

    Ich nehme an das das indexieren in VBA anderes gehandhabt wird ( wenn das moeglich ist ). Oder ist es eventuell noch ein viel simpler Fehler denn ich nicht sehe ?

    Danke schon mal vorab fuer die Tips.

    Gruss
    wellbin

    :)
     
  2. Moin, wellbin,

    vermelde: ich verstehe ob der Schilderung Bahnhof! Was möchtest Du: 10 Variable - wie werden die dann innerhalb der UF berechnet? Ein Array mit 10 Elementen? Warum für jeden Schreibvorgang eine Variable?
     
  3. N'Abned Jinx,

    thx fuer die schnelle Reaktion, ich sehe es braucht einer genaueren Beschreibung:

    Also ich habe ein Formular in den diverse Dinge eingetragen werden und einige Chack boxen getickt werden sollen.

    Nach druecken eines Buttons sollen die werte vom Schirm in ein dazupassendes Excelsheet uebernommen werden.

    Alle Variablen heissen A, wobei ich zur unterscheideung jeweils eine Nummer vergeben habe. Also Eintrag 1 geht in die Variable A1, Eintrag 2 in die Variable A2 usw.

    Nun wuerde ich gerne das eintragen in einer Schleige abarbeiten, was prinzipiell funktionieren muesste, wenn es moeglich ist A(n) zu setzten und beim erste durchgang n =1 => A1, beim zweiten Durchgang n = 2 => A2

    Ich weiss nicht ob soetwas in VBA moeglich ist.

    Sollte diese Beschreibung nicht ausreichen werde ich morgen Abend Quellcode Bsp besorgen ( auswendig kann ich ihn leider noch nicht).

    Gruss
    wellbin
     
  4. Variable in Schleife hochzaehlen

    Moin, wellbin,

    normalerweise verwendet man doch dann aber eine Variable, um die Zeilenanzahl im Empfangsblatt festzustellen und die entsprechende Zeile für die Variablen herzuleiten - aber vielleicht sehe ich auch Probleme, wo keine sind...

    Von Deiner Art der Benennung kann ich eigentlich nur abraten - Du weißt heute noch, was A7 ist; wie aber sieht es in einem Monat aus? Die Probleme des Verständnisses eines Außenstehenden möchte ich jetzt nicht weiter erörtern - ich halte diese Art nicht für "servicefreundlich".
     
  5. Hallo zusammen,

    Zugegeben so aus dem Bauch ohne Quellcode ist es schwierig, deshalb hier die Schleife:

    Do While j < 12 ' loop

    Sheets(SHEETNO).Cells(z, s).VALUE = A
    s = s + 1
    z= z + 1

    Loop

    Ich wuerde nun gerne A so modifiezieren das ich es hochzaehlen kann (s. auch erklaerungsversuche oben).

    Was die bennenung der variablen betrifft so ist natuerlich der Quellcode auskommentiert das nachvollziehbar ist was A1, A2 usw enthalten.

    Danke fuer die Tips schon jetzt.

    Gruss
    wellbin
     
  6. Moin,

    also, wenn Du den Code so wie oben geschrieben anwendest:
    Sheets(SheetNo).Cells(z,s).Value = A1 bzw. A2 etc., dann würde in die entsprechende Zelle der wert aus entsprechender Variable geschrieben werden. Wenn ich Dich richtig verstehem, willst Du aber den Wert der zellen in die Variablen schreiben.

    Hier könnte ein Array funzen:
    Code:
     
    Sidewinder, 10. März 2004
    #6
  7. Hallo Andre,

    Danke fuer die Antwort.

    Es ist tatsaechlich so das der Wert aus der Variable in die Zelle uebertragen werden soll. Anfangs dachte ich es ginge in dem ich A dimensioniere ( als public ) und dann "einfach"

    Sheets(SHEETNO).Cells(z, s).VALUE = A(n)

    angebe, wobei anfangs n=1 ist und ich n dann entsprechend hochzaehle. Allerdings versteht das System so nicht was ich moechte und gibt mir die Fehlermeldung:

    "Sub oder Function nicht definiert"

    beim kompelieren ausgibt.

    Gruss
    wellbin
     
  8. Variable in Schleife hochzaehlen

    Hi,

    3 Fragen:
    1. wie dimensionierst Du Dein Array ?
    2. Wo tust du das?
    3. Wann?

    André
     
    Sidewinder, 10. März 2004
    #8
  9. Moin, wellbin,

    wie wäre es mit dem Code, der Probleme bereitet, und nicht mit Placebos? Ich weiß, wie schwer es sein kann, Fragen zu beantworten, bei denen die Fragenden sich um jede klare Antwort drücken: Du benötigst kein Array, um Daten aus einer UserForm in eine Tabelle zu übertragen - dies kann direkt geschehen. Meist liest man dazu die letzte genutzte Zeile einer Tabelle aus, um die Daten untereinander zu schreiben.
     
  10. Danke fuer die Antworten.

    Das der ganze Code etwas viel ist habe ich eine Ausschnitt erstellt:

    Public Sub EditCheck()
    Dim A(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
    End Sub

    Private Sub CID_Change() ‘ Text Feld
    A1 = CID.VALUE
    End Sub

    [..] Hier wiederholt sich die Private Sub Prozedur XX_Change() von oben jeweils fuer ein neues Feld

    Private Sub CB6_Click() ‘ Check Box
    If CB6 = True Then
    NOE.VALUE = False

    A3 = 1 ‘ Checkbox 6 = yes
    A10 = 0 ‘ No Error = no

    [..] Hier kommen dann noch weitere Private Subs fuer weitere Checkboxen, jeweils gleiches Schema

    Private Sub OK_Click() ' Dies ist der OK Button am Ende des Formulars umd die Werte nun in das Excelsheet zu uebertragen

    SHEETNO = "1P"
    Dim z, s, n, j
    z = 6
    s = 2
    j = 0
    n = 1

    Do While j < 12 ' loop

    Sheets(SHEETNO).Cells(z, s).VALUE = A(n)
    s = s + 1
    j = j + 1
    n = n + 1
    Loop

    End If
    End Sub

    Hoffe es wird nun klarer was ich anstrebe.

    Danke .

    Gruss
    wellbin
     
  11. Hi wellbin,

    zur Deklaration des Arrays:

    gehe bitte im Modul ganz nach oben und deklariere außerhalb einer Prozedur:
    Public A(1 To 12)
    Damit wird ein Array deklariert, was die Items A(1) bis A(12) hat.

    Wertzuweisung:
    Private Sub CID_Change() ‘ Text Feld
    A1 = CID.VALUE
    End Sub

    Hier musst Du, wenn Du dem ersten Item aus A den Wert zuweisen willst, dieses folgendermaßen ansprechen:( A1) und dies in allen Prozeduren.

    Damit sollte dann auch unten das Eintragen in die Tabelle hinhauen.

    Gruß
    André
     
    Sidewinder, 10. März 2004
    #11
  12. Hallo Sidewind,

    Danke fuer den Tipp.

    Klappt jetzt bis dahin.

    Gruss
    wellbin
     
Thema:

Variable in Schleife hochzaehlen

Die Seite wird geladen...
  1. Variable in Schleife hochzaehlen - Similar Threads - Variable Schleife hochzaehlen

  2. Variable Anzahl immer 9er Kombination StellenBerechnung

    in Microsoft Excel Hilfe
    Variable Anzahl immer 9er Kombination StellenBerechnung: Hallo schönen Guten Abend mit Bauchweh, das ich bereits habe bei meiner Nicht weiter kommenden Formel. Folgendes Es lässt sich Schwer beschreiben doch ich versuche es Ich habe in J3 einen Wert...
  3. VBA Schleife kopieren und einfügen von Spalten

    in Microsoft Excel Hilfe
    VBA Schleife kopieren und einfügen von Spalten: Hallo Zusammen, Ich habe auf einem Tabellenblatt eine variable Anzahl an Spalten mit Daten die auch eine variable Anzahl an Zeilen haben, auch mit Lücken in den Zeilen. Die Spalten mit den Infos...
  4. VBA: Variable Anzahl Zeilen mit Suchkriterien finden und kopieren

    in Microsoft Excel Hilfe
    VBA: Variable Anzahl Zeilen mit Suchkriterien finden und kopieren: Hallo zusammen, ich konnte bislang nur bruchstückhafte Ansätze zu meinem Problem finden, jedoch keinen um mehrere Kriterien zu erfassen und anschließend zu ordnen, daher brauche ich (mal wieder)...
  5. Eine Do-Schleife mit mehreren Variablen durchlaufen lassen

    in Microsoft Excel Hilfe
    Eine Do-Schleife mit mehreren Variablen durchlaufen lassen: Hallo zusammen, ich habe eine Liste mit Versuchsdaten, wo in jeder Zeile je ein Messpunkt mit Datum, Temperatur, Luftfeuchte, ... steht. Nun möchte ich diese Liste durchsuchen nach einem...
  6. die to Variable innerhalb einer FOR Schleife ändern

    in Microsoft Excel Hilfe
    die to Variable innerhalb einer FOR Schleife ändern: Hallo zusammen, ich würde gern die to Variable (in meinem Fall lastRow) innerhalb der FOR Schleife ändern. Funktioniert irgendwie nicht.... Code: lastRow = Output.UsedRange.Rows.Count For i = 2...
  7. range mit variable in for schleife (anfängerproblem)

    in Microsoft Excel Hilfe
    range mit variable in for schleife (anfängerproblem): Sorry, dass ich mit so einer einfachen Frage komme, doch ich weiß nicht warum dass nicht geht. Code: 'Kopiere Tabellenboden Sheets("Druckformular Temp").Select Range("A16:J17").Select...
  8. If Schleife mit Variablen Zellen

    in Microsoft Excel Hilfe
    If Schleife mit Variablen Zellen: Guten Tag, ich bins mal wieder. Da die Hilfe hier ja super klappt habe ich mal wieder eine Frage, um mir unnötig viel Schreibarbeit zu ersparen. Diese If-Schleifen habe ich bisher genutzt :...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden