Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1380to1384
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

String-Variable wird falsch befüllt

String-Variable wird falsch befüllt
08.09.2014 10:42:00
Thomas
Hallo zusammen,
Folgendes Problem:
Ich habe eine String-Variable, die sich folgendermaßen zusammensetzt:
Variable = Name_Tabellenblatt + Inhalt_Zelle_geändert
Beim Schließen der Excel-Datei wird nun die Variable befüllt. Es wird durch alle Tabellenblätter mit einer for-Schleife durchgegangen und überprüft, bei welchen Zellen sich etwas geändert hat. Danach wird automatisch eine Email generiert und die Variabel übergeben.
Jedoch wird die Variable nicht so befüllt wie ich möchte.
Anstatt die Variable so zu befüllen :
Variable = Name_Tabellenblatt1 + geänderte_Zellen_Tabellenblatt1 + Name_Tabellenblatt2+ geänderte_Zellen_Tabellenblatt2+ ....
wird es folgendermaßen gemacht:
Variable = Name_Tabellenblatt1 + Name_Tabellenbaltt2 + ...+ geänderteZellen_Tabellenbaltt1 + geänderte_Zellen_Tabellenblatt 2 +...
Dadurch geht der Überblick verloren, bei welchem Tabellenblatt sich was geändert hat.
Wie kann ich dieses Problem lösen?
Vielen Dank!
Gruß,
Thomas

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

Betreff
Datum
Anwender
Anzeige
AW: String-Variable wird falsch befüllt
08.09.2014 10:46:00
yummi
Hallo Thomas,
laut Orakel befüllst Du deine Variable an der falschen Stelle in deiner For Schleife, ist aber etwas milchig heute ;-)
Gruß
yummi

AW: String-Variable wird falsch befüllt
08.09.2014 13:16:04
Rudi
Hallo,
zeig mal deinen Code
Gruß
Rudi

AW: String-Variable wird falsch befüllt
08.09.2014 13:58:32
Thomas
Hier mein code:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim filename As String
Dim i As Integer
Dim h As Integer
Dim sheet_Anzahl As Integer
Dim x As Integer
Dim intCounter As Integer
Dim TabName As String
Dim WS As Worksheet
Dim Split As String
Dim sheet_name As Variant
If MsgBox("Änderungen als EMail senden?", vbYesNo, "EMail senden?") = vbYes Then
sheet_Anzahl = ActiveWorkbook.Worksheets.Count    'Anzahl der Arbeitsmappen bestimmen
For x = 1 To sheet_Anzahl
Sheets(x).Activate                                        'Auswahl der Arbeitsmappe
sheet_name = ActiveWorkbook.Worksheets(x).Name            'Name der ausgewählten  _
Arbeitsmappe
LetzteZeile = Sheets(x).Range("a65336").End(xlUp).Row
For i = 2 To LetzteZeile
cell_temp = Cells(i, 7) ' Spalte 7 enthält Markierung "X" falls Zelle zuvor geä _
ndert wurde
cell_wert = Cells(i, 2)
cell_historie = name_temp + Chr(13) + Cells(i, 1) + ": " + cell_wert
If cell_temp = "X" Then      'Abfrage, ob Änderung stattgefunden hat
intCounter = intCounter + 1
If intCounter = 1 Then
cell_historie = cell_historie & Chr(13) & sheet_name
name_temp = cell_historie
ElseIf intCounter  1 Then
name_temp = cell_historie
End If
End If
Cells(i, 7).Clear           'Markierung "X" für Änderungen werden gelöscht
Next i
intCounter = 0
Next x
Call Email_senden(filename) 'In Email wird nampe_temp verwendet
Else
Exit Sub
End If
End Sub
Ziel ist, dass mir in der Variable "name_temp" nacheinander die Namen der sheets (sheet_name) mit den geänderten Zellen aufgelistet werden. Ich habe es, wie im Code zu sehen ist, mit einem Counter versucht. Dass mir nur bei der ersten geändertetn Zelle der Sheet_name vorangestellt wird und dann wenn der Counter >1 ist, nicht mehr. Die Richtung stimmt, jedoch steht vor dem sheet_name noch die erste geänderte Zelle des jeweiligen sheets.

Anzeige
AW: String-Variable wird falsch befüllt
08.09.2014 15:32:44
Ewald
Hallo,
teste mal so
 name_temp = name_temp & cell_historie
das Elseif kannst du dir sparen.
Gruß Ewald

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige