Anzeige
Archiv - Navigation
1944to1948
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Übername von Daten

Übername von Daten
31.08.2023 16:01:16
Ron
Hallo,
mein Code soll aus einer Tabelle Spalte B Daten übernehmen, wo in der Spalte A das Wort "Summe" steht.
Nun übernimmt er aber alle Daten aus Spalte B.
Kann jemand helfen?

                For i = 70 To last_row

If InStr(ws.Cells(i, "A").Value, "Summe") > 0 Then
Dim year As String
year = Replace(ws.Cells(i, "A").Value, "Summe", "")
year = Trim(year)
If IsNumeric(year) Then
found = True

' Überprüft, ob das ausgelesene Jahr mit den Labels 1 bis 5 übereinstimmt, bevor die Werte zugewiesen werden
If year = Me.Label1.Caption Then
If Me.TextBox1 = "" Then
Me.TextBox1.Value = ws.Cells(i, "B").Value
TextBox1.Text = Format(TextBox1.Text, "#,##0.00")
Else
Me.TextBox1.Value = TextBox1.Value + ws.Cells(i, "B").Value
TextBox1.Text = Format(TextBox1.Text, "#,##0.00")
End If
ElseIf year = Me.Label2.Caption Then
If Me.TextBox2 = "" Then
Me.TextBox2.Value = ws.Cells(i, "B").Value
TextBox2.Text = Format(TextBox2.Text, "#,##0.00")
Else
Me.TextBox2.Value = TextBox2.Value + ws.Cells(i, "B").Value
TextBox2.Text = Format(TextBox2.Text, "#,##0.00")
End If
ElseIf year = Me.Label3.Caption Then
If Me.TextBox3 = "" Then
Me.TextBox3.Value = ws.Cells(i, "B").Value
TextBox3.Text = Format(TextBox3.Text, "#,##0.00")
Else
Me.TextBox3.Value = TextBox3.Value + ws.Cells(i, "B").Value
TextBox3.Text = Format(TextBox3.Text, "#,##0.00")
End If
ElseIf year = Me.Label4.Caption Then
If Me.TextBox4 = "" Then
Me.TextBox4.Value = ws.Cells(i, "B").Value
TextBox4.Text = Format(TextBox4.Text, "#,##0.00")
Else
Me.TextBox4.Value = TextBox4.Value + ws.Cells(i, "B").Value
TextBox4.Text = Format(TextBox4.Text, "#,##0.00")
End If
ElseIf year = Me.Label5.Caption Then
If Me.TextBox5 = "" Then
Me.TextBox5.Value = ws.Cells(i, "B").Value
TextBox5.Text = Format(TextBox5.Text, "#,##0.00")
Else
Me.TextBox5.Value = TextBox5.Value + ws.Cells(i, "B").Value
TextBox5.Text = Format(TextBox5.Text, "#,##0.00")
End If
End If
End If
End If
Next i

Danke

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Übername von Daten
31.08.2023 17:26:38
onur
"Kann jemand helfen? " ??? Wie denn, wenn du keine DATEI postest ?
Übername von Daten
01.09.2023 14:07:09
Ron
Hallo. Ich habe eine andere Möglichkeit gefunden. Danke trotzdem
Übername von Daten
31.08.2023 20:16:39
Yal
Hallo Ron,

ich habe nichts verändert, nur ein bischen aufpoliert.

Sub summieren()

Dim i
Dim Year As String

'aus leere String mache einen Zahl
For i = 1 To 5
If Me.Controls("TextBox" & i).Value = "" Then Me.Controls("TextBox" & i).Value = 0
Next
'Überprüft, ob das ausgelesene Jahr mit den Labels 1 bis 5 übereinstimmt, bevor die Werte zugewiesen werden
For i = 70 To last_row
Year = Replace(ws.Cells(i, "A").Value, "Summe", "")
If Len(ws.Cells(i, "A").Value) > Len(Year) Then 'nur wenn "Summe" gefunden würde, hat der Replace stattgefunden. Sonst ist Year genauso lang wie den Zellinhalt
Select Case Trim(Year)
Case Me.Label1.Caption: Me.TextBox1.Value = TextBox1.Value + ws.Cells(i, "B").Value
Case Me.Label2.Caption: Me.TextBox1.Value = TextBox2.Value + ws.Cells(i, "B").Value
Case Me.Label3.Caption: Me.TextBox1.Value = TextBox3.Value + ws.Cells(i, "B").Value
Case Me.Label4.Caption: Me.TextBox1.Value = TextBox4.Value + ws.Cells(i, "B").Value
Case Me.Label5.Caption: Me.TextBox1.Value = TextBox5.Value + ws.Cells(i, "B").Value
End Select
End If
Next i
'formatiere
For i = 1 To 5
Me.Controls("TextBox" & i).Text = Format(Me.Controls("TextBox" & i).Value, "#,##0.00")
Next
End Sub


Lass den Code in Schritt-Modus laufen (F8) und öffne davor das Lokalfenster (Ansicht, Lokalfenster in VB-Editor). So kannst Du sehen, welche Werte deine Variable haben und warum es die Labels nicht entspricht.

VG
Yal
Anzeige
Übername von Daten
01.09.2023 14:05:19
Ron
Danke. Ich habe eine andere Methode gewählt und den Fehler damit behoben.
Gruß

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige