में मैक्रो सक्षम एक्सेल कार्यपुस्तिका है जिसमें कई नामित वर्कशीट हैं। वर्कशीट्स में से एक को "पैनल" नाम दिया गया है और दूसरी वर्कशीट को "डेटा" नाम दिया गया है। "पैनल" नामक शीट में एक बटन है जिसमें एक मैक्रो असाइन किया जाता है। मैं "पैनल" नामक वर्कशीट पर बटन का चयन करना चाहता हूं और फ़ाइल विंडो के लिए ब्राउज़ करना चाहता हूं। एक बार जब उपयोगकर्ता अपनी हार्ड ड्राइव पर सीएसवी फ़ाइल का चयन करता है, तो मैं सीएसवी फ़ाइल की सामग्री को सेल ए 1 में शुरू होने वाले "डेटा" नामक वर्कशीट में आयात करना चाहता हूं।मैक्रो आयात करने के लिए एक एक्सेल गैर सक्रिय वर्कशीट
समस्या 1: बटन को असाइन किया गया वीबीए सीएसवी फ़ाइल की सामग्री को उसी वर्कशीट पर बटन ("पैनल" वर्कशीट) के रूप में रखा जाता है। मैं "डेटा" शीट पर सीएसवी फ़ाइल की सामग्री को रखना चाहता हूं।
समस्या 2: इसके अलावा, मेरे हार्ड ड्राइव और "capture.csv" नामक फ़ाइल को संदर्भित करने वाली कोड की एक स्ट्रिंग है। तो जब मैक्रो सक्षम एक्सेल फ़ाइल किसी अन्य कंप्यूटर पर है, तो फ़ाइल क्रैश हो जाती है। पथ स्ट्रिंग को हटाने का कोई भी तरीका इसलिए कोई कंप्यूटर फ़ाइल का उपयोग कर सकता है?
इस मुद्दे को ठीक करने के लिए कोई भी सहायता की सराहना की जाएगी। बटन को सौंपा गया मैक्रो निम्नानुसार है:
Sub load_csv()
Dim fStr As String
With Application.FileDialog(msoFileDialogFilePicker)
.Show
If .SelectedItems.Count = 0 Then
MsgBox "Cancel Selected"
End
End If
'fStr is the file path and name of the file you selected.
fStr = .SelectedItems(1)
End With
Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\laptop\Desktop\CAPTURE.csv", Destination:=Range("$A$1"))
.Name = "CAPTURE"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
MsgBox fStr
End With
End Sub
मैं वास्तव में क्या कहने जा रहा था। यह – Rick
काम करना चाहिए मेरी मदद करने के लिए समय निकालने के लिए धन्यवाद। मैंने आपके द्वारा लिखे गए कोड को बटन सौंपा। जब मैं csv फ़ाइल लोड करता हूं, तो एक संदेश विंडो प्रकट होती है: "रन-टाइम त्रुटि '-2147024809 (80070057) गंतव्य श्रेणी उसी वर्कशीट पर नहीं है जिस पर क्वेरी तालिका बनाई जा रही है।" – George
बदलें 'गंतव्य: = रेंज ("$ ए $ 1")) 'गंतव्य तक: = यह वर्कबुक। शीट्स (" डेटा ")। रेंज (" $ ए $ 1 ")) –