Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Angeben welches Blatt

Betrifft: Angeben welches Blatt von: Stefan Glander
Geschrieben am: 08.11.2014 09:56:26

Moin moin Forum,

ich habe ein Code von Alfons Seeberger gefunden.
Damit werden Daten eines Tabellenblattes in eine Datei geschrieben.
Zur Zeit funktioniert das aber nur mit dem aktuellen Tabellenblatt.
Wie muss ich den Code anpassen damit ich bestimmen kann welches Tabellenblatt für die Datenauswahl genommen wird?

Sub Export()
Dim Datei As String, Text As String
Dim Zeile As Long
Dim zeigen

On Error GoTo Hell

'Zieldatei festlegen
Datei = ThisWorkbook.Path & "\test.xml"

Open Datei For Output As #1 'Zieldatei öffnen

'reinschreiben



'mit Schleife die ersten 5 Zeilen der Tabelle reinschreiben
'Spalte A = Blz, Spalte B = Institut
For Zeile = 1 To 200
  If Cells(Zeile, 4) <> "" Then
  Print #1, Cells(Zeile, 2), Cells(Zeile, 4), Cells(Zeile, 5)
End If
Next Zeile


Close #1    'Zieldatei schließen

zeigen = Shell(Environ("windir") & "\notepad.exe " & Datei, 1)

Exit Sub

Hell:
Close #1
    MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
    & "Beschreibung: " & Err.Description _
    , vbCritical, "Fehler"
End Sub

  

Betrifft: Referenzierung! von: RPP63
Geschrieben am: 08.11.2014 11:30:47

Hallo!
Du musst korrekt referenzieren:

For Zeile = 1 To 200
 With Worksheets("DeineTabelle")
  If .Cells(Zeile, 4) <> "" Then
  Print #1, .Cells(Zeile, 2), .Cells(Zeile, 4), .Cells(Zeile, 5)
 End With
End If

(beachte die Punkte vor Cells)

Gruß, Ralf


  

Betrifft: AW: Referenzierung! von: Stefan Glander
Geschrieben am: 08.11.2014 12:12:46

Hallo Ralf,
danke für Deine Hilfe.
Nachdem ich den code geändert habe bekomme ich nun aber folgende Fehlermeldung:

Fehler beim Kompilieren:
End With ohne With

Sub Export()
Dim Datei As String, Text As String
Dim Zeile As Long
Dim zeigen

On Error GoTo Hell

'Zieldatei festlegen
Datei = ThisWorkbook.Path & "\test.xml"

Open Datei For Output As #1 'Zieldatei öffnen

'reinschreiben



'mit Schleife die ersten 5 Zeilen der Tabelle reinschreiben
'Spalte A = Blz, Spalte B = Institut
For Zeile = 1 To 200
 With Worksheets("Daten")
  If .Cells(Zeile, 4) <> "" Then
  Print #1, .Cells(Zeile, 2), .Cells(Zeile, 4), .Cells(Zeile, 5)
 End With
End If
Next Zeile


Close #1    'Zieldatei schließen

zeigen = Shell(Environ("windir") & "\notepad.exe " & Datei, 1)

Exit Sub

Hell:
Close #1
    MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
    & "Beschreibung: " & Err.Description _
    , vbCritical, "Fehler"
End Sub
Was hab ich nun wieder verbasselt ?

Gruß Stefan


  

Betrifft: AW: Referenzierung! von: Crazy Tom
Geschrieben am: 08.11.2014 12:17:19

Hallo Stefan

hier musst du End With und End If vertauschen

 With Worksheets("Daten")
  If .Cells(Zeile, 4) <> "" Then
  Print #1, .Cells(Zeile, 2), .Cells(Zeile, 4), .Cells(Zeile, 5)
 End If
End With



  

Betrifft: Ich werde alt ... von: RPP63
Geschrieben am: 08.11.2014 12:18:21

Hi!
Na klar, Flüchtigkeitskuddelmuddel ...
Mach mal:

For Zeile = 1 To 200
 With Worksheets("DeineTabelle")
  If .Cells(Zeile, 4) <> "" Then
   Print #1, .Cells(Zeile, 2), .Cells(Zeile, 4), .Cells(Zeile, 5)
  End If
 End With
Next Zeile

Gruß, Ralf


  

Betrifft: AW: DAnke Euch beiden! von: Stefan Glander
Geschrieben am: 08.11.2014 12:30:15

Super, nun haut es hin.

Lieben Gruß

Stefan


  

Betrifft: Nachbrenner von: Stefan Glander
Geschrieben am: 08.11.2014 13:29:29

Mahlzeit Euch,
hoffe das den Beitrag noch jemand sieht, war ja eigentlich schon erledigt.
Für meine Unterlagen, schreibe mir das alles auf, noch eine Frage:
Wie muss der Code geändert werden damit das Blatt in das geschrieben werden soll aus einer TextBox ausgelesen wird.
Im Moment bekomme ich leider einen Syntax-Fehler

For Zeile = 1 To 200
With Worksheets ."TextBox1.Text"
If .Cells(Zeile, 4) <> "" Then
Print #1, .Cells(Zeile, 2), .Cells(Zeile, 4), .Cells(Zeile, 5)
End If
End With
Next Zeile

Gruß
Stefan


  

Betrifft: AW: Nachbrenner von: Daniel
Geschrieben am: 08.11.2014 13:36:45

Hi

With Worksheets(TextBox1.Text)

Gruß Daniel


  

Betrifft: AW: Danke o.T von: Stefan Glander
Geschrieben am: 08.11.2014 13:57:03

.